Class Endpoint<C extends Comparable>
java.lang.Object
de.xima.fc.utils.range.Endpoint<C>
- Type Parameters:
C- Type of the items of the ranges.
- All Implemented Interfaces:
EndpointAccessor<Void,C>, EndpointDescriptor, EndpointType, Serializable, Comparable<Endpoint<C>>
public class Endpoint<C extends Comparable>
extends Object
implements EndpointDescriptor, EndpointAccessor<Void,C>, Comparable<Endpoint<C>>, Serializable
POJO class describing an end point of a range, either a lower or upper end point. Contains the point and its meta
data.
- Since:
- 6.5.0
- Author:
- XIMA MEDIA GmbH
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.google.common.collect.BoundTypestatic final Comparator<Endpoint<Comparable>> Canonical comparator for two end points.protected final EndpointDirectionstatic final Endpoint<?> Immutable singleton instance of the end point representing negative infinity.protected final Cstatic final Endpoint<?> Immutable singleton instance of the end point representing positive infinity. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEndpoint(C point, com.google.common.collect.BoundType boundType, EndpointDirection direction) protected <T>Endpoint(T item, EndpointAccessor<T, C> endpoint) -
Method Summary
Modifier and TypeMethodDescriptionstatic <C extends Comparable>
Endpoint<C> closed(C point, EndpointDirection direction) static <C extends Comparable>
intintstatic <C extends Comparable>
Comparator<Endpoint<C>> static <C extends Comparable>
Comparator<Endpoint<C>> createComparator(EndpointTypeComparator comparator) booleanstatic <C extends Comparable>
Endpoint<C> finite(C point, com.google.common.collect.BoundType boundType, EndpointDirection direction) com.google.common.collect.BoundTypecom.google.common.collect.BoundTypegetBoundType(Void item) getDirection(Void item) getPoint()booleanhasBound()booleaninthashCode()static <C extends Comparable>
Endpoint<C> infinite(EndpointDirection direction) static <C extends Comparable>
Endpoint<C> lower(C point, com.google.common.collect.BoundType boundType) static <C extends Comparable>
Endpoint<C> lowerClosed(C point) static <C extends Comparable>
Endpoint<C> lowerOpen(C point) static <C extends Comparable>
Endpoint<C> static <C extends Comparable>
Endpoint<C> of(C point, EndpointDescriptor descriptor) static <T, C extends Comparable>
Endpoint<C> of(T item, EndpointAccessor<T, C> accessor) static <C extends Comparable>
Endpoint<C> open(C point, EndpointDirection direction) static <C extends Comparable>
Endpoint<C> toString()static <C extends Comparable>
Endpoint<C> upper(C point, com.google.common.collect.BoundType boundType) static <C extends Comparable>
Endpoint<C> upperClosed(C point) static <C extends Comparable>
Endpoint<C> upperOpen(C point) Methods inherited from interface EndpointAccessor
compareByEndpoint, compareByEndpoint, createByEndpointComparator, createByEndpointComparator, mapping, toDescriptor, toEndpointMethods inherited from interface EndpointDescriptor
isLowerPoint, isUpperPoint, toAcessor, toEndpoint
-
Field Details
-
CANONICAL_COMPARATOR
Canonical comparator for two end points. -
NEGATIVE_INFINITY
Immutable singleton instance of the end point representing negative infinity. -
POSITIVE_INFINITY
Immutable singleton instance of the end point representing positive infinity. -
boundType
protected final com.google.common.collect.BoundType boundType -
direction
-
point
-
-
Constructor Details
-
Endpoint
protected Endpoint(C point, com.google.common.collect.BoundType boundType, EndpointDirection direction) -
Endpoint
-
-
Method Details
-
compareTo
- Specified by:
compareToin interfaceComparable<C extends Comparable>
-
equals
-
hashCode
-
getBoundType
public com.google.common.collect.BoundType getBoundType()- Specified by:
getBoundTypein interfaceEndpointDescriptor- Specified by:
getBoundTypein interfaceEndpointType- Returns:
- Whether the interval end is open or closed.
-
getBoundType
- Specified by:
getBoundTypein interfaceEndpointAccessor<Void, C extends Comparable>- Parameters:
item- An item with an endpoint to check.- Returns:
- Whether the endpoint describes by the given item is closed or open.
-
getDirection
- Specified by:
getDirectionin interfaceEndpointDescriptor- Specified by:
getDirectionin interfaceEndpointType- Returns:
- Whether the interval end is a lower or upper end.
-
getDirection
- Specified by:
getDirectionin interfaceEndpointAccessor<Void, C extends Comparable>- Parameters:
item- An item with an endpoint to check.- Returns:
- Whether the end point described by the given item is a lower or upper end point.
-
getPoint
- Returns:
- The point object hold by this end point.
- Throws:
IllegalStateException- WhenhasBound()returnsfalse.
-
getPoint
- Specified by:
getPointin interfaceEndpointAccessor<Void, C extends Comparable>- Parameters:
item- An item with an endpoint to process.- Returns:
- The endpoint described by the given item.
-
hasBound
public boolean hasBound()- Specified by:
hasBoundin interfaceEndpointDescriptor- Returns:
- Whether this end point has a bound with an associated point object, or is unbounded (negative or positive infinity).
-
hasBound
- Specified by:
hasBoundin interfaceEndpointAccessor<Void, C extends Comparable>- Parameters:
item- An item with an endpoint to check.- Returns:
- Whether the range defined by the item has a bound (or describes positive or negative infinity).
-
toString
-
closed
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.direction- Whether to create a lower or upper end point.- Returns:
- A closed end point for the given parameters.
-
compare
Compares first bygetPoint(), ifhasBound(), then by theEndpointType. Uses theEndpointTypeComparators.UNORDEREDfor comparing end point types.- Type Parameters:
C- Type of the end point object.- Parameters:
lhs- First end point to compare.rhs- Second end point to compare.- Returns:
- Result of the comparison.
-
createComparator
- Type Parameters:
C- Type of the end point object.- Returns:
- A comparator for end points. Compares first by
getPoint(), ifhasBound(), then by theEndpointType. Uses theEndpointTypeComparators.CANONICALfor comparing end point types.
-
createComparator
public static <C extends Comparable> Comparator<Endpoint<C>> createComparator(EndpointTypeComparator comparator) - Type Parameters:
C- Type of the end point object.- Parameters:
comparator- Comparator for comparing end point types.- Returns:
- A comparator for end points. Compares first by
getPoint(), ifhasBound(), then by the given end point comparator.
-
finite
public static <C extends Comparable> Endpoint<C> finite(C point, com.google.common.collect.BoundType boundType, EndpointDirection direction) - Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.boundType- Whether to create an open or closed end point.direction- Whether to create a lower or upper end point.- Returns:
- A finite end point for the given parameters.
-
infinite
- Type Parameters:
C- Type of the end point object.- Parameters:
direction- Whether to create a lower or upper end point.- Returns:
- A infinite end point with the given parameters.
-
lower
public static <C extends Comparable> Endpoint<C> lower(C point, com.google.common.collect.BoundType boundType) - Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.boundType- Whether to create an open or closed end point.- Returns:
- A lower end point for the given parameters.
-
lowerClosed
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.- Returns:
- A lower closed end point for the given parameters.
-
lowerOpen
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.- Returns:
- A lower open end point for the given parameters.
-
negativeInfinity
- Type Parameters:
C- Type of the end point object.- Returns:
- An end point describing positive infinity.
-
of
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.descriptor- Meta data about the end point to create-- Returns:
- An end point for the given parameters.
-
of
- Type Parameters:
T- Type of the objects holding an end point.C- Type of the end point object.- Parameters:
item- Object that holds an end point.accessor- Accessor for accessing the end point on the given object.- Returns:
- An end point for the given parameters.
-
open
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.direction- Whether to create a lower or upper end point.- Returns:
- An open end point for the given parameters.
-
positiveInfinity
- Type Parameters:
C- Type of the end point object.- Returns:
- An end point describing positive infinity.
-
upper
public static <C extends Comparable> Endpoint<C> upper(C point, com.google.common.collect.BoundType boundType) - Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.boundType- Whether to create an open or closed end poit.- Returns:
- An upper end point for the given parameters.
-
upperClosed
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.- Returns:
- An upper closed end point for the given parameters.
-
upperOpen
- Type Parameters:
C- Type of the end point object.- Parameters:
point- End point object.- Returns:
- An upper open end point for the given parameters.
-