# Package com.apple.foundationdb.directory

Provides tools for managing hierarchically related key subspaces.

See: Description

Interface Summary
Directory: Represents a directory in the `DirectoryLayer`.

Class Summary
DirectoryLayer: Provides a class for managing directories in FoundationDB.
DirectorySubspace: A DirectorySubspace represents the contents of a directory, but it also remembers the path with which it was opened and offers convenience methods to operate on the directory at that path.
PathUtil: The `PathUtil` class provides static helper functions useful for working with directory paths.

Exception Summary
DirectoryAlreadyExistsException: A `DirectoryException` that is thrown when a directory is being created at or moved to a location that already has a directory present.
DirectoryException: An `Exception` that is thrown by the directory layer corresponding to a specific path.
DirectoryMoveException: An `Exception` that is thrown when an invalid directory move is attempted.
DirectoryVersionException: An `Exception` that is thrown when the version of the directory layer used to create directories in the database is incompatible with this version of the directory layer.
MismatchedLayerException: A `DirectoryException` that is thrown when a directory is opened with an incompatible layer.
NoSuchDirectoryException: A `DirectoryException` that is thrown when a directory that doesn't exist is used.

## Package com.apple.foundationdb.directory Description

Provides tools for managing hierarchically related key 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 tuple of strings. Each directory has an associated subspace used to store its content. The directory 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.
See general directory documentation for information about how directories work and interact with other parts of the built-in keyspace management features.