Interface JackrabbitRepository

  • All Superinterfaces:
    Repository
    All Known Implementing Classes:
    OsgiRepository, RepositoryImpl

    @ProviderType
    public interface JackrabbitRepository
    extends Repository
    The Jackrabbit repository interface. This interface contains the Jackrabbit-specific extensions to the JCR Repository interface.
    • Field Detail

      • OPTION_USER_MANAGEMENT_SUPPORTED

        static final String OPTION_USER_MANAGEMENT_SUPPORTED
        Key to a boolean descriptor. Returns true if and only if user management is supported.
        See Also:
        Constant Field Values
      • OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED

        static final String OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED
        Key to a boolean descriptor. Returns true if and only if principal management is supported.
        See Also:
        Constant Field Values
      • OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED

        static final String OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED
        Key to a boolean descriptor. Returns true if and only if privilege management is supported.
        See Also:
        Constant Field Values
    • Method Detail

      • login

        Session login​(Credentials credentials,
                      String workspaceName,
                      Map<String,​Object> attributes)
               throws LoginException,
                      NoSuchWorkspaceException,
                      RepositoryException
        Equivalent to login(credentials, workspaceName) except that the returned Session instance contains the given extra session attributes in addition to any included in the given Credentials instance. Attribute names from the credentials and the attribute map must not overlap. In case of an overlap implementation may throw an RepositoryException.

        The attributes are implementation-specific and may affect the behavior of the returned session. Unlike credentials attributes, these separately passed session attributes are guaranteed not to affect the authentication of the client.

        An implementation that does not support a particular session attribute is expected to ignore it and not make it available through the returned session. A client that depends on specific behavior defined by a particular attribute can check whether the returned session contains that attribute to verify whether the underlying repository implementation supports that feature.

        Parameters:
        credentials - the credentials of the user
        workspaceName - the name of a workspace
        attributes - implementation-specific session attributes
        Returns:
        a valid session for the user to access the repository
        Throws:
        LoginException - if authentication or authorization for the specified workspace fails
        NoSuchWorkspaceException - if the specified workspace is not recognized
        RepositoryException - if another error occurs
      • shutdown

        void shutdown()
        Shuts down the repository. A Jackrabbit repository instance contains a acquired resources and cached data that needs to be released and persisted when the repository is no longer used. This method handles all these shutdown tasks and must therefore be called by the client application once the repository instance is no longer used.

        Possible errors are logged rather than thrown as exceptions as there is little that a client application could do in such a case.