Package com.apple.foundationdb.record.provider.foundationdb.keyspace
A directory-like symbolic layout of keys in FoundationDB.
All keys in FoundationDB used by the Record Layer are based on Tuple
s.
The components of the tuple that represents the location (that is, tuple prefix) of a particular FDBRecordStore
can depend on several
separate pieces of identifying information about the record store.
A KeySpace
is a symbolic representation of this layout, giving names -- or constant values -- to each component.
A KeySpacePath
is a concrete instance of a KeySpace
, somewhat like a directory pathname in a file system.
-
Interface Summary Interface Description KeySpacePath AKeySpacePath
represents a discrete path through a directory tree defined by aKeySpace
.ResolverCreateHooks.MetadataHook Functional interface for the safety check that will be run before writing a mapping in theLocatableResolver
.ResolverCreateHooks.PreWriteCheck Functional interface for the safety check that will be run before writing a mapping in theLocatableResolver
. -
Class Summary Class Description DirectoryLayerDirectory AKeySpaceDirectory
that maps aSTRING
value to a compactLONG
value using the FDB directory layer.ExtendedDirectoryLayer An implementation ofLocatableResolver
that uses a key format that is compatible with theScopedDirectoryLayer
to keep track of the allocation of strings to integers.KeySpace AKeySpace
defines a logical directory structure for keys that comprise an FDB row key.KeySpaceDirectory Defines a directory within aKeySpace
.KeySpacePathWrapper Helper class to make it easy to createKeySpacePath
wrapper implementations for use inKeySpaceDirectory(String, KeySpaceDirectory.KeyType, Object, java.util.function.Function)
(String, KeySpaceDirectory.KeyType, Object, Function)}.LocatableResolver LocatableResolver
represents the concept of a locatable bi-directional mapping between Strings and Longs that is rooted at some location in the FDB key space.PathValue A class to represent the value stored at a particular element of aKeySpacePath
.ResolvedKeySpacePath AKeySpacePath
that has been resolved into the value that will be physically stored to represent the path element in the FDB keyspace.ResolverCreateHooks Set of hooks to be run only when creating a mapping in aLocatableResolver
.ResolverMappingDigest Computes a message digest for all of the string to integer mappings in the providedLocatableResolver
.ResolverMappingReplicator Copies the contents of oneLocatableResolver
to another.ResolverResult A class containing the result of resolving a key withLocatableResolver
.ScopedDirectoryLayer An implementation ofLocatableResolver
that uses the FDB directory layer to keep track of the allocation of strings to integers.ScopedValue<T> Object to key the forward and reverse directory caches by, two entries should be treated as identical if they attempt to resolve the same string with directory layers that are located at the same path. -
Enum Summary Enum Description KeySpaceDirectory.KeyType The available data types for directories. -
Exception Summary Exception Description LocatableResolver.LocatableResolverLockedException Exception thrown when the locatable resolver is locked.NoSuchDirectoryException Exception thrown when aKeySpaceDirectory
does not have the named directory component.