Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.graph.connector.path
Class AbstractPathRepositorySource

    java.lang.Object
      org.modeshape.graph.connector.path.AbstractPathRepositorySource

All Implemented Interfaces:
  Serializable, Referenceable, PathRepositorySource, RepositorySource

    @ThreadSafe
    public abstract class AbstractPathRepositorySource

extends Object
implements PathRepositorySource

Basic implementation of the trivial `PathRepositorySource` methods and the `path repository cache life cycle`.

See Also:
  Serialized Form

Field Summary
`protected PathCachePolicy` | `cachePolicy`
`static PathCachePolicy` | `DEFAULT_CACHE_POLICY` The default cache policy for this repository source (no caching)
`static int` | `DEFAULT_RETRY_LIMIT` The default number of times that a request that failed due to system error should be retried
`static String` | `DEFAULT_ROOT_NODE_UUID` The default UUID that is used for root nodes in a store.
`protected String` | `name`
`protected RepositoryContext` | `repositoryContext`
`protected int` | `retryLimit`
`protected UUID` | `rootNodeUuid`

Constructor Summary
`AbstractPathRepositorySource()`

Method Summary
`boolean` | `areUpdatesAllowed()` Get whether this source allows updates.
`void` | `close()` Signal this source that it is no longer needed and should begin the process of reclaiming or closing all resources that it has acquired.
`PathCachePolicy` | `getCachePolicy()` Returns the `cache policy` for the repository source
`String` | `getName()` Get the name for this repository source.
`PathRepositoryCache` | `getPathRepositoryCache()`
`RepositoryContext` | `getRepositoryContext()` Returns the `repository context` for the repository source
`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()` Get the UUID that is used for the root node of each workspace
`void` | `initialize(RepositoryContext context)` Initialize this source to use the supplied `RepositoryContext`, from which this source can obtain the `configuration` defining this source, `connections` to other `sources`, and the `execution context`.
`void` | `setCachePolicy(PathCachePolicy cachePolicy)` Sets the cache policy for the repository and replaces the path repository cache with a new path repository cache tied to the new cache policy
`void` | `setName(String name)` Sets the name of the repository source.
`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(String rootNodeUuid)`
`protected Map<String,Object>` | `valuesFrom(Reference ref)` Extracts the values from the given reference, automatically translating `BinaryRefAddr` instances into the deserialized classes that they represent.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.modeshape.graph.connector.path.PathRepositorySource
`getDefaultWorkspaceName, setUpdatesAllowed`

Methods inherited from interface org.modeshape.graph.connector.RepositorySource
`getCapabilities, getConnection`

Methods inherited from interface javax.naming.Referenceable
`getReference`

Field Detail

### DEFAULT_ROOT_NODE_UUID

    public static final String DEFAULT_ROOT_NODE_UUID

  The default UUID that is used for root nodes in a store.

  See Also:
    Constant Field Values

### DEFAULT_RETRY_LIMIT

    public static final int DEFAULT_RETRY_LIMIT

  The default number of times that a request that failed due to system error should be retried

  See Also:
    Constant Field Values

### DEFAULT_CACHE_POLICY

    public static final PathCachePolicy DEFAULT_CACHE_POLICY

  The default cache policy for this repository source (no caching)

### retryLimit

    protected int retryLimit

### name

    protected String name

### repositoryContext

    protected transient RepositoryContext repositoryContext

### rootNodeUuid

    protected transient UUID rootNodeUuid

### cachePolicy

    protected transient PathCachePolicy cachePolicy

Constructor Detail

### AbstractPathRepositorySource

    public AbstractPathRepositorySource()

Method Detail

### areUpdatesAllowed

    public boolean areUpdatesAllowed()

  Get whether this source allows updates.

  Specified by:
    `areUpdatesAllowed` in interface `PathRepositorySource`
  Returns:
    true if this source allows updates by clients, or false if no updates are allowed
  See Also:
    `PathRepositorySource.areUpdatesAllowed()`

### getRepositoryContext

    public RepositoryContext getRepositoryContext()

  Returns the `repository context` for the repository source

  Specified by:
    `getRepositoryContext` in interface `PathRepositorySource`
  Returns:
    the `repository context` for the repository source
  See Also:
    `PathRepositorySource.getRepositoryContext()`

### initialize

    public void initialize(RepositoryContext context)
                    throws RepositorySourceException

  Initialize this source to use the supplied `RepositoryContext`, from which this source can obtain the `configuration` defining this source, `connections` to other `sources`, and the `execution context`.

  This method may be called each time the configuration changes, allowing the source to update itself.

  Specified by:
    `initialize` in interface `RepositorySource`
  Throws:
    `RepositorySourceException`
  See Also:
    `RepositorySource.initialize(RepositoryContext)`

### getCachePolicy

    public PathCachePolicy getCachePolicy()

  Returns the `cache policy` for the repository source

  Specified by:
    `getCachePolicy` in interface `PathRepositorySource`
  Returns:
    the `cache policy` for the repository source
  See Also:
    `PathRepositorySource.getCachePolicy()`

### setCachePolicy

    public void setCachePolicy(PathCachePolicy cachePolicy)

  Sets the cache policy for the repository and replaces the path repository cache with a new path repository cache tied to the new cache policy

  Parameters:
    `cachePolicy` - the new cache policy; may not be null

### getRootNodeUuid

    public UUID getRootNodeUuid()

  Description copied from interface: `PathRepositorySource`
  Get the UUID that is used for the root node of each workspace

  Specified by:
    `getRootNodeUuid` in interface `PathRepositorySource`
  Returns:
    rootNodeUuid

### setRootNodeUuid

    public void setRootNodeUuid(String rootNodeUuid)

  Parameters:
    `rootNodeUuid` - Sets rootNodeUuid to the specified value.
  Throws:
    `IllegalArgumentException` - if the string value cannot be converted to UUID

### close

    public void close()

  Signal this source that it is no longer needed and should begin the process of reclaiming or closing all resources that it has acquired. Because `connections` may still be in use, this method may not necessarily close all resources immediately.

  This is a required method, and must be called when this source is no longer needed if one or more `connections` have been obtained since the previous call to this method.

  Note that calling this method also does not preclude `obtaining more connections` after this method is called. If that happens, this source should simply reacquire any resources necessary to provide additional connections, and this method needs to be called once again.

  Specified by:
    `close` in interface `RepositorySource`
  See Also:
    `RepositorySource.close()`

### getName

    public String getName()

  Get the name for this repository source.

  Specified by:
    `getName` in interface `RepositorySource`
  Returns:
    the name; never null or empty
  See Also:
    `RepositorySource.getName()`

### setName

    public void setName(String name)

  Sets the name of the repository source. The name should be unique among loaded repository sources.

  Parameters:
    `name` - the new name for the repository source; may not be empty

### 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 limit)`

### valuesFrom

    protected Map<String,Object> valuesFrom(Reference ref)
                                     throws IOException,
                                            ClassNotFoundException

  Extracts the values from the given reference, automatically translating `BinaryRefAddr` instances into the deserialized classes that they represent.

  Parameters:
    `ref` - the reference from which the values should be extracted
  Returns:
    a map of value names to values from the reference
  Throws:
    `IOException` - if there is an error deserializing a `BinaryRefAddr`
    `ClassNotFoundException` - if a serialized class cannot be deserialized because its class is not in the classpath

### getPathRepositoryCache

    public PathRepositoryCache getPathRepositoryCache()

  Returns:
    the active path repository cache; never null

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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