Class ProxyRepository
- java.lang.Object
-
- org.apache.jackrabbit.commons.AbstractRepository
-
- org.apache.jackrabbit.commons.repository.ProxyRepository
-
- All Implemented Interfaces:
Repository
- Direct Known Subclasses:
JCARepositoryHandle
,JNDIRepository
,ServletRepository
public class ProxyRepository extends AbstractRepository
Repository that proxies all method calls to another repository. The other repository is accessed lazily using arepository factory
.- Since:
- 1.4
-
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ProxyRepository()
Protected constructor for subclasses that want to override thegetRepository()
method.ProxyRepository(String uri)
Creates a proxy for the repository accessible using the given repository URI.ProxyRepository(Map<String,String> parameters)
Creates a proxy for the repository (or repositories) accessible using the given repository parameters.ProxyRepository(RepositoryFactory factory)
Creates a proxy for the repository (or repositories) accessible through the given factory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getDescriptor(String key)
Returns the descriptor with the given key from the proxied repository.String[]
getDescriptorKeys()
Returns the descriptor keys of the proxied repository, or an empty array if the proxied repository can not be accessed.Value
getDescriptorValue(String key)
Returns the value of the descriptor with the given key from the proxied repository.Value[]
getDescriptorValues(String key)
Returns the values of the descriptor with the given key from the proxied repository.protected Repository
getRepository()
Returns the proxied repository.boolean
isSingleValueDescriptor(String key)
Checks whether the given key identifies a valid single-valued descriptor key in the proxied repository.Session
login(Credentials credentials, String workspace)
Logs in to the proxied repository and returns the resulting session.-
Methods inherited from class org.apache.jackrabbit.commons.AbstractRepository
isStandardDescriptor, login, login, login, login
-
-
-
-
Constructor Detail
-
ProxyRepository
public ProxyRepository(RepositoryFactory factory)
Creates a proxy for the repository (or repositories) accessible through the given factory.- Parameters:
factory
- repository factory
-
ProxyRepository
public ProxyRepository(Map<String,String> parameters)
Creates a proxy for the repository (or repositories) accessible using the given repository parameters.- Parameters:
parameters
- repository parameters
-
ProxyRepository
public ProxyRepository(String uri)
Creates a proxy for the repository accessible using the given repository URI.- Parameters:
uri
- repository URI
-
ProxyRepository
protected ProxyRepository()
Protected constructor for subclasses that want to override thegetRepository()
method.
-
-
Method Detail
-
getRepository
protected Repository getRepository() throws RepositoryException
Returns the proxied repository. Subclasses can override this method to implement custom repository access mechanisms.- Returns:
- repository
- Throws:
RepositoryException
- if the repository can not be accessed
-
getDescriptorKeys
public String[] getDescriptorKeys()
Returns the descriptor keys of the proxied repository, or an empty array if the proxied repository can not be accessed.- Returns:
- descriptor keys (possibly empty)
-
isSingleValueDescriptor
public boolean isSingleValueDescriptor(String key)
Checks whether the given key identifies a valid single-valued descriptor key in the proxied repository. Returnsfalse
if the proxied repository can not be accessed.- Returns:
true
if the key identifies a valid single-valued descriptor in the proxied repository,false
otherwise
-
getDescriptor
public String getDescriptor(String key)
Returns the descriptor with the given key from the proxied repository. Returnsnull
if the descriptor does not exist or if the proxied repository can not be accessed.- Parameters:
key
- descriptor key- Returns:
- descriptor value, or
null
-
getDescriptorValue
public Value getDescriptorValue(String key)
Returns the value of the descriptor with the given key from the proxied repository. Returnsnull
if the descriptor does not exist or if the proxied repository can not be accessed.- Parameters:
key
- descriptor key- Returns:
- descriptor value, or
null
-
getDescriptorValues
public Value[] getDescriptorValues(String key)
Returns the values of the descriptor with the given key from the proxied repository. Returnsnull
if the descriptor does not exist or if the proxied repository can not be accessed.- Parameters:
key
- descriptor key- Returns:
- descriptor values, or
null
-
login
public Session login(Credentials credentials, String workspace) throws RepositoryException
Logs in to the proxied repository and returns the resulting session.Note that the
Session.getRepository()
method of the resulting session will return the proxied repository, not this repository proxy!- Throws:
RepositoryException
- if the proxied repository can not be accessed, or if the login in the proxied repository fails
-
-