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) |
abstract int |
hashCode() |
(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(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)
@CheckForNull abstract C leastValueAbove(DiscreteDomain<C> domain)
@CheckForNull abstract C greatestValueBelow(DiscreteDomain<C> domain)
Cut<C> canonical(DiscreteDomain<C> domain)
C endpoint()
public boolean equals(@CheckForNull
java.lang.Object obj)
equals in class java.lang.Objectpublic abstract int hashCode()
hashCode in class java.lang.Objectstatic <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)