Package com.sleepycat.collections

## Class StoredValueSet<E>

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

- All Implemented Interfaces:
    `java.lang.Cloneable`, `java.lang.Iterable<E>`, `java.util.Collection<E>`, `java.util.Set<E>`
  Direct Known Subclasses:
    `StoredSortedValueSet`

      public class StoredValueSet<E>
      extends StoredCollection<E>
      implements java.util.Set<E>

  The Set returned by Map.values() and Map.duplicates(), 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.

- - ### Field Summary

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

      `DEFAULT_ITERATOR_BLOCK_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StoredValueSet​(Database database, EntityBinding<E> valueEntityBinding, boolean writeAllowed)` | Creates a value set entity view of a `Database`.
    `StoredValueSet​(Database database, EntryBinding<E> valueBinding, boolean writeAllowed)` | Creates a value set view of a `Database`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `add​(E entity)` | Adds the specified entity to this set if it is not already present (optional operation).
    `boolean` | `contains​(java.lang.Object value)` | Returns true if this set contains the specified element.
    `boolean` | `remove​(java.lang.Object value)` | Removes the specified value from this set if it is present (optional operation).

    - ### 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.Collection

      `parallelStream, removeIf, stream, toArray`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

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

      `addAll, clear, containsAll, equals, hashCode, isEmpty, iterator, removeAll, retainAll, size, spliterator, toArray, toArray`

- - ### Constructor Detail

    - #### StoredValueSet

          public StoredValueSet​(Database database,
                                EntryBinding<E> valueBinding,
                                boolean writeAllowed)

      Creates a value set view of a `Database`.
      Parameters:
        `database` - is the Database underlying the new collection.
        `valueBinding` - is the binding used to translate between value buffers and 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).

    - #### StoredValueSet

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

      Creates a 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

    - #### add

          public boolean add​(E entity)

      Adds the specified entity to this set if it is not already present (optional operation). This method conforms to the `Set.add(E)` interface.
      Specified by:
        `add` in interface `java.util.Collection<E>`
      Specified by:
        `add` in interface `java.util.Set<E>`
      Parameters:
        `entity` - is the entity to be added.
      Returns:
        true if the entity was added, that is the key-value pair represented by the entity was not previously present in the collection.
      Throws:
        `java.lang.UnsupportedOperationException` - if the collection is read-only, if the collection is indexed, or if an entity binding is not used.
        `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C Edition).

    - #### contains

          public boolean contains​(java.lang.Object value)

      Returns true if this set contains the specified element. This method conforms to the `Set.contains(java.lang.Object)` interface.
      Specified by:
        `contains` in interface `java.util.Collection<E>`
      Specified by:
        `contains` in interface `java.util.Set<E>`
      Parameters:
        `value` - the value to check.
      Returns:
        whether the set contains the given value.
      Throws:
        `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C Edition).

    - #### remove

          public boolean remove​(java.lang.Object value)

      Removes the specified value from this set if it is present (optional operation). If an entity binding is used, the key-value pair represented by the given entity is removed. If an entity binding is used, the first occurrence of a key-value pair with the given value is removed. This method conforms to the `Set.remove(java.lang.Object)` interface.
      Specified by:
        `remove` in interface `java.util.Collection<E>`
      Specified by:
        `remove` in interface `java.util.Set<E>`
      Throws:
        `java.lang.UnsupportedOperationException` - if the collection is read-only.
        `RuntimeExceptionWrapper` - if a checked exception is thrown, including a `DatabaseException` on BDB (C Edition).

Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.