com.sleepycat.collections

## Class StoredSortedValueSet<E>

- java.lang.Object
- - com.sleepycat.collections.StoredContainer
  - - com.sleepycat.collections.StoredCollection<E>
    - - com.sleepycat.collections.StoredValueSet<E>
      - - com.sleepycat.collections.StoredSortedValueSet<E>

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>, java.util.SortedSet<E>

    public class StoredSortedValueSet<E>
    extends StoredValueSet<E>
    implements java.util.SortedSet<E>

The SortedSet returned by Map.values() and which can also be constructed directly if a Map is not needed. Although this collection is a set it may contain duplicate values. Only if an entity value binding is used are all elements guaranteed to be unique.

In addition to the standard SortedSet methods, this class provides the following methods for stored sorted value sets only. Note that the use of these methods is not compatible with the standard Java collections interface.

- `headSet(Object, boolean)`
- `tailSet(Object, boolean)`
- `subSet(Object, boolean, Object, boolean)`

### Field Summary

### Fields inherited from class com.sleepycat.collections.StoredCollection

`DEFAULT_ITERATOR_BLOCK_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`StoredSortedValueSet(Database database, EntityBinding<E> valueEntityBinding, boolean writeAllowed)` Creates a sorted value set entity view of a `Database`.

### Method Summary

Methods
`java.util.Comparator<? super E>` `comparator()` Returns null since comparators are not supported.
`E` `first()` Returns the first (lowest) element currently in this sorted set.
`java.util.SortedSet<E>` `headSet(E toValue)` Returns a view of the portion of this sorted set whose elements are strictly less than toValue.
`java.util.SortedSet<E>` `headSet(E toValue, boolean toInclusive)` Returns a view of the portion of this sorted set whose elements are strictly less than toValue, optionally including toValue.
`E` `last()` Returns the last (highest) element currently in this sorted set.
`java.util.SortedSet<E>` `subSet(E fromValue, boolean fromInclusive, E toValue, boolean toInclusive)` Returns a view of the portion of this sorted set whose elements are strictly greater than fromValue and strictly less than toValue, optionally including fromValue and toValue.
`java.util.SortedSet<E>` `subSet(E fromValue, E toValue)` Returns a view of the portion of this sorted set whose elements range from fromValue, inclusive, to toValue, exclusive.
`java.util.SortedSet<E>` `tailSet(E fromValue)` Returns a view of the portion of this sorted set whose elements are greater than or equal to fromValue.
`java.util.SortedSet<E>` `tailSet(E fromValue, boolean fromInclusive)` Returns a view of the portion of this sorted set whose elements are strictly greater than fromValue, optionally including fromValue.

### Methods inherited from class com.sleepycat.collections.StoredValueSet

`add, contains, remove`

### Methods inherited from class com.sleepycat.collections.StoredCollection

`addAll, containsAll, equals, getIteratorBlockSize, hashCode, iterator, iterator, join, removeAll, retainAll, setIteratorBlockSize, size, storedIterator, storedIterator, toArray, toArray, toList, toString`

### Methods inherited from class com.sleepycat.collections.StoredContainer

`areDuplicatesAllowed, areDuplicatesOrdered, areKeyRangesAllowed, areKeysRenumbered, clear, getCursorConfig, isEmpty, isOrdered, isSecondary, isTransactional, isWriteAllowed`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Set

`add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

### Constructor Detail

#### StoredSortedValueSet

    public StoredSortedValueSet(Database database,
                        EntityBinding<E> valueEntityBinding,
                        boolean writeAllowed)

Creates a sorted value set entity view of a `Database`.

Parameters:
  `database` - is the Database underlying the new collection.
  `valueEntityBinding` - is the binding used to translate between key/value buffers and entity value objects.
  `writeAllowed` - is true to create a read-write collection or false to create a read-only collection.
Throws:
  `java.lang.IllegalArgumentException` - if formats are not consistently defined or a parameter is invalid.
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

### Method Detail

#### comparator

    public java.util.Comparator<? super E> comparator()

Returns null since comparators are not supported. The natural ordering of a stored collection is data byte order, whether the data classes implement the `Comparable` interface or not. This method does not conform to the `SortedSet.comparator()` interface.

Specified by:
  `comparator` in interface `java.util.SortedSet<E>`
Returns:
  null.

#### first

    public E first()

Returns the first (lowest) element currently in this sorted set. This method conforms to the `SortedSet.first()` interface.

Specified by:
  `first` in interface `java.util.SortedSet<E>`
Returns:
  the first element.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### last

    public E last()

Returns the last (highest) element currently in this sorted set. This method conforms to the `SortedSet.last()` interface.

Specified by:
  `last` in interface `java.util.SortedSet<E>`
Returns:
  the last element.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### headSet

    public java.util.SortedSet<E> headSet(E toValue)

Returns a view of the portion of this sorted set whose elements are strictly less than toValue. This method conforms to the `SortedSet.headSet(E)` interface.

Note that the return value is a StoredCollection and must be treated as such; for example, its iterators must be explicitly closed.

Specified by:
  `headSet` in interface `java.util.SortedSet<E>`
Parameters:
  `toValue` - the upper bound.
Returns:
  the subset.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### headSet

    public java.util.SortedSet<E> headSet(E toValue,
                                 boolean toInclusive)

Returns a view of the portion of this sorted set whose elements are strictly less than toValue, optionally including toValue. This method does not exist in the standard `SortedSet` interface.

Note that the return value is a StoredCollection and must be treated as such; for example, its iterators must be explicitly closed.

Parameters:
  `toValue` - is the upper bound.
  `toInclusive` - is true to include toValue.
Returns:
  the subset.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### tailSet

    public java.util.SortedSet<E> tailSet(E fromValue)

Returns a view of the portion of this sorted set whose elements are greater than or equal to fromValue. This method conforms to the `SortedSet.tailSet(E)` interface.

Note that the return value is a StoredCollection and must be treated as such; for example, its iterators must be explicitly closed.

Specified by:
  `tailSet` in interface `java.util.SortedSet<E>`
Parameters:
  `fromValue` - is the lower bound.
Returns:
  the subset.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### tailSet

    public java.util.SortedSet<E> tailSet(E fromValue,
                                 boolean fromInclusive)

Returns a view of the portion of this sorted set whose elements are strictly greater than fromValue, optionally including fromValue. This method does not exist in the standard `SortedSet` interface.

Note that the return value is a StoredCollection and must be treated as such; for example, its iterators must be explicitly closed.

Parameters:
  `fromValue` - is the lower bound.
  `fromInclusive` - is true to include fromValue.
Returns:
  the subset.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### subSet

    public java.util.SortedSet<E> subSet(E fromValue,
                                E toValue)

Returns a view of the portion of this sorted set whose elements range from fromValue, inclusive, to toValue, exclusive. This method conforms to the `SortedSet.subSet(E, E)` interface.

Note that the return value is a StoredCollection and must be treated as such; for example, its iterators must be explicitly closed.

Specified by:
  `subSet` in interface `java.util.SortedSet<E>`
Parameters:
  `fromValue` - is the lower bound.
  `toValue` - is the upper bound.
Returns:
  the subset.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).

#### subSet

    public java.util.SortedSet<E> subSet(E fromValue,
                                boolean fromInclusive,
                                E toValue,
                                boolean toInclusive)

Returns a view of the portion of this sorted set whose elements are strictly greater than fromValue and strictly less than toValue, optionally including fromValue and toValue. This method does not exist in the standard `SortedSet` interface.

Note that the return value is a StoredCollection and must be treated as such; for example, its iterators must be explicitly closed.

Parameters:
  `fromValue` - is the lower bound.
  `fromInclusive` - is true to include fromValue.
  `toValue` - is the upper bound.
  `toInclusive` - is true to include toValue.
Returns:
  the subset.
Throws:
  `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C edition).