Package ghidra.util.database

# Class DBCachedObjectStore.BoundedStuff<E,R>

java.lang.Object
ghidra.util.database.DBCachedObjectStore.BoundedStuff<E,R>

Type Parameters:
  `E` - the type of elements exposed by the view
  `R` - the type used to navigate the view's backing

Enclosing class:
  `DBCachedObjectStore<T extends DBAnnotatedObject>`

protected abstract class DBCachedObjectStore.BoundedStuff<E,R> extends Object
Abstractions for navigating within a given view

Generally, these are all methods that facilitate implementation of a `Collection` or `NavigableMap`. The idea is that the abstract methods are required to translate from various object types and to facilitate table access. This class then provides all the methods needed to navigate the table with respect to a desired element type. These types will be those typically exposed as collections by the `Map` interface: keys, values, and entries. The implementations of those collections can then call those methods as needed.

The methods are implemented in various groups and with a variety of parameters. The first group is the abstract methods. The next simply wraps the table's navigations methods to retrieve elements of the view. Many of these accept an optional range to limit the search or effect. This is to facilitate the implementation of sub-maps. The next are named after their counterparts in the navigable interfaces. In addition to the optional range, many of these take a direction. This is to facilitate the implementation of reversed collections. To best understand the methods, examine the callers-to tree and see the relevant documentation, probably in the Java Collections API.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `BoundedStuff()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<W> W[]`
  `toArray(DirectedIterator.Direction direction, KeySpan keySpan, W[] a, int size)`

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

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

- ## Constructor Details

  - ### BoundedStuff

    protected BoundedStuff()

- ## Method Details

  - ### toArray

    public <W> W[] toArray(DirectedIterator.Direction direction, KeySpan keySpan, W[] a, int size)