@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 |
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 occurrs 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 occurrs.loginAdministrative(String)
Copyright © 2014 The Apache Software Foundation. All rights reserved.