public class Range<T extends Comparable<? super T>> extends Object implements Serializable
null values on one or both ends.
This class is a method compatible replacement for the Range class
with the following differences:
Unbounded ranges (i.e. null minimal or maximal values) are considered
exclusive rather than inclusive, since an iteration over the values will never
reach the infinite bound. This interpretation brings some simplification in implementation
and usage (e.g. a loop over the values should not attempt to process the null
value).
subtract(org.geotools.util.Range<?>) returns an empty array if the whole range is subtracted.
NumberRange do that). This
class is weakly parameterized in order to allow this flexibility. If any constructor or method is
invoked with an argument value of illegal class, then an IllegalArgumentException is
thrown. The ClassCastException is thrown only in case of bug in the Range class
or subclasses implementation.Range,
Serialized Form| Constructor and Description |
|---|
Range(Class<T> elementClass,
T value)
Creates a new range bounded by a single inclusive value.
|
Range(Class<T> elementClass,
T minValue,
boolean isMinIncluded,
T maxValue,
boolean isMaxIncluded)
Creates a new range bounded by the given values.
|
Range(Class<T> elementClass,
T minValue,
T maxValue)
Creates a new range bounded by the given inclusive values.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(Comparable<?> value)
Returns
true if this range contains the given value. |
boolean |
contains(Range<?> range)
Returns
true if this range contains fully the given range. |
boolean |
equals(Object object)
Compares this range with the given object for equality.
|
Class<T> |
getElementClass()
Returns the class of elements in this range.
|
T |
getMaxValue()
Returns the maximal value, or
null if unbounded. |
T |
getMinValue()
Returns the minimal value, or
null if unbounded. |
int |
hashCode()
Returns a hash code value for this range.
|
Range<?> |
intersect(Range<?> range)
Returns the intersection between this range and the provided range.
|
boolean |
intersects(Range<?> range)
Returns
true if this range intersects the given range. |
boolean |
isEmpty()
Returns
true if this range is empty. |
boolean |
isMaxIncluded()
Indicates if
getMaxValue() is included in the range. |
boolean |
isMinIncluded()
Indicates if
getMinValue() is included in the range. |
Range<?>[] |
subtract(Range<?> range)
Returns the range of values that are in this range but not in the given range.
|
String |
toString()
Returns a string representation of this range.
|
Range<?> |
union(Range<?> range)
Returns the union of this range with the given range.
|
public Range(Class<T> elementClass, T value)
elementClass - The class of the range elements.value - The minimal and maximum value (inclusive), or null for an unbounded
range.public Range(Class<T> elementClass, T minValue, T maxValue)
elementClass - The class of the range elements.minValue - The minimal value (inclusive), or null if none.maxValue - The maximal value (inclusive), or null if none.public Range(Class<T> elementClass, T minValue, boolean isMinIncluded, T maxValue, boolean isMaxIncluded)
elementClass - The class of the range elements.minValue - The minimal value, or null if none.isMinIncluded - true if the minimal value is inclusive, or false if
exclusive.maxValue - The maximal value, or null if none.isMaxIncluded - true if the maximal value is inclusive, or false if
exclusive.public Class<T> getElementClass()
Comparable.Range.getElementClass()public T getMinValue()
null if unbounded. If isMinIncluded is true, then the value is considered included in the set. Otherwise it is considered excluded.Range.getMinValue()public boolean isMinIncluded()
getMinValue() is included in the range.true if the minimal value is inclusive.Range.isMinIncludedpublic T getMaxValue()
null if unbounded. If isMaxIncluded is true, then the value is considered included in the set. Otherwise it is considered excluded.Range.getMaxValue()public boolean isMaxIncluded()
getMaxValue() is included in the range.true if the maximal value is inclusive.Range.isMaxIncludedpublic boolean isEmpty()
true if this range is empty. A range is empty if the minimum value is smaller than the maximum value, or if they are
equals while at least one of them is exclusive.true if this range is empty.Range.isEmpty()public boolean contains(Comparable<?> value) throws IllegalArgumentException
true if this range contains the given value. A range never contains the
null value. This is consistent with the class javadoc stating that
null minimum or maximum values are
exclusive.value - The value to check for inclusion in this range.true if the given value is included in this range.IllegalArgumentException - is the given value can not be converted to a valid type
through widening conversion.public boolean contains(Range<?> range) throws IllegalArgumentException
true if this range contains fully the given range.range - The range to check for inclusion in this range.true if the given range is included in this range.IllegalArgumentException - is the given range can not be converted to a valid type
through widening conversion.public boolean intersects(Range<?> range) throws IllegalArgumentException
true if this range intersects the given range.range - The range to check for intersection with this range.true if the given range intersects this range.IllegalArgumentException - is the given range can not be converted to a valid type
through widening conversion.Range.intersects(javax.media.jai.util.Range)public Range<?> intersect(Range<?> range) throws IllegalArgumentException
range - The range to intersect.IllegalArgumentException - is the given range can not be converted to a valid type
through widening conversion.Range.intersect(javax.media.jai.util.Range)public Range<?>[] subtract(Range<?> range) throws IllegalArgumentException
range - The range to substract.IllegalArgumentException - is the given range can not be converted to a valid type
through widening conversion.Range.subtract(javax.media.jai.util.Range)public Range<?> union(Range<?> range) throws IllegalArgumentException
range - The range to add to this range.IllegalArgumentException - is the given range can not be converted to a valid type
through widening conversion.Range.union(javax.media.jai.util.Range)public boolean equals(Object object)
public int hashCode()
Copyright © 1996–2019 Geotools. All rights reserved.