org.apache.jackrabbit.rmi.repository
Class ProxyRepository

java.lang.Object
  extended by org.apache.jackrabbit.rmi.repository.ProxyRepository
All Implemented Interfaces:
Repository
Direct Known Subclasses:
JNDIRemoteRepository, RMIRemoteRepository, URLRemoteRepository

public class ProxyRepository
extends Object
implements Repository

Repository that proxies all method calls to another repository. The other repository is accessed lazily using a repository 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
ProxyRepository(org.apache.jackrabbit.rmi.repository.RepositoryFactory factory)
          Creates a proxy for the repository (or repositories) accessible through the given factory.
 
Method Summary
 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.
 boolean isSingleValueDescriptor(String key)
          Checks whether the given key identifies a valid single-valued descriptor key in the proxied repository.
 boolean isStandardDescriptor(String key)
          Returns true if the given key identifies a standard descriptor.
 Session login()
          Calls Repository.login(Credentials, String) with null arguments.
 Session login(Credentials credentials)
          Calls Repository.login(Credentials, String) with the given credentials and a null workspace name.
 Session login(Credentials credentials, String workspace)
          Logs in to the proxied repository and returns the resulting session.
 Session login(String workspace)
          Calls Repository.login(Credentials, String) with null credentials and the given workspace name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProxyRepository

public ProxyRepository(org.apache.jackrabbit.rmi.repository.RepositoryFactory factory)
Creates a proxy for the repository (or repositories) accessible through the given factory.

Parameters:
factory - repository factory
Method Detail

getDescriptorKeys

public String[] getDescriptorKeys()
Returns the descriptor keys of the proxied repository, or an empty array if the proxied repository can not be accessed.

Specified by:
getDescriptorKeys in interface Repository
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. Returns false if the proxied repository can not be accessed.

Specified by:
isSingleValueDescriptor in interface Repository
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. Returns null if the descriptor does not exist or if the proxied repository can not be accessed.

Specified by:
getDescriptor in interface Repository
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. Returns null if the descriptor does not exist or if the proxied repository can not be accessed.

Specified by:
getDescriptorValue in interface Repository
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. Returns null if the descriptor does not exist or if the proxied repository can not be accessed.

Specified by:
getDescriptorValues in interface Repository
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!

Specified by:
login in interface Repository
Throws:
RepositoryException - if the proxied repository can not be accessed, or if the login in the proxied repository fails

isStandardDescriptor

public boolean isStandardDescriptor(String key)
Returns true if the given key identifies a standard descriptor.

Specified by:
isStandardDescriptor in interface Repository
Parameters:
key - descriptor key
Returns:
true if the key identifies a standard descriptor, false otherwise

login

public Session login()
              throws RepositoryException
Calls Repository.login(Credentials, String) with null arguments.

Specified by:
login in interface Repository
Returns:
logged in session
Throws:
RepositoryException - if an error occurs

login

public Session login(Credentials credentials)
              throws RepositoryException
Calls Repository.login(Credentials, String) with the given credentials and a null workspace name.

Specified by:
login in interface Repository
Parameters:
credentials - login credentials
Returns:
logged in session
Throws:
RepositoryException - if an error occurs

login

public Session login(String workspace)
              throws RepositoryException
Calls Repository.login(Credentials, String) with null credentials and the given workspace name.

Specified by:
login in interface Repository
Parameters:
workspace - workspace name
Returns:
logged in session
Throws:
RepositoryException - if an error occurs


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.