org.apache.sling.jcr.api
Interface SlingRepository

All Superinterfaces:
javax.jcr.Repository
All Known Implementing Classes:
AbstractSlingRepository, RepositoryUtil.RepositoryWrapper

public interface SlingRepository
extends javax.jcr.Repository

The SlingRepository extends the standard JCR repository interface with two methods: getDefaultWorkspace() and loginAdministrative(String). This method ease the use of a JCR repository in a Sling application in that the default (or standard) workspace to use by the application may be configured and application bundles may use a simple method to get an administrative session instead of being required to provide their own configuration of administrative session details.

Implementations of this interface will generally provide configurability of the default workspace name as well as the access details for the administrative session.

Implementations of SlingRepository are expected to invoke any available implementations of the NamespaceMapper interface before returning any Session to callers. This includes the methods defined in the Repository interface.


Field Summary
 
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
 
Method Summary
 String getDefaultWorkspace()
          Returns the default workspace to use on login.
 javax.jcr.Session loginAdministrative(String workspace)
          Returns a session to the default workspace which has administrative powers.
 
Methods inherited from interface javax.jcr.Repository
getDescriptor, getDescriptorKeys, getDescriptorValue, getDescriptorValues, isSingleValueDescriptor, isStandardDescriptor, login, login, login, login
 

Method Detail

getDefaultWorkspace

String getDefaultWorkspace()
Returns the default workspace to use on login.

Returns:
null if the configured default workspace name is empty, SLING-256

loginAdministrative

javax.jcr.Session loginAdministrative(String workspace)
                                      throws javax.jcr.RepositoryException
Returns a session to the default workspace which has administrative powers.

NOTE: This method is intended for use by infrastructure bundles to access the repository and provide general services. This method MUST not be used to handle client requests of whatever kinds. To handle client requests a regular authenticated session retrieved through Repository.login(javax.jcr.Credentials, String) or Session.impersonate(javax.jcr.Credentials) must be used.

Parameters:
workspace - The name of the workspace to which to get an administrative session. If null the getDefaultWorkspace() default workspace is assumed.
Throws:
javax.jcr.RepositoryException


Copyright © 2007-2011 The Apache Software Foundation. All Rights Reserved.