org.apache.sling.jcr.base.util
Class RepositoryAccessor

java.lang.Object
  extended by org.apache.sling.jcr.base.util.RepositoryAccessor

public class RepositoryAccessor
extends java.lang.Object

Access a Repository via JNDI or RMI.


Field Summary
static java.lang.String JNDI_PREFIX
          Prefix for JNDI Repository URLs
static java.lang.String REPOSITORY_URL_OVERRIDE_PROPERTY
          Name of the property that the jcr client and server bundles to override their default configuration settings and connect to the specified repository instead (SLING-254 and SLING-260)
static java.lang.String RMI_PREFIX
          Prefix for RMI Repository URLs
 
Constructor Summary
RepositoryAccessor()
           
 
Method Summary
protected  org.apache.jackrabbit.rmi.client.ClientRepositoryFactory getClientRepositoryFactory()
          Returns the ClientRepositoryFactory to access the remote JCR repository over RMI.
protected  org.apache.jackrabbit.rmi.client.LocalAdapterFactory getLocalAdapterFactory()
          Returns the LocalAdapterFactory used to convert Jackrabbit JCR RMI remote objects to local JCR API objects.
 javax.jcr.Repository getRepository(java.lang.String repositoryName, java.util.Hashtable<java.lang.String,java.lang.Object> jndiContext)
          First try to access the Repository via JNDI (unless jndiContext is null), and if not successful try RMI.
 javax.jcr.Repository getRepositoryFromURL(java.lang.String url)
          Acquire a Repository from the given URL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RMI_PREFIX

public static final java.lang.String RMI_PREFIX
Prefix for RMI Repository URLs

See Also:
Constant Field Values

JNDI_PREFIX

public static final java.lang.String JNDI_PREFIX
Prefix for JNDI Repository URLs

See Also:
Constant Field Values

REPOSITORY_URL_OVERRIDE_PROPERTY

public static final java.lang.String REPOSITORY_URL_OVERRIDE_PROPERTY
Name of the property that the jcr client and server bundles to override their default configuration settings and connect to the specified repository instead (SLING-254 and SLING-260)

See Also:
Constant Field Values
Constructor Detail

RepositoryAccessor

public RepositoryAccessor()
Method Detail

getRepository

public javax.jcr.Repository getRepository(java.lang.String repositoryName,
                                          java.util.Hashtable<java.lang.String,java.lang.Object> jndiContext)
First try to access the Repository via JNDI (unless jndiContext is null), and if not successful try RMI.

Parameters:
repositoryName - JNDI name or RMI URL (must start with "rmi://") of the Repository
jndiContext - if null, JNDI is not tried
Returns:
a Repository, or null if not found

getRepositoryFromURL

public javax.jcr.Repository getRepositoryFromURL(java.lang.String url)
Acquire a Repository from the given URL

Parameters:
url - for RMI, an RMI URL. For JNDI, "jndi://", followed by the JNDI repository name, followed by a colon and a comma-separated list of JNDI context values, for example:
      jndi://jackrabbit:java.naming.factory.initial=org.SomeClass,java.naming.provider.url=http://foo.com
 
Throws:
java.lang.NullPointerException - If url is null.

getLocalAdapterFactory

protected org.apache.jackrabbit.rmi.client.LocalAdapterFactory getLocalAdapterFactory()
Returns the LocalAdapterFactory used to convert Jackrabbit JCR RMI remote objects to local JCR API objects.

This method returns an instance of the JackrabbitClientAdapterFactory which allows accessing Jackrabbit (or Jackrabbit-based) repositories over RMI. Extensions of this class may overwrite this method to use a different implementation.


getClientRepositoryFactory

protected org.apache.jackrabbit.rmi.client.ClientRepositoryFactory getClientRepositoryFactory()
Returns the ClientRepositoryFactory to access the remote JCR repository over RMI.

This method creates an instance of the ClientRepositoryFactory class initialized with the LocalAdapterFactory returned from the getLocalAdapterFactory() method. Extensions may overwrite this method to return an extension of the Jackrabbit JCR RMI ClientRepositoryFactory class.



Copyright © 2007-2009. All Rights Reserved.