The classes in this package provide interfaces and abstract classes for implementing document repository storage systems, which are systems capable of storing and retrieving documents of some kind.
What constitutes a "document" is left up to the implementation, but generally speaking a document consists of some kind of content data (e.g., an image, text, XML document, audio data, etc.), and zero or more properties. The properties, also known as the document meta-data, provide attributes for the document beyond the contents of the document itself. Typically, one or more of these properties are used as keys to index the document within the document repository storage system.
The basis of a document repository system is the {@link tribble.repository.Document} class, which is an interface providing methods for implementing read-only document subclasses. Such document objects are retrieved from a repository reader, which is a subclass of the {@link tribble.repository.RepositoryReader} interface. Repository readers can retrieve documents by their IDs, or search for multiple matching documents within the repository.
Likewise, the {@link tribble.repository.StorableDocument} interface provides the basic methods for implementing writable document subclasses, which are necessary in order to create and store documents in a document repository system. Such document objects are created and stored by a repository writer, which is a subclass of the {@link tribble.repository.RepositoryWriter} interface.
Documents are organized into folders, and each folder has a folder-ID that identifies it within the repository. This is implemented with the {@link tribble.repository.Folder} interface. Each folder can provide default document properties for the documents it contains.
In general, the methods of these classes throw IOExceptions whenever they encounter error conditions.