Class RepositoryImpl

  • All Implemented Interfaces:
    javax.jcr.Repository, org.apache.jackrabbit.api.JackrabbitRepository
    Direct Known Subclasses:
    OsgiRepository

    public class RepositoryImpl
    extends Object
    implements org.apache.jackrabbit.api.JackrabbitRepository
    TODO document
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean fastQueryResultSize  
      static String REFRESH_INTERVAL
      Name of the session attribute value determining the session refresh interval in seconds.
      static String RELAXED_LOCKING
      Name of the session attribute for enabling relaxed locking rules
      protected org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard  
      • Fields inherited from interface org.apache.jackrabbit.api.JackrabbitRepository

        OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED, OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED, OPTION_USER_MANAGEMENT_SUPPORTED
      • Fields inherited from interface javax.jcr.Repository

        IDENTIFIER_STABILITY, IDENTIFIER_STABILITY_INDEFINITE_DURATION, IDENTIFIER_STABILITY_METHOD_DURATION, IDENTIFIER_STABILITY_SAVE_DURATION, IDENTIFIER_STABILITY_SESSION_DURATION, LEVEL_1_SUPPORTED, LEVEL_2_SUPPORTED, NODE_TYPE_MANAGEMENT_AUTOCREATED_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_INHERITANCE, NODE_TYPE_MANAGEMENT_INHERITANCE_MINIMAL, NODE_TYPE_MANAGEMENT_INHERITANCE_MULTIPLE, NODE_TYPE_MANAGEMENT_INHERITANCE_SINGLE, NODE_TYPE_MANAGEMENT_MULTIPLE_BINARY_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_MULTIVALUED_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_ORDERABLE_CHILD_NODES_SUPPORTED, NODE_TYPE_MANAGEMENT_OVERRIDES_SUPPORTED, NODE_TYPE_MANAGEMENT_PRIMARY_ITEM_NAME_SUPPORTED, NODE_TYPE_MANAGEMENT_PROPERTY_TYPES, NODE_TYPE_MANAGEMENT_RESIDUAL_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, NODE_TYPE_MANAGEMENT_UPDATE_IN_USE_SUPORTED, NODE_TYPE_MANAGEMENT_VALUE_CONSTRAINTS_SUPPORTED, OPTION_ACCESS_CONTROL_SUPPORTED, OPTION_ACTIVITIES_SUPPORTED, OPTION_BASELINES_SUPPORTED, OPTION_JOURNALED_OBSERVATION_SUPPORTED, OPTION_LIFECYCLE_SUPPORTED, OPTION_LOCKING_SUPPORTED, OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED, OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, OPTION_OBSERVATION_SUPPORTED, OPTION_QUERY_SQL_SUPPORTED, OPTION_RETENTION_SUPPORTED, OPTION_SHAREABLE_NODES_SUPPORTED, OPTION_SIMPLE_VERSIONING_SUPPORTED, OPTION_TRANSACTIONS_SUPPORTED, OPTION_UNFILED_CONTENT_SUPPORTED, OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, OPTION_VERSIONING_SUPPORTED, OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, OPTION_XML_EXPORT_SUPPORTED, OPTION_XML_IMPORT_SUPPORTED, QUERY_FULL_TEXT_SEARCH_SUPPORTED, QUERY_JOINS, QUERY_JOINS_INNER, QUERY_JOINS_INNER_OUTER, QUERY_JOINS_NONE, QUERY_LANGUAGES, QUERY_STORED_QUERIES_SUPPORTED, QUERY_XPATH_DOC_ORDER, QUERY_XPATH_POS_INDEX, REP_NAME_DESC, REP_VENDOR_DESC, REP_VENDOR_URL_DESC, REP_VERSION_DESC, SPEC_NAME_DESC, SPEC_VERSION_DESC, WRITE_SUPPORTED
    • Constructor Summary

      Constructors 
      Constructor Description
      RepositoryImpl​(@NotNull org.apache.jackrabbit.oak.api.ContentRepository contentRepository, @NotNull org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard, @NotNull org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider, int observationQueueLength, org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter)
      Constructor used for backward compatibility.
      RepositoryImpl​(@NotNull org.apache.jackrabbit.oak.api.ContentRepository contentRepository, @NotNull org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard, @NotNull org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider, int observationQueueLength, org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter, boolean fastQueryResultSize)  
    • Field Detail

      • whiteboard

        protected final org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard
      • fastQueryResultSize

        protected final boolean fastQueryResultSize
    • Constructor Detail

      • RepositoryImpl

        public RepositoryImpl​(@NotNull
                              @NotNull org.apache.jackrabbit.oak.api.ContentRepository contentRepository,
                              @NotNull
                              @NotNull org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard,
                              @NotNull
                              @NotNull org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider,
                              int observationQueueLength,
                              org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter)
        Constructor used for backward compatibility.
      • RepositoryImpl

        public RepositoryImpl​(@NotNull
                              @NotNull org.apache.jackrabbit.oak.api.ContentRepository contentRepository,
                              @NotNull
                              @NotNull org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard,
                              @NotNull
                              @NotNull org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider,
                              int observationQueueLength,
                              org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter,
                              boolean fastQueryResultSize)
    • Method Detail

      • getDescriptorKeys

        public String[] getDescriptorKeys()
        Specified by:
        getDescriptorKeys in interface javax.jcr.Repository
        See Also:
        Repository.getDescriptorKeys()
      • isStandardDescriptor

        public boolean isStandardDescriptor​(String key)
        Specified by:
        isStandardDescriptor in interface javax.jcr.Repository
        See Also:
        Repository.isStandardDescriptor(String)
      • getDescriptor

        public String getDescriptor​(String key)
        Specified by:
        getDescriptor in interface javax.jcr.Repository
        See Also:
        Repository.getDescriptor(String)
      • getDescriptorValue

        public javax.jcr.Value getDescriptorValue​(String key)
        Specified by:
        getDescriptorValue in interface javax.jcr.Repository
        See Also:
        Repository.getDescriptorValue(String)
      • getDescriptorValues

        public javax.jcr.Value[] getDescriptorValues​(String key)
        Specified by:
        getDescriptorValues in interface javax.jcr.Repository
        See Also:
        Repository.getDescriptorValues(String)
      • isSingleValueDescriptor

        public boolean isSingleValueDescriptor​(String key)
        Specified by:
        isSingleValueDescriptor in interface javax.jcr.Repository
        See Also:
        Repository.isSingleValueDescriptor(String)
      • login

        public javax.jcr.Session login​(@Nullable
                                       @Nullable javax.jcr.Credentials credentials,
                                       @Nullable
                                       @Nullable String workspaceName)
                                throws javax.jcr.RepositoryException
        Specified by:
        login in interface javax.jcr.Repository
        Throws:
        javax.jcr.RepositoryException
        See Also:
        Repository.login(javax.jcr.Credentials, String)
      • login

        public javax.jcr.Session login()
                                throws javax.jcr.RepositoryException
        Calls Repository.login(Credentials, String) with null arguments.
        Specified by:
        login in interface javax.jcr.Repository
        Returns:
        logged in session
        Throws:
        javax.jcr.RepositoryException - if an error occurs
      • login

        public javax.jcr.Session login​(javax.jcr.Credentials credentials)
                                throws javax.jcr.RepositoryException
        Calls Repository.login(Credentials, String) with the given credentials and a null workspace name.
        Specified by:
        login in interface javax.jcr.Repository
        Parameters:
        credentials - login credentials
        Returns:
        logged in session
        Throws:
        javax.jcr.RepositoryException - if an error occurs
      • login

        public javax.jcr.Session login​(String workspace)
                                throws javax.jcr.RepositoryException
        Calls Repository.login(Credentials, String) with null credentials and the given workspace name.
        Specified by:
        login in interface javax.jcr.Repository
        Parameters:
        workspace - workspace name
        Returns:
        logged in session
        Throws:
        javax.jcr.RepositoryException - if an error occurs
      • login

        public javax.jcr.Session login​(@Nullable
                                       @Nullable javax.jcr.Credentials credentials,
                                       @Nullable
                                       @Nullable String workspaceName,
                                       @Nullable
                                       @Nullable Map<String,​Object> attributes)
                                throws javax.jcr.RepositoryException
        Specified by:
        login in interface org.apache.jackrabbit.api.JackrabbitRepository
        Throws:
        javax.jcr.RepositoryException
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface org.apache.jackrabbit.api.JackrabbitRepository
      • createSessionContext

        protected SessionContext createSessionContext​(org.apache.jackrabbit.oak.stats.StatisticManager statisticManager,
                                                      org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider,
                                                      Map<String,​Object> attributes,
                                                      SessionDelegate delegate,
                                                      int observationQueueLength,
                                                      org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter)
        Factory method for creating a SessionContext instance for a new session. Called by login(). Can be overridden by subclasses to customize the session implementation.
        Returns:
        session context
      • determineDescriptors

        protected org.apache.jackrabbit.oak.spi.descriptors.GenericDescriptors determineDescriptors()
        Provides descriptors for current repository implementations. Can be overridden by the subclasses to add more values to the descriptor
        Returns:
        repository descriptor
      • getDescriptors

        protected org.apache.jackrabbit.oak.spi.descriptors.GenericDescriptors getDescriptors()
        Returns the descriptors associated with the repository
        Returns:
        repository descriptor