All Classes and Interfaces

Class
Description
OcflStorage abstract implementation that handles managing the repository's state, initialized, open, close.
Encapsulates logic for adding files to an object, both adding them to the inventory and moving them into staging.
 
Windows only: Rejects filenames that contain backslashes
 
Validates that a path or filename does or does not begin or and with a specified value
Constraint that applies restrictions on what characters are allowed in file names.
Extension point that allows the OCFL repository to use any number of different cache implementations so long as they conform to this interface.
Adds an Inventory caching layer on top of an OcflStorage implementation.
In-memory cache implementation that is a wrapper around a Caffeine cache.
Wrapper interface abstracting cloud provider clients
Represents a key to an object in cloud storage.
 
OcflFileRetriever implementation for lazy-loading files from cloud storage.
 
Implementation of OcflObjectRootDirIterator that iterates over cloud objects
Storage abstraction over cloud storage providers.
 
This class provides default path constraints that can be applied to OCFL content paths to attempt to ensure portability across various filesystems.
This maps logical paths to content paths and applies content path constraints.
 
Lock implementation that writes to a DB table to lock a resource.
This enum describes the database types that the library supports out of the box.
This class enforces constraints on content paths.
Use this to construct a ContentPathConstraintProcessor
Extends the OCFL repository to support OCFL objects with mutable HEADs as defined by the Mutable HEAD Extension.
Default implementation of OcflObjectUpdater that is used by DefaultOcflRepository to provide write access to an object.
Primary implementation of the OcflRepository API.
Implements the core logic for manipulating OCFL objects.
Initializes an OCFL repository.
 
Directly maps logical paths to content paths without making any changes.
Evaluates if an extension is supported and acts accordingly if it is not.
Provides locks for logical paths, so that an object may be safely modified by multiple threads.
Validates that a filename meets a defined constraint
OcflFileRetriever implementation for lazy-loading files from file system storage.
Implementation of OcflObjectRootDirIterator that iterates over the filesystem
Storage abstraction over the local filesystem
 
Configuration for the Flat Direct Storage Layout extension.
Implementation of the Flat Storage Layout extension.
Configuration for the Flat Omit Prefix Storage Layout extension.
Implementation of the Flat Omit Prefix Storage Layout extension.
 
Configuration for the Hashed N-tuple Storage Layout extension.
Implementation of the Hashed N-tuple Storage Layout extension.
Encapsulates the results of a head operation
In-memory implementation of ObjectLock that uses Java's ReentrantReadWriteLock.
OCFL inventory object.
This builder is only intended to be used by Jackson for deserializing inventory files.
Used to construct Inventory objects.
Wrapper around Jackson's ObjectMapper for serializing and deserializing Inventories.
This class is used to record changes to OCFL objects and construct an updated inventory.
Indicates the result of an add file operation.
 
Indicates that a file was removed from the manifest.
Validates that an Inventory meets the minimum requirements to be serialized as valid OCFL inventory.
This exception is thrown when a cloud storage provider cannot find the specified key.
The result of a storage list operation
 
Encapsulates the results of a list operation
Encapsulates a virtual directory.
Encapsulates an object key and its suffix.
Describes the constraints that are applied to logical paths.
Maps logical paths to content paths.
This class defines common LogicalPathMapper implementations.
 
Input stream that is able to calculate multiple digests concurrently
Converts a mutable HEAD version into a regular OCFL version.
 
Validates that there are no empty filenames
Pass-through cache implementation that never caches.
Configuration for the N Tuple Storage Layout extension.
 
Implementation of the N Tuple Storage Layout extension.
Interface for interacting with OCFL object details that are stored in a database.
Constructs ObjectDetailsDatabase instances
 
Extension point that allows the OCFL repository to use any number of different lock implementations so long as they conform to this interface.
Constructs new ObjectLock instances
 
Centralizes common OCFL path locations
Provides methods for navigating a version's content directory
 
Provides methods for navigating an OCFL object root
Provides methods for navigating an OCFL object version directory
 
Marker interface for an OCFL extension implementation
Represents deserialized extension configuration.
Registry for mapping extensions to their implementations.
This class is a representation of the ocfl_layout.json file.
Represents a ObjectDetails database record.
Iterator that iterates over OCFL object root directories.
Encapsulates a directory for iterating over its children
Constructs a local file system based OCFL repository sensible defaults that can be overridden prior to calling OcflRepositoryBuilder.build().
Extension point that allows the OCFL repository to use any number of storage implementations so long as they conform to this interface.
Builder for constructing OcflStorage objects.
Initializes an OCFL repository by either creating a new repository root or reading the configuration from an existing repository.
Interface for OCFL storage layout extensions.
BiDirection map implementation that focuses on OCFL structures.
Validates that the characters in a filename meet a defined constraint
Validates that a path meets a defined constraint
A PathConstraintProcessor is used to apply a preconfigured set of constraints to a given path.
Use this to construct a new PathConstraintProcessor
Validates that a path or filename are not longer than a fixed number of characters or bytes
 
A LogicalPathMapper that percent-encodes specific characters in logical paths to produce safe content paths.
NOTICE: This class is copied from Guava 28.2-jre and modified to support lowercase hex encoding and either encoding all characters not in a given set or encoding only the characters in a given set by Peter Winckles.
 
 
Validates that a path or filename does or does not match a regex
OCFL repository configuration as defined in the storage root.
Used to map Inventory objects to API response objects
Represents the revision number of a mutable HEAD in the form of rN.
 
A minimally structured representation of an OCFL inventory
Parses a JSON inventory into a minimally valid SimpleInventory object.
 
Validates the contents of a SimpleInventory object against the OCFL v1.0 spec
 
A minimally structured representation of an OCFL user
A minimally structured representation of an OCFL version
Abstraction over any storage implementation.
Creates database tables if they don't exist.
 
This class is just a wrapper around Files that converts IOExceptions into OcflIOExceptions.
Describes how to handle extensions that do not have an implementation
OCFL user object.
Accumulates validation issues
Validates an object directory against the OCFL 1.0 and 1.1 spec
OCFL version object.
Used to construct Version objects.