Class ProxyRepository

java.lang.Object
org.apache.jackrabbit.commons.AbstractRepository
org.apache.jackrabbit.commons.repository.ProxyRepository
All Implemented Interfaces:
Repository
Direct Known Subclasses:
JNDIRepository

public class ProxyRepository extends AbstractRepository
Repository that proxies all method calls to another repository. The other repository is accessed lazily using a repository factory.
Since:
1.4
  • Constructor Details

    • 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
  • Method Details

    • 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. Returns false if the proxied repository can not be accessed.
      Parameters:
      key - a descriptor key.
      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.
      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.
      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.
      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!

      Parameters:
      credentials - The credentials of the user
      workspace - the name of a workspace.
      Returns:
      a valid session for the user to access the repository.
      Throws:
      RepositoryException - if the proxied repository can not be accessed, or if the login in the proxied repository fails