See: Description
| Package | Description |
|---|---|
| com.apple.foundationdb |
Provides an API for the FoundationDB transactional key/value store.
|
| com.apple.foundationdb.async |
Provides additional constructs for asynchronous programming against Java's
CompletableFutures. |
| com.apple.foundationdb.directory |
Provides tools for managing hierarchically related key subspaces.
|
| com.apple.foundationdb.subspace |
Provides a convenient way to define namespaces for different categories
of data.
|
| com.apple.foundationdb.tuple |
Provides a set of utilities for serializing and deserializing typed data
for use in FoundationDB.
|
FoundationDB API interface with the version of the
API that you want to use (this release of the FoundationDB Java API supports versions between 510 and 520).
With this API object you can then open Clusters and
Databases and start using
Transactions.
Here we give an example. The example relies on a cluster file at the
default location
for your platform and a running server.
import com.apple.foundationdb.Database;
import com.apple.foundationdb.FDB;
import com.apple.foundationdb.tuple.Tuple;
public class Example {
public static void main(String[] args) {
FDB fdb = FDB.selectAPIVersion(520);
try(Database db = fdb.open()) {
// Run an operation on the database
db.run(tr -> {
tr.set(Tuple.from("hello").pack(), Tuple.from("world").pack());
return null;
});
// Get the value of 'hello' from the database
String hello = db.run(tr -> {
byte[] result = tr.get(Tuple.from("hello").pack()).join();
return Tuple.fromBytes(result).getString(0);
});
System.out.println("Hello " + hello);
}
}
}
Tuple APITuple API is provided with the core Java API for FoundationDB.
This layer is provided in some form in all official language bindings. It enables
cross-language support for storing and retrieving typed data from the
binary data that FoundationDB supports. And, just as importantly, data packed into
Tuples and used as keys sort in predictable and useful ways. See the
Tuple class documentation for information about use in Java
and general Tuple documentation
for information about how Tuples sort and can be used to efficiently model data.
Directory APIDirectory API is provided with the core
Java API for FoundationDB. This layer is provided in some form in all official
language bindings. The FoundationDB API provides directories as a tool for
managing related Subspaces. Directories are a
recommended approach for administering applications. Each application should
create or open at least one directory to manage its subspaces. Directories are
identified by hierarchical paths analogous to the paths in a Unix-like file system.
A path is represented as a List of strings. Each directory has an associated
subspace used to store its content. The layer maps each path to a short prefix used
for the corresponding subspace. In effect, directories provide a level of indirection
for access to subspaces.