Package com.sleepycat.collections

## Class StoredCollections

- java.lang.Object
- - com.sleepycat.collections.StoredCollections

    public class StoredCollections
    extends java.lang.Object

Static methods operating on collections and maps.

This class consists exclusively of static methods that operate on or return stored collections and maps, jointly called containers. It contains methods for changing certain properties of a container. Because container properties are immutable, these methods always return a new container instance. This allows stored container instances to be used safely by multiple threads. Creating the new container instance is not expensive and creates only two new objects.

When a container is created with a particular property, all containers and iterators derived from that container will inherit the property. For example, if a read-uncommitted Map is created then calls to its subMap(), values(), entrySet(), and keySet() methods will create read-uncommitted containers also.

Method names beginning with "configured" create a new container with a specified `CursorConfig` from a given stored container. This allows configuring a container for read-committed isolation, read-uncommitted isolation, or any other property supported by `CursorConfig`. All operations performed with the resulting container will be performed with the specified cursor configuration.

### Method Summary

All Methods Static Methods Concrete Methods
`static <E> java.util.Collection<E>` `configuredCollection​(java.util.Collection<E> storedCollection, CursorConfig config)` Creates a configured collection from a given stored collection.
`static <E> java.util.List<E>` `configuredList​(java.util.List<E> storedList, CursorConfig config)` Creates a configured list from a given stored list.
`static <K,​V> java.util.Map<K,​V>` `configuredMap​(java.util.Map<K,​V> storedMap, CursorConfig config)` Creates a configured map from a given stored map.
`static <E> java.util.Set<E>` `configuredSet​(java.util.Set<E> storedSet, CursorConfig config)` Creates a configured set from a given stored set.
`static <K,​V> java.util.SortedMap<K,​V>` `configuredSortedMap​(java.util.SortedMap<K,​V> storedSortedMap, CursorConfig config)` Creates a configured sorted map from a given stored sorted map.
`static <E> java.util.SortedSet<E>` `configuredSortedSet​(java.util.SortedSet<E> storedSortedSet, CursorConfig config)` Creates a configured sorted set from a given stored sorted set.
`static <E> java.util.Iterator<E>` `iterator​(java.util.Iterator<E> iter)` Clones an iterator preserving its current position.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### configuredCollection

    public static <E> java.util.Collection<E> configuredCollection​(java.util.Collection<E> storedCollection,
                                                                   CursorConfig config)

Creates a configured collection from a given stored collection.

Type Parameters:
  `E` - the element class.
Parameters:
  `storedCollection` - the base collection.
  `config` - is the cursor configuration to be used for all operations performed via the new collection instance; null may be specified to use the default configuration.
Returns:
  the configured collection.
Throws:
  `java.lang.ClassCastException` - if the given container is not a StoredContainer.

#### configuredList

    public static <E> java.util.List<E> configuredList​(java.util.List<E> storedList,
                                                       CursorConfig config)

Creates a configured list from a given stored list.

Note that this method may not be called in the JE product, since the StoredList class is not supported.

Type Parameters:
  `E` - the element class.
Parameters:
  `storedList` - the base list.
  `config` - is the cursor configuration to be used for all operations performed via the new list instance; null may be specified to use the default configuration.
Returns:
  the configured list.
Throws:
  `java.lang.ClassCastException` - if the given container is not a StoredContainer.

#### configuredMap

    public static <K,​V> java.util.Map<K,​V> configuredMap​(java.util.Map<K,​V> storedMap,
                                                                     CursorConfig config)

Creates a configured map from a given stored map.

Type Parameters:
  `K` - the key class.
  `V` - the value class.
Parameters:
  `storedMap` - the base map.
  `config` - is the cursor configuration to be used for all operations performed via the new map instance; null may be specified to use the default configuration.
Returns:
  the configured map.
Throws:
  `java.lang.ClassCastException` - if the given container is not a StoredContainer.

#### configuredSet

    public static <E> java.util.Set<E> configuredSet​(java.util.Set<E> storedSet,
                                                     CursorConfig config)

Creates a configured set from a given stored set.

Type Parameters:
  `E` - the element class.
Parameters:
  `storedSet` - the base set.
  `config` - is the cursor configuration to be used for all operations performed via the new set instance; null may be specified to use the default configuration.
Returns:
  the configured set.
Throws:
  `java.lang.ClassCastException` - if the given container is not a StoredContainer.

#### configuredSortedMap

    public static <K,​V> java.util.SortedMap<K,​V> configuredSortedMap​(java.util.SortedMap<K,​V> storedSortedMap,
                                                                                 CursorConfig config)

Creates a configured sorted map from a given stored sorted map.

Type Parameters:
  `K` - the key class.
  `V` - the value class.
Parameters:
  `storedSortedMap` - the base map.
  `config` - is the cursor configuration to be used for all operations performed via the new map instance; null may be specified to use the default configuration.
Returns:
  the configured map.
Throws:
  `java.lang.ClassCastException` - if the given container is not a StoredContainer.

#### configuredSortedSet

    public static <E> java.util.SortedSet<E> configuredSortedSet​(java.util.SortedSet<E> storedSortedSet,
                                                                 CursorConfig config)

Creates a configured sorted set from a given stored sorted set.

Type Parameters:
  `E` - the element class.
Parameters:
  `storedSortedSet` - the base set.
  `config` - is the cursor configuration to be used for all operations performed via the new set instance; null may be specified to use the default configuration.
Returns:
  the configured set.
Throws:
  `java.lang.ClassCastException` - if the given container is not a StoredContainer.

#### iterator

    public static <E> java.util.Iterator<E> iterator​(java.util.Iterator<E> iter)

Clones an iterator preserving its current position.

Type Parameters:
  `E` - the element class.
Parameters:
  `iter` - an iterator to clone.
Returns:
  a new `Iterator` having the same position as the given iterator.
Throws:
  `java.lang.ClassCastException` - if the given iterator was not obtained via a `StoredCollection` method.