@GwtCompatible abstract class Cut<C extends java.lang.Comparable> extends java.lang.Object implements java.lang.Comparable<Cut<C>>, java.io.Serializable
Range
instances. Represents
a unique way of "cutting" a "number line" (actually of instances of type C
, not
necessarily "numbers") into two sections; this can be done below a certain value, above
a certain value, below all values or above all values. With this object defined in this
way, an interval can always be represented by a pair of Cut
instances.Modifier and Type | Class and Description |
---|---|
private static class |
Cut.AboveAll |
private static class |
Cut.AboveValue<C extends java.lang.Comparable> |
private static class |
Cut.BelowAll |
private static class |
Cut.BelowValue<C extends java.lang.Comparable> |
Modifier and Type | Field and Description |
---|---|
(package private) C |
endpoint |
private static long |
serialVersionUID |
Modifier and Type | Method and Description |
---|---|
(package private) static <C extends java.lang.Comparable> |
aboveAll() |
(package private) static <C extends java.lang.Comparable> |
aboveValue(C endpoint) |
(package private) static <C extends java.lang.Comparable> |
belowAll() |
(package private) static <C extends java.lang.Comparable> |
belowValue(C endpoint) |
(package private) Cut<C> |
canonical(DiscreteDomain<C> domain) |
int |
compareTo(Cut<C> that) |
(package private) abstract void |
describeAsLowerBound(java.lang.StringBuilder sb) |
(package private) abstract void |
describeAsUpperBound(java.lang.StringBuilder sb) |
(package private) C |
endpoint() |
boolean |
equals(java.lang.Object obj) |
(package private) abstract C |
greatestValueBelow(DiscreteDomain<C> domain) |
(package private) abstract boolean |
isLessThan(C value) |
(package private) abstract C |
leastValueAbove(DiscreteDomain<C> domain) |
(package private) abstract BoundType |
typeAsLowerBound() |
(package private) abstract BoundType |
typeAsUpperBound() |
(package private) abstract Cut<C> |
withLowerBoundType(BoundType boundType,
DiscreteDomain<C> domain) |
(package private) abstract Cut<C> |
withUpperBoundType(BoundType boundType,
DiscreteDomain<C> domain) |
final C extends java.lang.Comparable endpoint
private static final long serialVersionUID
Cut(@Nullable C endpoint)
abstract boolean isLessThan(C value)
abstract BoundType typeAsLowerBound()
abstract BoundType typeAsUpperBound()
abstract Cut<C> withLowerBoundType(BoundType boundType, DiscreteDomain<C> domain)
abstract Cut<C> withUpperBoundType(BoundType boundType, DiscreteDomain<C> domain)
abstract void describeAsLowerBound(java.lang.StringBuilder sb)
abstract void describeAsUpperBound(java.lang.StringBuilder sb)
abstract C leastValueAbove(DiscreteDomain<C> domain)
abstract C greatestValueBelow(DiscreteDomain<C> domain)
Cut<C> canonical(DiscreteDomain<C> domain)
C endpoint()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
static <C extends java.lang.Comparable> Cut<C> belowAll()
static <C extends java.lang.Comparable> Cut<C> aboveAll()
static <C extends java.lang.Comparable> Cut<C> belowValue(C endpoint)
static <C extends java.lang.Comparable> Cut<C> aboveValue(C endpoint)