@GwtCompatible @Beta public abstract class DiscreteDomain<C extends Comparable> extends Object
Comparable domain such as all
 Integer instances. A discrete domain is one that supports the three basic
 operations: next(C), previous(C) and distance(C, C), according
 to their specifications. The methods minValue() and maxValue()
 should also be overridden for bounded types.
 A discrete domain always represents the entire set of values of its type; it cannot represent partial domains such as "prime integers" or "strings of length 5."
See the Guava User Guide section on 
 DiscreteDomain.
| Modifier | Constructor and Description | 
|---|---|
| protected  | DiscreteDomain()Constructor for use by subclasses. | 
| Modifier and Type | Method and Description | 
|---|---|
| static DiscreteDomain<BigInteger> | bigIntegers()Returns the discrete domain for values of type  BigInteger. | 
| abstract long | distance(C start,
                C end)Returns a signed value indicating how many nested invocations of  next(C)(if positive) orprevious(C)(if negative) are needed to reachendstarting fromstart. | 
| static DiscreteDomain<Integer> | integers()Returns the discrete domain for values of type  Integer. | 
| static DiscreteDomain<Long> | longs()Returns the discrete domain for values of type  Long. | 
| C | maxValue()Returns the maximum value of type  C, if it has one. | 
| C | minValue()Returns the minimum value of type  C, if it has one. | 
| abstract C | next(C value)Returns the unique least value of type  Cthat is greater thanvalue, ornullif none exists. | 
| abstract C | previous(C value)Returns the unique greatest value of type  Cthat is less thanvalue, ornullif none exists. | 
protected DiscreteDomain()
public static DiscreteDomain<Integer> integers()
Integer.DiscreteDomains.integers())public static DiscreteDomain<Long> longs()
Long.DiscreteDomains.longs())public static DiscreteDomain<BigInteger> bigIntegers()
BigInteger.public abstract C next(C value)
C that is greater than
 value, or null if none exists. Inverse operation to previous(C).value - any value of type Cvalue, or null if
     value is maxValue()public abstract C previous(C value)
C that is less than
 value, or null if none exists. Inverse operation to next(C).value - any value of type Cvalue, or null if
     value is minValue()public abstract long distance(C start, C end)
next(C) (if positive) or previous(C) (if negative) are needed to reach
 end starting from start. For example, if end =
 next(next(next(start))), then distance(start, end) == 3 and distance(end, start) == -3. As well, distance(a, a) is always
 zero.
 Note that this function is necessarily well-defined for any discrete type.
Long.MIN_VALUE or
     Long.MAX_VALUE if the distance is too small or too large,
     respectively.public C minValue()
C, if it has one. The minimum
 value is the unique value for which Comparable.compareTo(Object)
 never returns a positive value for any input of type C.
 The default implementation throws NoSuchElementException.
C; never nullNoSuchElementException - if the type has no (practical) minimum
     value; for example, BigIntegerpublic C maxValue()
C, if it has one. The maximum
 value is the unique value for which Comparable.compareTo(Object)
 never returns a negative value for any input of type C.
 The default implementation throws NoSuchElementException.
C; never nullNoSuchElementException - if the type has no (practical) maximum
     value; for example, BigIntegerCopyright © 2010-2015. All Rights Reserved.