Package ghidra.util.database

# Class DBCachedObjectStoreEntrySet<T extends DBAnnotatedObject>

java.lang.Object
ghidra.util.database.DBCachedObjectStoreEntrySet<T>

Type Parameters:
  `T` - the type of objects in the store

All Implemented Interfaces:
  `Iterable<Map.Entry<Long,T>>`, `Collection<Map.Entry<Long,T>>`, `NavigableSet<Map.Entry<Long,T>>`, `SequencedCollection<Map.Entry<Long,T>>`, `SequencedSet<Map.Entry<Long,T>>`, `Set<Map.Entry<Long,T>>`, `SortedSet<Map.Entry<Long,T>>`

Direct Known Subclasses:
  `DBCachedObjectStoreEntrySubSet`

public class DBCachedObjectStoreEntrySet<T extends DBAnnotatedObject> extends Object implements NavigableSet<Map.Entry<Long,T>>
This provides the implementation of `Map.entrySet()` for `DBCachedObjectStore.asMap()`

The store acts as a map from object id to object, thus an entry has a long key and object value.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final DirectedIterator.Direction`
  `direction`
  `protected final ErrorHandler`
  `errHandler`
  `protected final ReadWriteLock`
  `lock`
  `protected final DBCachedObjectStore<T>`
  `store`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBCachedObjectStoreEntrySet(DBCachedObjectStore<T> store, ErrorHandler errHandler, ReadWriteLock lock, DirectedIterator.Direction direction)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `add(Map.Entry<Long,T> o)`
  `boolean`
  `addAll(Collection<? extends Map.Entry<Long,T>> c)`
  `Map.Entry<Long,T>`
  `ceiling(Map.Entry<Long,T> e)`
  `void`
  `clear()`
  `Comparator<? super Map.Entry<Long,T>>`
  `comparator()`
  `boolean`
  `contains(Object o)`
  `boolean`
  `containsAll(Collection<?> c)`
  `Iterator<Map.Entry<Long,T>>`
  `descendingIterator()`
  `DBCachedObjectStoreEntrySet<T>`
  `descendingSet()`
  `Map.Entry<Long,T>`
  `first()`
  `Map.Entry<Long,T>`
  `floor(Map.Entry<Long,T> e)`
  `DBCachedObjectStoreEntrySubSet<T>`
  `headSet(Map.Entry<Long,T> toElement)`
  `DBCachedObjectStoreEntrySubSet<T>`
  `headSet(Map.Entry<Long,T> toElement, boolean inclusive)`
  `Map.Entry<Long,T>`
  `higher(Map.Entry<Long,T> e)`
  `boolean`
  `isEmpty()`
  `Iterator<Map.Entry<Long,T>>`
  `iterator()`
  `Map.Entry<Long,T>`
  `last()`
  `Map.Entry<Long,T>`
  `lower(Map.Entry<Long,T> e)`
  `Map.Entry<Long,T>`
  `pollFirst()`
  `Map.Entry<Long,T>`
  `pollLast()`
  `boolean`
  `remove(Object o)`
  `boolean`
  `removeAll(Collection<?> c)`
  `boolean`
  `retainAll(Collection<?> c)`
  `int`
  `size()`
  `DBCachedObjectStoreEntrySubSet<T>`
  `subSet(Map.Entry<Long,T> fromElement, boolean fromInclusive, Map.Entry<Long,T> toElement, boolean toInclusive)`
  `DBCachedObjectStoreEntrySubSet<T>`
  `subSet(Map.Entry<Long,T> fromElement, Map.Entry<Long,T> toElement)`
  `DBCachedObjectStoreEntrySubSet<T>`
  `tailSet(Map.Entry<Long,T> fromElement)`
  `DBCachedObjectStoreEntrySubSet<T>`
  `tailSet(Map.Entry<Long,T> fromElement, boolean inclusive)`
  `Object[]`
  `toArray()`
  `<U> U[]`
  `toArray(U[] a)`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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.NavigableSet

  `removeFirst, removeLast, reversed`

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

  `equals, hashCode`

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

  `addFirst, addLast, getFirst, getLast, spliterator`

- ## Field Details

  - ### store

    protected final DBCachedObjectStore<T extends DBAnnotatedObject> store

  - ### direction

    protected final DirectedIterator.Direction direction

  - ### lock

    protected final ReadWriteLock lock

  - ### errHandler

    protected final ErrorHandler errHandler

- ## Constructor Details

  - ### DBCachedObjectStoreEntrySet

    public DBCachedObjectStoreEntrySet(DBCachedObjectStore<T> store, ErrorHandler errHandler, ReadWriteLock lock, DirectedIterator.Direction direction)

- ## Method Details

  - ### size

    public int size()
    Specified by:
      `size` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `size` in interface `Set<T extends DBAnnotatedObject>`

  - ### isEmpty

    public boolean isEmpty()
    Specified by:
      `isEmpty` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `isEmpty` in interface `Set<T extends DBAnnotatedObject>`

  - ### contains

    public boolean contains(Object o)
    Specified by:
      `contains` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `contains` in interface `Set<T extends DBAnnotatedObject>`

  - ### iterator

    public Iterator<Map.Entry<Long,T>> iterator()
    Specified by:
      `iterator` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `iterator` in interface `Iterable<T extends DBAnnotatedObject>`
    Specified by:
      `iterator` in interface `NavigableSet<T extends DBAnnotatedObject>`
    Specified by:
      `iterator` in interface `Set<T extends DBAnnotatedObject>`

  - ### toArray

    public Object[] toArray()
    Specified by:
      `toArray` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `toArray` in interface `Set<T extends DBAnnotatedObject>`

  - ### toArray

    public <U> U[] toArray(U[] a)
    Specified by:
      `toArray` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `toArray` in interface `Set<T extends DBAnnotatedObject>`

  - ### add

    public boolean add(Map.Entry<Long,T> o)
    Specified by:
      `add` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `add` in interface `Set<T extends DBAnnotatedObject>`

  - ### remove

    public boolean remove(Object o)
    Specified by:
      `remove` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `remove` in interface `Set<T extends DBAnnotatedObject>`

  - ### containsAll

    public boolean containsAll(Collection<?> c)
    Specified by:
      `containsAll` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `containsAll` in interface `Set<T extends DBAnnotatedObject>`

  - ### addAll

    public boolean addAll(Collection<? extends Map.Entry<Long,T>> c)
    Specified by:
      `addAll` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `addAll` in interface `Set<T extends DBAnnotatedObject>`

  - ### retainAll

    public boolean retainAll(Collection<?> c)
    Specified by:
      `retainAll` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `retainAll` in interface `Set<T extends DBAnnotatedObject>`

  - ### removeAll

    public boolean removeAll(Collection<?> c)
    Specified by:
      `removeAll` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `removeAll` in interface `Set<T extends DBAnnotatedObject>`

  - ### clear

    public void clear()
    Specified by:
      `clear` in interface `Collection<T extends DBAnnotatedObject>`
    Specified by:
      `clear` in interface `Set<T extends DBAnnotatedObject>`

  - ### comparator

    public Comparator<? super Map.Entry<Long,T>> comparator()
    Specified by:
      `comparator` in interface `SortedSet<T extends DBAnnotatedObject>`

  - ### first

    public Map.Entry<Long,T> first()
    Specified by:
      `first` in interface `SortedSet<T extends DBAnnotatedObject>`

  - ### last

    public Map.Entry<Long,T> last()
    Specified by:
      `last` in interface `SortedSet<T extends DBAnnotatedObject>`

  - ### lower

    public Map.Entry<Long,T> lower(Map.Entry<Long,T> e)
    Specified by:
      `lower` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### floor

    public Map.Entry<Long,T> floor(Map.Entry<Long,T> e)
    Specified by:
      `floor` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### ceiling

    public Map.Entry<Long,T> ceiling(Map.Entry<Long,T> e)
    Specified by:
      `ceiling` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### higher

    public Map.Entry<Long,T> higher(Map.Entry<Long,T> e)
    Specified by:
      `higher` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### pollFirst

    public Map.Entry<Long,T> pollFirst()
    Specified by:
      `pollFirst` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### pollLast

    public Map.Entry<Long,T> pollLast()
    Specified by:
      `pollLast` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### descendingSet

    public DBCachedObjectStoreEntrySet<T> descendingSet()
    Specified by:
      `descendingSet` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### descendingIterator

    public Iterator<Map.Entry<Long,T>> descendingIterator()
    Specified by:
      `descendingIterator` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### subSet

    public DBCachedObjectStoreEntrySubSet<T> subSet(Map.Entry<Long,T> fromElement, boolean fromInclusive, Map.Entry<Long,T> toElement, boolean toInclusive)
    Specified by:
      `subSet` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### headSet

    public DBCachedObjectStoreEntrySubSet<T> headSet(Map.Entry<Long,T> toElement, boolean inclusive)
    Specified by:
      `headSet` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### tailSet

    public DBCachedObjectStoreEntrySubSet<T> tailSet(Map.Entry<Long,T> fromElement, boolean inclusive)
    Specified by:
      `tailSet` in interface `NavigableSet<T extends DBAnnotatedObject>`

  - ### subSet

    public DBCachedObjectStoreEntrySubSet<T> subSet(Map.Entry<Long,T> fromElement, Map.Entry<Long,T> toElement)
    Specified by:
      `subSet` in interface `NavigableSet<T extends DBAnnotatedObject>`
    Specified by:
      `subSet` in interface `SortedSet<T extends DBAnnotatedObject>`

  - ### headSet

    public DBCachedObjectStoreEntrySubSet<T> headSet(Map.Entry<Long,T> toElement)
    Specified by:
      `headSet` in interface `NavigableSet<T extends DBAnnotatedObject>`
    Specified by:
      `headSet` in interface `SortedSet<T extends DBAnnotatedObject>`

  - ### tailSet

    public DBCachedObjectStoreEntrySubSet<T> tailSet(Map.Entry<Long,T> fromElement)
    Specified by:
      `tailSet` in interface `NavigableSet<T extends DBAnnotatedObject>`
    Specified by:
      `tailSet` in interface `SortedSet<T extends DBAnnotatedObject>`