Class RepositoryImpl
- java.lang.Object
-
- 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
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 rulesprotected 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)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 aSessionContext
instance for a new session.protected org.apache.jackrabbit.oak.spi.descriptors.GenericDescriptors
determineDescriptors()
Provides descriptors for current repository implementations.String
getDescriptor(String key)
String[]
getDescriptorKeys()
protected org.apache.jackrabbit.oak.spi.descriptors.GenericDescriptors
getDescriptors()
Returns the descriptors associated with the repositoryjavax.jcr.Value
getDescriptorValue(String key)
javax.jcr.Value[]
getDescriptorValues(String key)
boolean
isSingleValueDescriptor(String key)
boolean
isStandardDescriptor(String key)
javax.jcr.Session
login()
CallsRepository.login(Credentials, String)
withnull
arguments.javax.jcr.Session
login(@Nullable javax.jcr.Credentials credentials, @Nullable String workspaceName)
javax.jcr.Session
login(@Nullable javax.jcr.Credentials credentials, @Nullable String workspaceName, @Nullable Map<String,Object> attributes)
javax.jcr.Session
login(String workspace)
CallsRepository.login(Credentials, String)
withnull
credentials and the given workspace name.javax.jcr.Session
login(javax.jcr.Credentials credentials)
CallsRepository.login(Credentials, String)
with the given credentials and anull
workspace name.void
shutdown()
-
-
-
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
-
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 interfacejavax.jcr.Repository
- See Also:
Repository.getDescriptorKeys()
-
isStandardDescriptor
public boolean isStandardDescriptor(String key)
- Specified by:
isStandardDescriptor
in interfacejavax.jcr.Repository
- See Also:
Repository.isStandardDescriptor(String)
-
getDescriptor
public String getDescriptor(String key)
- Specified by:
getDescriptor
in interfacejavax.jcr.Repository
- See Also:
Repository.getDescriptor(String)
-
getDescriptorValue
public javax.jcr.Value getDescriptorValue(String key)
- Specified by:
getDescriptorValue
in interfacejavax.jcr.Repository
- See Also:
Repository.getDescriptorValue(String)
-
getDescriptorValues
public javax.jcr.Value[] getDescriptorValues(String key)
- Specified by:
getDescriptorValues
in interfacejavax.jcr.Repository
- See Also:
Repository.getDescriptorValues(String)
-
isSingleValueDescriptor
public boolean isSingleValueDescriptor(String key)
- Specified by:
isSingleValueDescriptor
in interfacejavax.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 interfacejavax.jcr.Repository
- Throws:
javax.jcr.RepositoryException
- See Also:
Repository.login(javax.jcr.Credentials, String)
-
login
public javax.jcr.Session login() throws javax.jcr.RepositoryException
CallsRepository.login(Credentials, String)
withnull
arguments.- Specified by:
login
in interfacejavax.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
CallsRepository.login(Credentials, String)
with the given credentials and anull
workspace name.- Specified by:
login
in interfacejavax.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
CallsRepository.login(Credentials, String)
withnull
credentials and the given workspace name.- Specified by:
login
in interfacejavax.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 interfaceorg.apache.jackrabbit.api.JackrabbitRepository
- Throws:
javax.jcr.RepositoryException
-
shutdown
public void shutdown()
- Specified by:
shutdown
in interfaceorg.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 aSessionContext
instance for a new session. Called bylogin()
. 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
-
-