org.apache.jackrabbit.oak.jcr.repository
Class RepositoryImpl

java.lang.Object
  extended by org.apache.jackrabbit.oak.jcr.repository.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
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
RepositoryImpl(org.apache.jackrabbit.oak.api.ContentRepository contentRepository, org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard, org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider, int observationQueueLength, org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter)
           
 
Method Summary
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.
protected  org.apache.jackrabbit.oak.util.GenericDescriptors determineDescriptors()
          Provides descriptors for current repository implementations.
 String getDescriptor(String key)
           
 String[] getDescriptorKeys()
           
protected  org.apache.jackrabbit.oak.util.GenericDescriptors getDescriptors()
          Returns the descriptors associated with the repository
 javax.jcr.Value getDescriptorValue(String key)
           
 javax.jcr.Value[] getDescriptorValues(String key)
           
 boolean isSingleValueDescriptor(String key)
           
 boolean isStandardDescriptor(String key)
           
 javax.jcr.Session login()
          Calls Repository.login(Credentials, String) with null arguments.
 javax.jcr.Session login(javax.jcr.Credentials credentials)
          Calls Repository.login(Credentials, String) with the given credentials and a null workspace name.
 javax.jcr.Session login(javax.jcr.Credentials credentials, String workspaceName)
           
 javax.jcr.Session login(javax.jcr.Credentials credentials, String workspaceName, Map<String,Object> attributes)
           
 javax.jcr.Session login(String workspace)
          Calls Repository.login(Credentials, String) with null credentials and the given workspace name.
 void shutdown()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REFRESH_INTERVAL

public static final String REFRESH_INTERVAL
Name of the session attribute value determining the session refresh interval in seconds.

See Also:
RefreshStrategy, Constant Field Values

RELAXED_LOCKING

public static final String RELAXED_LOCKING
Name of the session attribute for enabling relaxed locking rules

See Also:
OAK-1329, Constant Field Values

whiteboard

protected final org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard
Constructor Detail

RepositoryImpl

public RepositoryImpl(@Nonnull
                      org.apache.jackrabbit.oak.api.ContentRepository contentRepository,
                      @Nonnull
                      org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard whiteboard,
                      @Nonnull
                      org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider,
                      int observationQueueLength,
                      org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter commitRateLimiter)
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
                               javax.jcr.Credentials credentials,
                               @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(@CheckForNull
                               javax.jcr.Credentials credentials,
                               @CheckForNull
                               String workspaceName,
                               @CheckForNull
                               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.util.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.util.GenericDescriptors getDescriptors()
Returns the descriptors associated with the repository

Returns:
repository descriptor


Copyright © 2012-2014 The Apache Software Foundation. All Rights Reserved.