@ProviderType
public interface SlingRepository
extends javax.jcr.Repository
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.
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| Modifier and Type | Method and Description | 
|---|---|
| String | getDefaultWorkspace()Returns the default workspace to use on login. | 
| javax.jcr.Session | impersonateFromService(String subServiceName,
                      javax.jcr.Credentials credentials,
                      String workspaceName)Impersonates the service session provided by the calling bundle (and further
 specialized by  subServiceName) to a new session in accordance with
 the specified (new)Credentials. | 
| javax.jcr.Session | loginAdministrative(String workspace)Deprecated. 
 as of 2.2 (bundle version 2.2.0) because of inherent security
             issues. Services requiring specific permissions should use
             the  loginService(String, String)instead. | 
| javax.jcr.Session | loginService(String subServiceName,
            String workspace)Returns a session to the given workspace with privileges assigned to the
 service provided by the calling bundle. | 
String getDefaultWorkspace()
@Deprecated javax.jcr.Session loginAdministrative(String workspace) throws javax.jcr.LoginException, javax.jcr.RepositoryException
loginService(String, String) instead.
 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.
 
 This method is deprecated. Services running in the Sling system should
 use the loginService(String serviceInfo, String workspace)
 method instead. Implementations of this method must throw
 javax.jcr.LoginException if they don't support it.
workspace - The name of the workspace to which to get an
            administrative session. If null the
            getDefaultWorkspace() default workspace is assumed.javax.jcr.LoginException - If this method is not supported or is disabled by
             the implementation.javax.jcr.RepositoryException - If an error occurs creating the
             administrative sessionjavax.jcr.Session loginService(String subServiceName, String workspace) throws javax.jcr.LoginException, javax.jcr.RepositoryException
subServiceName
 argument can be used to further specialize the service account to be
 used.subServiceName - Optional Subservice Name to specialize account
            selection for the service. This may be null.workspace - The name of the workspace to which to get an
            administrative session. If null the
            getDefaultWorkspace() default workspace is assumed.javax.jcr.LoginException - If there is no service account defined for the
             calling bundle or the defined service account does not exist.javax.jcr.RepositoryException - if an error occurs.loginAdministrative(String)javax.jcr.Session impersonateFromService(String subServiceName, javax.jcr.Credentials credentials, String workspaceName) throws javax.jcr.LoginException, javax.jcr.RepositoryException
subServiceName) to a new session in accordance with
 the specified (new) Credentials. The nature of the Credentials
 is an implementation detail which may allow relaxed credentials
 requirements (perhaps including a user ID but no password, for example).
 
 The impersonation will fail with LoginException if the
 service session is not allowed to impersonate the subject associated with
 the target session or if the specified Credentials credentials
 are not valid.
 
Session is tied to a new Workspace
 instance with the specified workspaceName or to the
 default workspace if the workspaceName
 is null.subServiceName - Optional sub-service name to specialize account
                       selection for the service. This may be null.credentials - A valid non-null Credentials objectworkspaceName - The name of the workspace to which to get an
                       administrative session. If null the
                       getDefaultWorkspace() default workspace is assumed.Session objectjavax.jcr.LoginException - If the current session does not have sufficient access to perform the operation.javax.jcr.RepositoryException - If another error occurs.Copyright © 2017 The Apache Software Foundation. All rights reserved.