The following table lists the core JCR interfaces and the corresponding Jackrabbit implementation classes found in this package.
A Jackrabbit repository instance can be created using the static
method. Classes in the
package provide a mechanism for binding a Jackrabbit repository in a
JNDI directory context.
SessionImpl instance is created upon successfully login to the
Session is always tied to the
specified in the
Repository#login(Credentials, String) call. A
workspace represents a persistent tree of repository items (i.e.
Propertys). The items in a workspace are 'visible' to all
sessions accessing it (subject to their access rights, of course).
WorkspaceImpl instance represents a specifc workspace as
seen by the session that accesses it.
Every repository item is uniquely identified by its
ItemId. The id
of a node (
NodeId) consists of the node's uuid. The id of a property
PropertyId) consists of the parent node's uuid and the
name of the property.
SessionImpl instance has its own
The per-session instance of
ItemManager acts as item factory (i.e.
PropertyImpl instances) and
provides item access by item id and item caching.
The data (or state) of an item is represented by the following classes in the
SharedItemStateManager for every workspace.
It provides item state caching and it guarantees that there's only one
(persistent) item state instance for any distinct item id in that workspace.
Every session has its own
SessionItemStateManager that consists
of the session's
TransientItemStateManager and the workspace's
Each item (i.e.
is holding an
ItemState instance. When e.g. a session is modifying
a property by changing the property's value, a new transient item state
is created by the session's
transient state is actually wrapping the (old) shared state (copy on write).
PropertyImpl's state is then replaced by the new transient state.
Transient (i.e. unsaved) modifications are 'session-local', i.e. they are not visible to other sessions. When the modifications are saved they become instantly visible to all sessions accessing the same workspace.
Interface Summary Interface Description HierarchyManagerThe
ItemLifeCycleListenerinterface allows an implementing object to be informed about changes on an
LowPriorityTaskInterface for low priority tasks (like text extraction) that can be scheduled later based on the extractor's load SessionListenerThe
SessionListenerinterface allows an implementing object to be informed about changes on a
TransientRepository.RepositoryFactoryFactory interface for creating
Class Summary Class Description AbstractNodeDataData object representing a node. BatchedItemOperations
BatchedItemOperationsis an internal helper class that provides both high- and low-level operations directly on the
CachingHierarchyManagerImplementation of a
HierarchyManagerthat caches paths of items.
DefaultSecurityManagerThe security manager acts as central managing class for all security related operations on a low-level non-protected level. HierarchyManagerImpl
HierarchyManagerImpl.CycleDetectorUtility class used to detect path cycles with as little overhead as possible. ItemDataData object referenced by different
ItemImplinstances that all represent the same item, i.e.
ItemRefreshOperation ItemValidatorUtility class for validating an item against constraints specified by its definition. JackrabbitRepositoryStubRepositoryStub implementation for Apache Jackrabbit. LazyItemIterator
LazyItemIteratoris an id-based iterator that instantiates the
Items only when they are requested.
NodeTypeInstanceHandleris used to provide or initialize system protected properties (or child nodes).
PropertyDataData object representing a property. PropertyImpl
ProtectedItemModifier: An abstract helper class to allow classes residing outside of the core package to modify and remove protected items.
RepositoryContextInternal component context of a Jackrabbit content repository. RepositoryCopierTool for backing up or migrating the entire contents (workspaces, version histories, namespaces, node types, etc.) of a repository to a new repository. RepositoryFactoryImpl RepositoryImplA
RepositoryImpl.DescriptorValueRepresents a Repository Descriptor Value (either Value or Value) RepositoryManagerImplThe repository manager implementation. SearchManagerActs as a global entry point to execute queries and index nodes. SessionFactory SessionImplA
SessionMoveOperation TestContentLoaderTest Content Loader. TransientRepositoryA repository proxy that automatically initializes and shuts down the underlying repository instance when the first session is opened or the last one closed. UserPerWorkspaceSecurityManagerDerived security manager implementation that expects that users information is present in each workspace instead of having a single, dedicated "security-workspace" that provides user information. VersionManagerImplImplementation of the
WorkspaceManager XASessionImplSession extension that provides XA support. ZombieHierarchyManager
HierarchyManagerimplementation that is also able to build/resolve paths of those items that have been moved or removed (i.e.