org.exoplatform.services.jcr.rmi.api.client
Class ClientRepositoryFactory

java.lang.Object
  extended by org.exoplatform.services.jcr.rmi.api.client.ClientRepositoryFactory
All Implemented Interfaces:
javax.naming.spi.ObjectFactory

public class ClientRepositoryFactory
extends java.lang.Object
implements javax.naming.spi.ObjectFactory

Object factory for JCR-RMI clients. This factory can be used either directly or as a JNDI object factory.

See Also:
ClientRepository

Field Summary
static java.lang.String URL_PARAMETER
          The JNDI parameter name for configuring the RMI URL of a remote repository.
 
Constructor Summary
ClientRepositoryFactory()
          Creates a JCR-RMI client factory with the default adapter factory.
ClientRepositoryFactory(LocalAdapterFactory factory)
          Creates a JCR-RMI client factory with the given adapter factory.
 
Method Summary
 java.lang.Object getObjectInstance(java.lang.Object object, javax.naming.Name name, javax.naming.Context context, java.util.Hashtable environment)
          JNDI factory method for creating JCR-RMI clients.
 javax.jcr.Repository getRepository(java.lang.String url)
          Returns a client wrapper for a remote content repository.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

URL_PARAMETER

public static final java.lang.String URL_PARAMETER
The JNDI parameter name for configuring the RMI URL of a remote repository.

See Also:
Constant Field Values
Constructor Detail

ClientRepositoryFactory

public ClientRepositoryFactory()
Creates a JCR-RMI client factory with the default adapter factory.


ClientRepositoryFactory

public ClientRepositoryFactory(LocalAdapterFactory factory)
Creates a JCR-RMI client factory with the given adapter factory.

Parameters:
factory - local adapter factory
Method Detail

getRepository

public javax.jcr.Repository getRepository(java.lang.String url)
                                   throws java.lang.ClassCastException,
                                          java.net.MalformedURLException,
                                          java.rmi.NotBoundException,
                                          java.rmi.RemoteException
Returns a client wrapper for a remote content repository. The remote repository is looked up from the RMI registry using the given URL and wrapped into a ClientRepository adapter.

Parameters:
url - the RMI URL of the remote repository
Returns:
repository client
Throws:
java.lang.ClassCastException - if the URL points to an unknown object
java.net.MalformedURLException - if the URL is malformed
java.rmi.NotBoundException - if the URL points to nowhere
java.rmi.RemoteException - on RMI errors

getObjectInstance

public java.lang.Object getObjectInstance(java.lang.Object object,
                                          javax.naming.Name name,
                                          javax.naming.Context context,
                                          java.util.Hashtable environment)
                                   throws javax.naming.NamingException
JNDI factory method for creating JCR-RMI clients. Looks up a remote repository using the reference parameter "url" as the RMI URL and returns a client wrapper for the remote repository.

Specified by:
getObjectInstance in interface javax.naming.spi.ObjectFactory
Parameters:
object - reference parameters
name - unused
context - unused
environment - unused
Returns:
repository client
Throws:
javax.naming.NamingException - on all errors


Copyright © 2010 eXo Platform SAS. All Rights Reserved.