|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.google.common.collect.DiscreteDomain<C>
@GwtCompatible @Beta public abstract class DiscreteDomain<C extends Comparable>
A descriptor for a discrete Comparable domain such as all
Integers. 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."
DiscreteDomains| Constructor Summary | |
|---|---|
protected |
DiscreteDomain()
Constructor for use by subclasses. |
| Method Summary | |
|---|---|
abstract long |
distance(C start,
C end)
Returns a signed value indicating how many nested invocations of next(C) (if positive) or previous(C) (if negative) are needed to reach
end starting from start. |
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 C that is greater than
value, or null if none exists. |
abstract C |
previous(C value)
Returns the unique greatest value of type C that is less than
value, or null if none exists. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected DiscreteDomain()
| Method Detail |
|---|
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 C
value, 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 C
value, 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.MIN_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 null
NoSuchElementException - 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 null
NoSuchElementException - if the type has no (practical) maximum
value; for example, BigInteger
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||