# Hierarchy For All Packages

Package Hierarchies:

- com.apple.foundationdb,
- com.apple.foundationdb.async,
- com.apple.foundationdb.directory,
- com.apple.foundationdb.subspace,
- com.apple.foundationdb.tuple

## Class Hierarchy

- java.lang.Object
  - com.apple.foundationdb.async.AsyncUtil
  - com.apple.foundationdb.tuple.ByteArrayUtil
  - com.apple.foundationdb.Cluster
  - com.apple.foundationdb.ClusterOptions
  - com.apple.foundationdb.DatabaseOptions
  - com.apple.foundationdb.directory.DirectoryLayer (implements com.apple.foundationdb.directory.Directory)
  - com.apple.foundationdb.FDB
  - com.apple.foundationdb.tuple.IterableComparator (implements java.util.Comparator<T>)
  - com.apple.foundationdb.JNIUtil
  - com.apple.foundationdb.KeyArrayResult
  - com.apple.foundationdb.KeySelector
  - com.apple.foundationdb.KeyValue
    - com.apple.foundationdb.MappedKeyValue
  - com.apple.foundationdb.LocalityUtil
  - com.apple.foundationdb.MapEventKeeper (implements com.apple.foundationdb.EventKeeper)
  - com.apple.foundationdb.NetworkOptions
  - com.apple.foundationdb.directory.PathUtil
  - com.apple.foundationdb.Range
  - com.apple.foundationdb.subspace.Subspace
    - com.apple.foundationdb.directory.DirectorySubspace (implements com.apple.foundationdb.directory.Directory)
  - com.apple.foundationdb.TenantManagement
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - com.apple.foundationdb.directory.DirectoryException
          - com.apple.foundationdb.directory.DirectoryAlreadyExistsException
          - com.apple.foundationdb.directory.MismatchedLayerException
          - com.apple.foundationdb.directory.NoSuchDirectoryException
        - com.apple.foundationdb.directory.DirectoryMoveException
        - com.apple.foundationdb.directory.DirectoryVersionException
        - com.apple.foundationdb.FDBException (implements com.apple.foundationdb.async.CloneableException)
  - com.apple.foundationdb.TransactionOptions
  - com.apple.foundationdb.tuple.Tuple (implements java.lang.Comparable<T>, java.lang.Iterable<T>)
  - com.apple.foundationdb.tuple.Versionstamp (implements java.lang.Comparable<T>)

## Interface Hierarchy

- java.lang.AutoCloseable
  - com.apple.foundationdb.async.CloseableAsyncIterator<T> (also extends com.apple.foundationdb.async.AsyncIterator<T>)
  - com.apple.foundationdb.Database (also extends com.apple.foundationdb.TransactionContext)
  - com.apple.foundationdb.Tenant (also extends com.apple.foundationdb.TransactionContext)
  - com.apple.foundationdb.Transaction (also extends com.apple.foundationdb.ReadTransaction, com.apple.foundationdb.TransactionContext)
- com.apple.foundationdb.async.Cancellable
- com.apple.foundationdb.async.CloneableException
- com.apple.foundationdb.directory.Directory
- com.apple.foundationdb.EventKeeper
- com.apple.foundationdb.EventKeeper.Event
- java.lang.Iterable<T>
  - com.apple.foundationdb.async.AsyncIterable<T>
- java.util.Iterator<E>
  - com.apple.foundationdb.async.AsyncIterator<T>
    - com.apple.foundationdb.async.CloseableAsyncIterator<T> (also extends java.lang.AutoCloseable)
- com.apple.foundationdb.OptionConsumer
- com.apple.foundationdb.ReadTransactionContext
  - com.apple.foundationdb.ReadTransaction
    - com.apple.foundationdb.Transaction (also extends java.lang.AutoCloseable, com.apple.foundationdb.TransactionContext)
  - com.apple.foundationdb.TransactionContext
    - com.apple.foundationdb.Database (also extends java.lang.AutoCloseable)
    - com.apple.foundationdb.Tenant (also extends java.lang.AutoCloseable)
    - com.apple.foundationdb.Transaction (also extends java.lang.AutoCloseable, com.apple.foundationdb.ReadTransaction)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.apple.foundationdb.EventKeeper.Events (implements com.apple.foundationdb.EventKeeper.Event)
    - com.apple.foundationdb.MutationType
    - com.apple.foundationdb.StreamingMode