org.jboss.dna.graph.connector.inmemory
Class InMemoryRepositorySource

java.lang.Object
  extended by org.jboss.dna.graph.connector.inmemory.InMemoryRepositorySource
All Implemented Interfaces:
Serializable, Referenceable, ObjectFactory, RepositorySource

public class InMemoryRepositorySource
extends Object
implements RepositorySource, ObjectFactory

A RepositorySource for an in-memory repository. Each InMemoryRepositorySource instance contains its own repository, and the lifetime of the source dictates the lifetime of the repository and its content.

Author:
Randall Hauch
See Also:
Serialized Form

Field Summary
static int DEFAULT_RETRY_LIMIT
          The default limit is 0 for retrying connection calls to the underlying source.
static String DEFAULT_WORKSPACE_NAME
          The default name for the workspace used by this source, which is a blank string.
 
Constructor Summary
InMemoryRepositorySource()
          Create a repository source instance.
 
Method Summary
 RepositorySourceCapabilities getCapabilities()
          Get the capabilities for this source.
 RepositoryConnection getConnection()
          Get a connection from this source.
 CachePolicy getDefaultCachePolicy()
          Get the default cache policy for this source, or null if the global default cache policy should be used
 String getDefaultWorkspaceName()
          Get the name of the workspace that should be used by default.
 String getJndiName()
          Gets the JNDI name this source is bound to.
 String getName()
          Get the name for this repository source.
 Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment)
          
 Reference getReference()
          
 RepositoryContext getRepositoryContext()
           
 int getRetryLimit()
          Get the maximum number of retries that may be performed on a given operation when using connections created by this source.
 UUID getRootNodeUuid()
           
 void initialize(RepositoryContext context)
          Initialize this source to use the supplied RepositoryContext, from which this source can obtain connections to other sources as well as execution contexts.
 void setDefaultCachePolicy(CachePolicy defaultCachePolicy)
           
 void setDefaultWorkspaceName(String defaultWorkspaceName)
          Set the default workspace name.
 void setJndiName(String name)
          If you use this to set a JNDI name, this source will be bound to that name using the default InitialContext.
 void setJndiName(String name, Context context)
          Register this source in JNDI under the supplied name using the supplied context. to set a JNDI name, this source will be bound to that name using the default InitialContext.
 void setName(String name)
           
 void setRetryLimit(int limit)
          Set the maximum number of retries that may be performed on a given operation when using connections created by this source.
 void setRootNodeUuid(UUID rootNodeUuid)
           
 String toString()
          
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_RETRY_LIMIT

public static final int DEFAULT_RETRY_LIMIT
The default limit is 0 for retrying connection calls to the underlying source.

See Also:
Constant Field Values

DEFAULT_WORKSPACE_NAME

public static final String DEFAULT_WORKSPACE_NAME
The default name for the workspace used by this source, which is a blank string.

See Also:
Constant Field Values
Constructor Detail

InMemoryRepositorySource

public InMemoryRepositorySource()
Create a repository source instance.

Method Detail

initialize

public void initialize(RepositoryContext context)
                throws RepositorySourceException
Initialize this source to use the supplied RepositoryContext, from which this source can obtain connections to other sources as well as execution contexts.

Specified by:
initialize in interface RepositorySource
Throws:
RepositorySourceException
See Also:
RepositorySource.initialize(org.jboss.dna.graph.connector.RepositoryContext)

getRepositoryContext

public RepositoryContext getRepositoryContext()
Returns:
repositoryContext

getRetryLimit

public int getRetryLimit()
Get the maximum number of retries that may be performed on a given operation when using connections created by this source. This value does not constitute a minimum number of retries; in fact, the connection user is not required to retry any operations.

Specified by:
getRetryLimit in interface RepositorySource
Returns:
the maximum number of allowable retries, or 0 if the source has no limit
See Also:
RepositorySource.getRetryLimit()

setRetryLimit

public void setRetryLimit(int limit)
Set the maximum number of retries that may be performed on a given operation when using connections created by this source. This value does not constitute a minimum number of retries; in fact, the connection user is not required to retry any operations.

Specified by:
setRetryLimit in interface RepositorySource
Parameters:
limit - the maximum number of allowable retries, or 0 if the source has no limit
See Also:
RepositorySource.setRetryLimit(int)

getDefaultCachePolicy

public CachePolicy getDefaultCachePolicy()
Get the default cache policy for this source, or null if the global default cache policy should be used

Returns:
the default cache policy, or null if this source has no explicit default cache policy

setDefaultCachePolicy

public void setDefaultCachePolicy(CachePolicy defaultCachePolicy)
Parameters:
defaultCachePolicy - Sets defaultCachePolicy to the specified value.

getDefaultWorkspaceName

public String getDefaultWorkspaceName()
Get the name of the workspace that should be used by default.

Returns:
the name of the default workspace

setDefaultWorkspaceName

public void setDefaultWorkspaceName(String defaultWorkspaceName)
Set the default workspace name.

Parameters:
defaultWorkspaceName - the name of the workspace that should be used by default, or null if "" should be used

getRootNodeUuid

public UUID getRootNodeUuid()
Returns:
rootNodeUuid

setRootNodeUuid

public void setRootNodeUuid(UUID rootNodeUuid)
Parameters:
rootNodeUuid - Sets rootNodeUuid to the specified value.

setJndiName

public void setJndiName(String name)
                 throws NamingException
If you use this to set a JNDI name, this source will be bound to that name using the default InitialContext. You can also do this manually if you have additional requirements.

Parameters:
name - the JNDI name
Throws:
NamingException - if there is a problem registering this object
See Also:
getJndiName()

setJndiName

public void setJndiName(String name,
                        Context context)
                 throws NamingException
Register this source in JNDI under the supplied name using the supplied context. to set a JNDI name, this source will be bound to that name using the default InitialContext. You can also do this manually if you have additional requirements.

Parameters:
name - the JNDI name, or null if this object is to no longer be registered
context - the JNDI context, or null if the InitialContext should be used
Throws:
NamingException - if there is a problem registering this object
See Also:
getJndiName()

getJndiName

public String getJndiName()
Gets the JNDI name this source is bound to. Only valid if you used setJNDIName to bind it.

Returns:
the JNDI name, or null if it is not bound in JNDI
See Also:
setJndiName(String)

getName

public String getName()
Get the name for this repository source.

Specified by:
getName in interface RepositorySource
Returns:
the name; never null or empty

setName

public void setName(String name)
Parameters:
name - Sets name to the specified value.

getConnection

public RepositoryConnection getConnection()
                                   throws RepositorySourceException
Get a connection from this source.

Specified by:
getConnection in interface RepositorySource
Returns:
a connection
Throws:
RepositorySourceException - if there is a problem obtaining a connection
See Also:
RepositorySource.getConnection()

getReference

public Reference getReference()

Specified by:
getReference in interface Referenceable

getObjectInstance

public Object getObjectInstance(Object obj,
                                Name name,
                                Context nameCtx,
                                Hashtable<?,?> environment)
                         throws Exception

Specified by:
getObjectInstance in interface ObjectFactory
Throws:
Exception

getCapabilities

public RepositorySourceCapabilities getCapabilities()
Get the capabilities for this source.

Specified by:
getCapabilities in interface RepositorySource
Returns:
the capabilities for this source; never null
See Also:
RepositorySource.getCapabilities()

toString

public String toString()

Overrides:
toString in class Object
See Also:
Object.toString()


Copyright © 2008-Present JBoss a division of Red Hat. All Rights Reserved.