|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractSet<Range<T>>
org.geotools.util.RangeSet<T>
T
- The type of range elements.public class RangeSet<T extends java.lang.Comparable<? super T>>
An ordered set of ranges. RangeSet
objects store an arbitrary number of
ranges in any Java's primitives (int
, float
,
etc.) or any comparable objects. Ranges may be added in any order.
When a range is added, RangeSet
first looks for an existing range overlapping the
specified range. If an overlapping range is found, ranges are merged as of Range.union(org.geotools.util.Range>)
.
Consequently, ranges returned by iterator()
may not be the same than added ranges.
All entries in this set can be seen as Range
objects.
This class is not thread-safe.
Constructor Summary | |
---|---|
RangeSet(java.lang.Class<T> type)
Constructs an empty set of range. |
Method Summary | ||
---|---|---|
boolean |
add(byte lower,
byte upper)
Add a range of values to this set. |
|
|
add(java.lang.Comparable<? super N> min,
java.lang.Comparable<? super N> max)
Adds a range of values to this set. |
|
boolean |
add(double lower,
double upper)
Add a range of values to this set. |
|
boolean |
add(float lower,
float upper)
Add a range of values to this set. |
|
boolean |
add(int lower,
int upper)
Add a range of values to this set. |
|
boolean |
add(long lower,
long upper)
Add a range of values to this set. |
|
boolean |
add(Range<T> range)
Add a range to this set. |
|
boolean |
add(short lower,
short upper)
Add a range of values to this set. |
|
void |
clear()
Remove all elements from this set of ranges. |
|
RangeSet |
clone()
Returns a clone of this range set. |
|
java.util.Comparator<Range<T>> |
comparator()
Returns the comparator associated with this sorted set. |
|
boolean |
contains(java.lang.Object object)
Returns true if this set contains the specified element. |
|
boolean |
equals(java.lang.Object object)
Compares the specified object with this set of ranges for equality. |
|
Range<T> |
first()
Returns the first (lowest) range currently in this sorted set. |
|
double |
getMaxValueAsDouble(int index)
Returns a range's maximum value as a double . |
|
double |
getMinValueAsDouble(int index)
Returns a range's minimum value as a double . |
|
int |
hashCode()
Returns a hash value for this set of ranges. |
|
java.util.SortedSet<Range<T>> |
headSet(Range<T> upper)
Returns a view of the portion of this sorted set whose elements are strictly less than upper . |
|
int |
indexOfRange(java.lang.Comparable value)
If the specified value is inside a range, returns the index of this range. |
|
java.util.Iterator<Range<T>> |
iterator()
Returns an iterator over the elements in this set of ranges. |
|
Range<T> |
last()
Returns the last (highest) range currently in this sorted set. |
|
boolean |
remove(byte lower,
byte upper)
Remove a range of values from this set. |
|
|
remove(java.lang.Comparable<? super N> min,
java.lang.Comparable<? super N> max)
Remove a range of values from this set. |
|
boolean |
remove(double lower,
double upper)
Remove a range of values from this set. |
|
boolean |
remove(float lower,
float upper)
Remove a range of values from this set. |
|
boolean |
remove(int lower,
int upper)
Remove a range of values from this set. |
|
boolean |
remove(long lower,
long upper)
Remove a range of values from this set. |
|
boolean |
remove(short lower,
short upper)
Remove a range of values from this set. |
|
int |
size()
Returns the number of ranges in this set. |
|
java.util.SortedSet<Range<T>> |
subSet(Range<T> lower,
Range<T> upper)
Returns a view of the portion of this sorted set whose elements range from lower , inclusive, to upper , exclusive. |
|
java.util.SortedSet<Range<T>> |
tailSet(Range<T> lower)
Returns a view of the portion of this sorted set whose elements are greater than or equal to lower . |
|
java.lang.String |
toString()
Returns a string representation of this set of ranges. |
Methods inherited from class java.util.AbstractSet |
---|
removeAll |
Methods inherited from class java.util.AbstractCollection |
---|
addAll, containsAll, isEmpty, remove, retainAll, toArray, toArray |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Set |
---|
addAll, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray |
Constructor Detail |
---|
public RangeSet(java.lang.Class<T> type) throws java.lang.IllegalArgumentException
type
- The class of the range elements. It must be a primitive
type or a class implementing Comparable
.
java.lang.IllegalArgumentException
- if type
is not a
primitive type or a class implementing Comparable
.Method Detail |
---|
public java.util.Comparator<Range<T>> comparator()
comparator
in interface java.util.SortedSet<Range<T extends java.lang.Comparable<? super T>>>
public void clear()
clear
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
clear
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
clear
in class java.util.AbstractCollection<Range<T extends java.lang.Comparable<? super T>>>
public int size()
size
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
size
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
size
in class java.util.AbstractCollection<Range<T extends java.lang.Comparable<? super T>>>
public boolean add(Range<T> range)
Range.union(org.geotools.util.Range>)
.
Note: current version do not support open interval (i.e. Range.is[Min/Max]Included()
must return true
).
add
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
add
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
add
in class java.util.AbstractCollection<Range<T extends java.lang.Comparable<? super T>>>
range
- The range to add.
true
if this set changed as a result of the call.public <N> boolean add(java.lang.Comparable<? super N> min, java.lang.Comparable<? super N> max) throws java.lang.IllegalArgumentException
min
- The lower value, inclusive.max
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean add(byte lower, byte upper) throws java.lang.IllegalArgumentException
lower
- The lower value, inclusive.upper
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean add(short lower, short upper) throws java.lang.IllegalArgumentException
lower
- The lower value, inclusive.upper
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean add(int lower, int upper) throws java.lang.IllegalArgumentException
lower
- The lower value, inclusive.upper
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean add(long lower, long upper) throws java.lang.IllegalArgumentException
lower
- The lower value, inclusive.upper
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean add(float lower, float upper) throws java.lang.IllegalArgumentException
lower
- The lower value, inclusive.upper
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean add(double lower, double upper) throws java.lang.IllegalArgumentException
lower
- The lower value, inclusive.upper
- The upper value, inclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public <N> boolean remove(java.lang.Comparable<? super N> min, java.lang.Comparable<? super N> max) throws java.lang.IllegalArgumentException
min
- The lower value to remove, exclusive.max
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean remove(byte lower, byte upper) throws java.lang.IllegalArgumentException
lower
- The lower value to remove, exclusive.upper
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean remove(short lower, short upper) throws java.lang.IllegalArgumentException
lower
- The lower value to remove, exclusive.upper
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean remove(int lower, int upper) throws java.lang.IllegalArgumentException
lower
- The lower value to remove, exclusive.upper
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean remove(long lower, long upper) throws java.lang.IllegalArgumentException
lower
- The lower value to remove, exclusive.upper
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean remove(float lower, float upper) throws java.lang.IllegalArgumentException
lower
- The lower value to remove, exclusive.upper
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public boolean remove(double lower, double upper) throws java.lang.IllegalArgumentException
lower
- The lower value to remove, exclusive.upper
- The upper value to remove, exclusive.
true
if this set changed as a result of the call.
java.lang.IllegalArgumentException
- if lower
is greater than upper
.public final double getMinValueAsDouble(int index) throws java.lang.IndexOutOfBoundsException, java.lang.ClassCastException
double
.
The index
can be any value from 0 inclusive to the set's size
exclusive. The returned values always increase with index
.
index
- The range index, from 0 inclusive to size
exclusive.
java.lang.IndexOutOfBoundsException
- if index
is out of bounds.
java.lang.ClassCastException
- if range elements are not convertible to numbers.public final double getMaxValueAsDouble(int index) throws java.lang.IndexOutOfBoundsException, java.lang.ClassCastException
double
.
The index
can be any value from 0 inclusive to the set's size
exclusive. The returned values always increase with index
.
index
- The range index, from 0 inclusive to size
exclusive.
java.lang.IndexOutOfBoundsException
- if index
is out of bounds.
java.lang.ClassCastException
- if range elements are not convertible to numbers.public int indexOfRange(java.lang.Comparable value)
-1
.
value
- The value to search.
public boolean contains(java.lang.Object object)
true
if this set contains the specified element.
contains
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
contains
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
contains
in class java.util.AbstractCollection<Range<T extends java.lang.Comparable<? super T>>>
object
- The object to compare to this set.
true
if the given object is equals to this set.public Range<T> first() throws java.util.NoSuchElementException
first
in interface java.util.SortedSet<Range<T extends java.lang.Comparable<? super T>>>
java.util.NoSuchElementException
- if the set is empty.public Range<T> last() throws java.util.NoSuchElementException
last
in interface java.util.SortedSet<Range<T extends java.lang.Comparable<? super T>>>
java.util.NoSuchElementException
- if the set is empty.public java.util.SortedSet<Range<T>> subSet(Range<T> lower, Range<T> upper)
lower
, inclusive, to upper
, exclusive.
subSet
in interface java.util.SortedSet<Range<T extends java.lang.Comparable<? super T>>>
lower
- Low endpoint (inclusive) of the sub set.upper
- High endpoint (exclusive) of the sub set.
public java.util.SortedSet<Range<T>> headSet(Range<T> upper)
upper
.
headSet
in interface java.util.SortedSet<Range<T extends java.lang.Comparable<? super T>>>
upper
- High endpoint (exclusive) of the headSet.
public java.util.SortedSet<Range<T>> tailSet(Range<T> lower)
lower
.
tailSet
in interface java.util.SortedSet<Range<T extends java.lang.Comparable<? super T>>>
lower
- Low endpoint (inclusive) of the tailSet.
public java.util.Iterator<Range<T>> iterator()
Range
objects.
iterator
in interface java.lang.Iterable<Range<T extends java.lang.Comparable<? super T>>>
iterator
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
iterator
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
iterator
in class java.util.AbstractCollection<Range<T extends java.lang.Comparable<? super T>>>
public int hashCode()
hashCode
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
hashCode
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
hashCode
in class java.util.AbstractSet<Range<T extends java.lang.Comparable<? super T>>>
public boolean equals(java.lang.Object object)
equals
in interface java.util.Collection<Range<T extends java.lang.Comparable<? super T>>>
equals
in interface java.util.Set<Range<T extends java.lang.Comparable<? super T>>>
equals
in class java.util.AbstractSet<Range<T extends java.lang.Comparable<? super T>>>
object
- The object to compare with this range.
true
if the given object is equals to this range.public RangeSet clone()
clone
in class java.lang.Object
public java.lang.String toString()
toString
in class java.util.AbstractCollection<Range<T extends java.lang.Comparable<? super T>>>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |