Package com.google.common.collect
Class Cut<C extends java.lang.Comparable>
- java.lang.Object
-
- com.google.common.collect.Cut<C>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Cut<C>>
- Direct Known Subclasses:
Cut.AboveAll
,Cut.AboveValue
,Cut.BelowAll
,Cut.BelowValue
abstract class Cut<C extends java.lang.Comparable> extends java.lang.Object implements java.lang.Comparable<Cut<C>>, java.io.Serializable
Implementation detail for the internal structure ofRange
instances. Represents a unique way of "cutting" a "number line" (actually of instances of typeC
, 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 ofCut
instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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>
-
Field Summary
Fields Modifier and Type Field Description (package private) C
endpoint
private static long
serialVersionUID
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) static <C extends java.lang.Comparable>
Cut<C>aboveAll()
(package private) static <C extends java.lang.Comparable>
Cut<C>aboveValue(C endpoint)
(package private) static <C extends java.lang.Comparable>
Cut<C>belowAll()
(package private) static <C extends java.lang.Comparable>
Cut<C>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)
-
-
-
Field Detail
-
endpoint
final C extends java.lang.Comparable endpoint
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Cut
Cut(C endpoint)
-
-
Method Detail
-
isLessThan
abstract boolean isLessThan(C value)
-
typeAsLowerBound
abstract BoundType typeAsLowerBound()
-
typeAsUpperBound
abstract BoundType typeAsUpperBound()
-
withLowerBoundType
abstract Cut<C> withLowerBoundType(BoundType boundType, DiscreteDomain<C> domain)
-
withUpperBoundType
abstract Cut<C> withUpperBoundType(BoundType boundType, DiscreteDomain<C> domain)
-
describeAsLowerBound
abstract void describeAsLowerBound(java.lang.StringBuilder sb)
-
describeAsUpperBound
abstract void describeAsUpperBound(java.lang.StringBuilder sb)
-
leastValueAbove
@CheckForNull abstract C leastValueAbove(DiscreteDomain<C> domain)
-
greatestValueBelow
@CheckForNull abstract C greatestValueBelow(DiscreteDomain<C> domain)
-
canonical
Cut<C> canonical(DiscreteDomain<C> domain)
-
compareTo
public int compareTo(Cut<C> that)
- Specified by:
compareTo
in interfacejava.lang.Comparable<C extends java.lang.Comparable>
-
endpoint
C endpoint()
-
equals
public boolean equals(@CheckForNull java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public abstract int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
belowAll
static <C extends java.lang.Comparable> Cut<C> belowAll()
-
aboveAll
static <C extends java.lang.Comparable> Cut<C> aboveAll()
-
belowValue
static <C extends java.lang.Comparable> Cut<C> belowValue(C endpoint)
-
aboveValue
static <C extends java.lang.Comparable> Cut<C> aboveValue(C endpoint)
-
-