Package org.apache.jackrabbit.oak.jcr.delegate
This package contains the delegates for the various JCR API entities.
While the JCR API implementation classes directly implement the client
facing JCR API, they do so without implementing much of the business
logic themselves but rather rely on the functionality provided by the
delegates. This separation of the JCR functionality into external and
internal variants guarantees that JCR API consumers cannot gain access
to internals by simply casting to an implementation class. Further it
makes internal round-tripping through the JCR API unnecessary since
all functionality is provided by the internal interface (i.e. delegates),
which simplifies maintaining and checking state invariants.
Responsibilities of JCR API implementation classes:
- Prevent access to internals.
- Name/path mapping for both method arguments and return values.
- Tracking and instantiation of other JCR implementation objects.
- Conversion from JCR Values to PropertyState instances and vice versa.
- No direct access to the Oak API
- Business logic associated with complex JCR operations.
- Provide means for state invariant checking.
- Must no refer to neither the JCR API nor its implementation classes.
-
Class Summary Class Description AccessControlManagerDelegator This implementation ofAccessControlManagerdelegates back to a delegatee wrapping each call into aSessionOperationclosure.ItemDelegate Abstract base class forNodeDelegateandPropertyDelegateJackrabbitAccessControlManagerDelegator This implementation ofJackrabbitAccessControlManagerdelegates back to a delegatee wrapping each call into aSessionOperationclosure.NodeDelegate NodeDelegateserve as internal representations ofNodes.PrincipalManagerDelegator This implementation ofPrincipalManagerdelegates back to a delegatee wrapping each call into aSessionOperationclosure.PrivilegeManagerDelegator This implementation ofPrivilegeManagerdelegates back to a delegatee wrapping each call into aSessionOperationclosure.PropertyDelegate PropertyDelegateserve as internal representations ofPropertys.SessionDelegate TODO documentUserManagerDelegator This implementation ofUserManagerdelegates back to a delegatee wrapping each call into aUserManagerclosure.VersionDelegate VersionDelegate...VersionHistoryDelegate VersionHistoryDelegate...VersionManagerDelegate VersionManagerDelegate...WorkspaceDelegate Delegate class for workspace operations.