# Package com.apple.foundationdb

Provides an API for the FoundationDB transactional key/value store. Clients operating on a `Database` should, in most cases, use the `run(Function)` or the `runAsync(Function)` constructs. These two functions (and their two derivations) implement a proper retry loop around the work that needs to get done and, in the case of `Database`, assure that `Transaction.commit()` has returned successfully before itself returning. If you are not able to use these functions for some reason please closely read and understand the other developer documentation on FoundationDB transactions.

Interface Summary
Database: A mutable, lexicographically ordered mapping from binary keys to binary values.
EventKeeper: A device for externally instrumenting the FDB java driver, for monitoring purposes.
EventKeeper.Event: Marker interface for tracking the specific type of event that occurs, and metadata about said event.
OptionConsumer: An object on which encoded options can be set.
ReadTransaction: A read-only subset of a FoundationDB `Transaction`.
ReadTransactionContext: A context in which a `ReadTransaction` is available for database operations.
Tenant: A tenant represents a named key-space within a database that can be interacted with transactionally. The simplest correct programs using tenants will make use of the methods defined in the `TransactionContext` interface.
Transaction: A Transaction represents a FoundationDB database transaction.
TransactionContext: A context in which a `Transaction` is available for database operations.

Class Summary
Cluster: Deprecated.
ClusterOptions: Deprecated. There are no cluster options.
DatabaseOptions: A set of options that can be set on a `Database`.
FDB: The starting point for accessing FoundationDB.
JNIUtil: Utility for loading a dynamic library from the classpath.
KeyArrayResult
KeySelector: A `KeySelector` identifies a particular key in the database.
KeyValue: A key/value pair.
LocalityUtil: The FoundationDB API comes with a set of functions for discovering the storage locations of keys within your cluster.
MapEventKeeper: A simple map-based EventKeeper.
MappedKeyValue
NetworkOptions: A set of options that can be set globally for the `FoundationDB API`.
Range: A simple description of an exact range of keyspace, specified by a begin and end key.
TenantManagement: The FoundationDB API includes function to manage the set of tenants in a cluster.
TransactionOptions: A set of options that can be set on a `Transaction`.

Enum Summary
EventKeeper.Events: An enumeration of static events which occur within the FDB Java driver.
MutationType: A set of operations that can be performed atomically on a database.
StreamingMode: Options that control the way the Java binding performs range reads.

Exception Summary
FDBException: An Error from the native layers of FoundationDB.