Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2010 The Guava Authors
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.google.common.collect;
 
 
Factories for common DiscreteDomain instances.

See the Guava User Guide section on DiscreteDomain.

Author(s):
Gregory Kick
Since:
10.0
 
 public final class DiscreteDomains {
   private DiscreteDomains() {}

  
Returns the discrete domain for values of type Integer.
 
   public static DiscreteDomain<Integerintegers() {
     return .;
   }
 
   private static final class IntegerDomain extends DiscreteDomain<Integer>
       implements Serializable {
     private static final IntegerDomain INSTANCE = new IntegerDomain();
 
     @Override public Integer next(Integer value) {
       int i = value;
       return (i == .) ? null : i + 1;
     }
 
     @Override public Integer previous(Integer value) {
       int i = value;
       return (i == .) ? null : i - 1;
     }
 
     @Override public long distance(Integer startInteger end) {
       return (longend - start;
     }
 
     @Override public Integer minValue() {
       return .;
     }
 
     @Override public Integer maxValue() {
       return .;
     }
 
     private Object readResolve() {
       return ;
     }
 
     private static final long serialVersionUID = 0;
   }

  
Returns the discrete domain for values of type Long.
 
   public static DiscreteDomain<Longlongs() {
     return .;
   }
 
   private static final class LongDomain extends DiscreteDomain<Long>
       implements Serializable {
     private static final LongDomain INSTANCE = new LongDomain();
 
     @Override public Long next(Long value) {
       long l = value;
       return (l == .) ? null : l + 1;
     }
 
     @Override public Long previous(Long value) {
       long l = value;
       return (l == .) ? null : l - 1;
     }
    @Override public long distance(Long startLong end) {
      long result = end - start;
      if (end > start && result < 0) { // overflow
        return .;
      }
      if (end < start && result > 0) { // underflow
        return .;
      }
      return result;
    }
    @Override public Long minValue() {
      return .;
    }
    @Override public Long maxValue() {
      return .;
    }
    private Object readResolve() {
      return ;
    }
    private static final long serialVersionUID = 0;
  }

  
Returns the discrete domain for values of type BigInteger.
  // TODO(kevinb): make sure it's tested, and make it public
    return .;
  }
  private static final class BigIntegerDomain extends DiscreteDomain<BigInteger>
      implements Serializable {
    private static final BigIntegerDomain INSTANCE = new BigIntegerDomain();
    private static final BigInteger MIN_LONG =
        BigInteger.valueOf(.);
    private static final BigInteger MAX_LONG =
        BigInteger.valueOf(.);
    @Override public BigInteger next(BigInteger value) {
      return value.add(.);
    }
    @Override public BigInteger previous(BigInteger value) {
      return value.subtract(.);
    }
    @Override public long distance(BigInteger startBigInteger end) {
      return start.subtract(end).max().min().longValue();
    }
    private Object readResolve() {
      return ;
    }
    private static final long serialVersionUID = 0;
  }
New to GrepCode? Check out our FAQ X