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

## org.apache.slide.store
Class ExtendedStore

    java.lang.Object
      org.apache.slide.common.AbstractServiceBase
          org.apache.slide.common.AbstractSimpleService
              org.apache.slide.store.AbstractStore
                  org.apache.slide.store.ExtendedStore

All Implemented Interfaces:
  ContentStore, LockStore, NodeStore, RevisionDescriptorsStore, RevisionDescriptorStore, SecurityStore, SequenceStore, Service, Store, javax.transaction.xa.XAResource

Direct Known Subclasses:
  BindingStore

public class ExtendedStore
extends AbstractStore

Store that allows for transactional caching of data. Takes over much modified code from StandardStore. That's why Remy is listed as author as well.

Version:
  $Revision: 1.18 $

Nested Class Summary
`protected class` | `ExtendedStore.TxCacheWrapper`
`protected class` | `ExtendedStore.TxContentCacheWrapper`

Field Summary
`protected java.lang.ThreadLocal` | `activeTransactionBranch`
`protected static java.lang.String` | `CACHE_MODE_FULL`
`protected static java.lang.String` | `CACHE_MODE_LOCAL`
`protected static java.lang.String` | `CACHE_MODE_NO_GLOBAL_IN_TX`
`protected static java.lang.String` | `CACHE_MODE_OFF`
`protected static java.lang.String` | `CACHE_MODE_PARAMETER`
`protected static java.lang.String` | `CONTENT_CACHE_BYTES_PARAMETER`
`protected ExtendedStore.TxContentCacheWrapper` | `contentCache`
`(package private) long` | `contentCacheBytes`
`(package private) boolean` | `contentCachingEnabled`
`protected static java.lang.String` | `DEFAULT_CACHE_MODE`
`protected static long` | `DEFAULT_CONTENT_CACHE_BYTES`
`protected static boolean` | `DEFAULT_ENABLE_CONTENT_CACHING`
`protected static int` | `DEFAULT_GLOBAL_CONTENT_CACHE_SIZE`
`protected static int` | `DEFAULT_GLOBAL_DESCRIPTOR_CACHE_SIZE`
`protected static int` | `DEFAULT_GLOBAL_DESCRIPTORS_CACHE_SIZE`
`protected static int` | `DEFAULT_GLOBAL_LOCK_CACHE_SIZE`
`protected static int` | `DEFAULT_GLOBAL_PERMISSION_CACHE_SIZE`
`protected static long` | `DEFAULT_MAX_CONTENT_BYTES_PER_ENTRY`
`protected static int` | `DEFAULT_OBJECT_GLOBAL_CACHE_SIZE`
`protected static int` | `DEFAULT_TLOCK_TIMEOUT`
`protected static long` | `DEFAULT_TX_CONTENT_CACHE_BYTES`
`protected static int` | `DEFAULT_TX_CONTENT_CACHE_SIZE`
`protected ExtendedStore.TxCacheWrapper` | `descriptorCache`
`protected ExtendedStore.TxCacheWrapper` | `descriptorsCache`
`protected static java.lang.String` | `ENABLE_CONTENT_CACHING_PARAMETER`
`protected static java.lang.String` | `GLOBAL_CONTENT_CACHE_SIZE_PARAMETER`
`protected static java.lang.String` | `GLOBAL_DESCRIPTOR_CACHE_SIZE_PARAMETER`
`protected static java.lang.String` | `GLOBAL_DESCRIPTORS_CACHE_SIZE_PARAMETER`
`protected static java.lang.String` | `GLOBAL_LOCK_CACHE_SIZE_PARAMETER`
`protected static java.lang.String` | `GLOBAL_OBJECT_CACHE_SIZE_PARAMETER`
`protected static java.lang.String` | `GLOBAL_PERMISSION_CACHE_SIZE_PARAMETER`
`protected boolean` | `globalCacheOff`
`(package private) int` | `globalContentCacheSize`
`(package private) int` | `globalDescrtiptorCacheSize`
`(package private) int` | `globalDescrtiptorsCacheSize`
`(package private) int` | `globalLockCacheSize`
`(package private) int` | `globalObjectCacheSize`
`(package private) int` | `globalPermissionCacheSize`
`protected org.apache.commons.transaction.locking.GenericLockManager` | `lockManager`
`protected java.lang.ThreadLocal` | `locks`
`protected ExtendedStore.TxCacheWrapper` | `locksCache`
`protected static java.lang.String` | `MAX_CONTENT_BYTES_PER_ENTRY_PARAMETER`
`(package private) long` | `maxByteSizePerEntry`
`(package private) boolean` | `noGlobalCacheInTx`
`protected ExtendedStore.TxCacheWrapper` | `objectsCache`
`protected ExtendedStore.TxCacheWrapper` | `permissionsCache`
`protected long` | `timeout`
`protected static java.lang.String` | `TLOCK_TIMEOUT_PARAMETER`
`protected static java.lang.String` | `TX_CONTENT_CACHE_BYTES_PARAMETER`
`protected static java.lang.String` | `TX_CONTENT_CACHE_SIZE_PARAMETER`
`(package private) long` | `txContentCacheBytes`
`(package private) int` | `txContentCacheSize`

Fields inherited from class org.apache.slide.store.AbstractStore
`contentIndexer, contentStore, lockStore, nodeStore, parameters, propertiesIndexer, resourceManagers, revisionDescriptorsStore, revisionDescriptorStore, securityStore, sequenceStore`

Fields inherited from class org.apache.slide.common.AbstractSimpleService
`currentContext, rollbackOnly, status, transactionTimeout, TX_IDLE, TX_PREPARED, TX_SUSPENDED`

Fields inherited from class org.apache.slide.common.AbstractServiceBase
`namespace, scope`

Fields inherited from interface javax.transaction.xa.XAResource
`TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY`

Constructor Summary
`ExtendedStore()`

Method Summary
`void` | `commit(javax.transaction.xa.Xid xid, boolean onePhase)` Commit the global transaction specified by xid.
`void` | `createObject(Uri uri, ObjectNode object)` Create a new object in the Descriptors Store.
`void` | `createRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeRevisionContent revisionContent)` Create a new revision
`void` | `createRevisionDescriptor(Uri uri, NodeRevisionDescriptor revisionDescriptor)` Create new revision descriptor.
`void` | `createRevisionDescriptors(Uri uri, NodeRevisionDescriptors revisionDescriptors)` Create new revision descriptors.
`void` | `end(javax.transaction.xa.Xid xid, int flags)` Ends the work performed on behalf of a transaction branch.
`java.util.Enumeration` | `enumerateLocks(Uri uri)` Enumerate locks on an object.
`java.util.Enumeration` | `enumeratePermissions(Uri uri)` Enumerate locks on an object.
`void` | `exclusiveTransientLock(java.lang.String uri)` Acquires an exclusive access lock to a resource.
`protected void` | `fatalError(java.lang.Error e)`
`protected void` | `fatalError(java.lang.RuntimeException re)`
`protected java.util.Vector` | `fillLocksCache(Uri uri)`
`protected java.util.Vector` | `fillPermissionsCache(Uri uri)`
`void` | `forget(javax.transaction.xa.Xid xid)` Tell the resource manager to forget about a heuristically completed transaction branch.
`void` | `grantPermission(Uri uri, NodePermission permission)` Store an object permissions in the Descriptors Store.
`protected void` | `init(int globalObjectCacheSize, int globalPermissionCacheSize, int globalLockCacheSize, int globalDescrtiptorsCacheSize, int globalDescrtiptorCacheSize, boolean contentCachingEnabled, int globalContentCacheSize, long contentCacheBytes, int txContentCacheSize, long txContentCacheBytes, long maxByteSizePerEntry, boolean noGlobalCacheInTx)`
`void` | `killLock(Uri uri, NodeLock lock)` Kills a lock.
`int` | `prepare(javax.transaction.xa.Xid xid)` Ask the resource manager to prepare for a transaction commit of the transaction specified in xid.
`void` | `putLock(Uri uri, NodeLock lock)` Puts a lock on a subject.
`protected void` | `releaseTransientLocks()`
`void` | `removeLock(Uri uri, NodeLock lock)` Removes (cancels) a lock.
`void` | `removeObject(Uri uri, ObjectNode object)` Remove an object from the Descriptors Store.
`void` | `removeObjectFromCache(java.lang.Object key)` Removes an object from all internal caches.
`void` | `removeRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor)` Remove revision.
`void` | `removeRevisionDescriptor(Uri uri, NodeRevisionNumber number)` Remove revision descriptor.
`void` | `removeRevisionDescriptors(Uri uri)` Remove revision descriptors.
`void` | `renewLock(Uri uri, NodeLock lock)` Renews a lock.
`void` | `resetCache()`
`ObjectNode` | `retrieveObject(Uri uri)` Retrive an object from the Descriptors Store.
`NodeRevisionContent` | `retrieveRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor)` Retrive revision content.
`NodeRevisionDescriptor` | `retrieveRevisionDescriptor(Uri uri, NodeRevisionNumber revisionNumber)` Retrieve revision descriptor.
`NodeRevisionDescriptors` | `retrieveRevisionDescriptors(Uri uri)` Retrieve a revision descriptors.
`void` | `revokePermission(Uri uri, NodePermission permission)` Store an object permissions in the Descriptors Store.
`void` | `revokePermissions(Uri uri)` Revoke all the permissions on the object.
`void` | `rollback(javax.transaction.xa.Xid xid)` Inform the resource manager to roll back work done on behalf of a transaction branch.
`void` | `setParameters(java.util.Hashtable parameters)` Remeber the store parameters to initialise the default child stores on request
`void` | `start(javax.transaction.xa.Xid xid, int flags)` Start work on behalf of a transaction branch specified in xid.
`void` | `storeObject(Uri uri, ObjectNode object)` Store an object in the Descriptors Store.
`void` | `storeRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeRevisionContent revisionContent)` Modify the latest revision of an object.
`void` | `storeRevisionDescriptor(Uri uri, NodeRevisionDescriptor revisionDescriptor)` Update revision descriptor.
`void` | `storeRevisionDescriptors(Uri uri, NodeRevisionDescriptors revisionDescriptors)` Update revision descriptors.
`java.lang.String` | `toString()`

Methods inherited from class org.apache.slide.store.AbstractStore
`addResourceManager, connect, connect, createSequence, delist, delist, delist, disconnect, enlist, enlist, getContentIndexer, getName, getParameter, getPropertiesIndexer, initialize, isConnected, isForceStoreEnlistment, isSequenceSupported, nextSequenceValue, reset, sequenceExists, setContentIndexer, setContentStore, setLockStore, setName, setNamespace, setNodeStore, setPropertiesIndexer, setRevisionDescriptorsStore, setRevisionDescriptorStore, setRollbackOnly, setScope, setSecurityStore, setSequenceStore, useBinding`

Methods inherited from class org.apache.slide.common.AbstractSimpleService
`getTransactionTimeout, isSameRM, recover, setTransactionTimeout`

Methods inherited from class org.apache.slide.common.AbstractServiceBase
`cacheResults, connectIfNeeded, connectIfNeeded, getLogger`

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

Methods inherited from interface org.apache.slide.common.Service
`cacheResults, connectIfNeeded, connectIfNeeded, getLogger`

Methods inherited from interface javax.transaction.xa.XAResource
`getTransactionTimeout, isSameRM, recover, setTransactionTimeout`

Field Detail

### DEFAULT_OBJECT_GLOBAL_CACHE_SIZE

    protected static final int DEFAULT_OBJECT_GLOBAL_CACHE_SIZE

See Also:
  Constant Field Values

### GLOBAL_OBJECT_CACHE_SIZE_PARAMETER

    protected static final java.lang.String GLOBAL_OBJECT_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_GLOBAL_PERMISSION_CACHE_SIZE

    protected static final int DEFAULT_GLOBAL_PERMISSION_CACHE_SIZE

See Also:
  Constant Field Values

### GLOBAL_PERMISSION_CACHE_SIZE_PARAMETER

    protected static final java.lang.String GLOBAL_PERMISSION_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_GLOBAL_LOCK_CACHE_SIZE

    protected static final int DEFAULT_GLOBAL_LOCK_CACHE_SIZE

See Also:
  Constant Field Values

### GLOBAL_LOCK_CACHE_SIZE_PARAMETER

    protected static final java.lang.String GLOBAL_LOCK_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_GLOBAL_DESCRIPTORS_CACHE_SIZE

    protected static final int DEFAULT_GLOBAL_DESCRIPTORS_CACHE_SIZE

See Also:
  Constant Field Values

### GLOBAL_DESCRIPTORS_CACHE_SIZE_PARAMETER

    protected static final java.lang.String GLOBAL_DESCRIPTORS_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_GLOBAL_DESCRIPTOR_CACHE_SIZE

    protected static final int DEFAULT_GLOBAL_DESCRIPTOR_CACHE_SIZE

See Also:
  Constant Field Values

### GLOBAL_DESCRIPTOR_CACHE_SIZE_PARAMETER

    protected static final java.lang.String GLOBAL_DESCRIPTOR_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_GLOBAL_CONTENT_CACHE_SIZE

    protected static final int DEFAULT_GLOBAL_CONTENT_CACHE_SIZE

See Also:
  Constant Field Values

### GLOBAL_CONTENT_CACHE_SIZE_PARAMETER

    protected static final java.lang.String GLOBAL_CONTENT_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_ENABLE_CONTENT_CACHING

    protected static final boolean DEFAULT_ENABLE_CONTENT_CACHING

See Also:
  Constant Field Values

### ENABLE_CONTENT_CACHING_PARAMETER

    protected static final java.lang.String ENABLE_CONTENT_CACHING_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_TX_CONTENT_CACHE_SIZE

    protected static final int DEFAULT_TX_CONTENT_CACHE_SIZE

See Also:
  Constant Field Values

### TX_CONTENT_CACHE_SIZE_PARAMETER

    protected static final java.lang.String TX_CONTENT_CACHE_SIZE_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_CONTENT_CACHE_BYTES

    protected static final long DEFAULT_CONTENT_CACHE_BYTES

See Also:
  Constant Field Values

### CONTENT_CACHE_BYTES_PARAMETER

    protected static final java.lang.String CONTENT_CACHE_BYTES_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_TX_CONTENT_CACHE_BYTES

    protected static final long DEFAULT_TX_CONTENT_CACHE_BYTES

See Also:
  Constant Field Values

### TX_CONTENT_CACHE_BYTES_PARAMETER

    protected static final java.lang.String TX_CONTENT_CACHE_BYTES_PARAMETER

See Also:
  Constant Field Values

### DEFAULT_MAX_CONTENT_BYTES_PER_ENTRY

    protected static final long DEFAULT_MAX_CONTENT_BYTES_PER_ENTRY

See Also:
  Constant Field Values

### MAX_CONTENT_BYTES_PER_ENTRY_PARAMETER

    protected static final java.lang.String MAX_CONTENT_BYTES_PER_ENTRY_PARAMETER

See Also:
  Constant Field Values

### CACHE_MODE_PARAMETER

    protected static final java.lang.String CACHE_MODE_PARAMETER

See Also:
  Constant Field Values

### CACHE_MODE_FULL

    protected static final java.lang.String CACHE_MODE_FULL

See Also:
  Constant Field Values

### CACHE_MODE_LOCAL

    protected static final java.lang.String CACHE_MODE_LOCAL

See Also:
  Constant Field Values

### CACHE_MODE_NO_GLOBAL_IN_TX

    protected static final java.lang.String CACHE_MODE_NO_GLOBAL_IN_TX

See Also:
  Constant Field Values

### CACHE_MODE_OFF

    protected static final java.lang.String CACHE_MODE_OFF

See Also:
  Constant Field Values

### DEFAULT_CACHE_MODE

    protected static final java.lang.String DEFAULT_CACHE_MODE

See Also:
  Constant Field Values

### DEFAULT_TLOCK_TIMEOUT

    protected static final int DEFAULT_TLOCK_TIMEOUT

See Also:
  Constant Field Values

### TLOCK_TIMEOUT_PARAMETER

    protected static final java.lang.String TLOCK_TIMEOUT_PARAMETER

See Also:
  Constant Field Values

### activeTransactionBranch

    protected java.lang.ThreadLocal activeTransactionBranch

### contentCache

    protected ExtendedStore.TxContentCacheWrapper contentCache

### objectsCache

    protected ExtendedStore.TxCacheWrapper objectsCache

### permissionsCache

    protected ExtendedStore.TxCacheWrapper permissionsCache

### locksCache

    protected ExtendedStore.TxCacheWrapper locksCache

### descriptorsCache

    protected ExtendedStore.TxCacheWrapper descriptorsCache

### descriptorCache

    protected ExtendedStore.TxCacheWrapper descriptorCache

### lockManager

    protected org.apache.commons.transaction.locking.GenericLockManager lockManager

### locks

    protected java.lang.ThreadLocal locks

### timeout

    protected long timeout

### globalCacheOff

    protected boolean globalCacheOff

### globalObjectCacheSize

    int globalObjectCacheSize

### globalPermissionCacheSize

    int globalPermissionCacheSize

### globalLockCacheSize

    int globalLockCacheSize

### globalDescrtiptorsCacheSize

    int globalDescrtiptorsCacheSize

### globalDescrtiptorCacheSize

    int globalDescrtiptorCacheSize

### contentCachingEnabled

    boolean contentCachingEnabled

### globalContentCacheSize

    int globalContentCacheSize

### contentCacheBytes

    long contentCacheBytes

### txContentCacheSize

    int txContentCacheSize

### txContentCacheBytes

    long txContentCacheBytes

### maxByteSizePerEntry

    long maxByteSizePerEntry

### noGlobalCacheInTx

    boolean noGlobalCacheInTx

Constructor Detail

### ExtendedStore

    public ExtendedStore()

Method Detail

### setParameters

    public void setParameters(java.util.Hashtable parameters)
                       throws ServiceParameterErrorException,
                              ServiceParameterMissingException

  Description copied from class: `AbstractStore`
  Remeber the store parameters to initialise the default child stores on request

  Specified by:
    `setParameters` in interface `Service`
  Overrides:
    `setParameters` in class `AbstractStore`
  Parameters:
    `parameters` - Hashtable containing the parameters' name and associated value
  Throws:
    `ServiceParameterMissingException` - Service parameter missing
    `ServiceParameterErrorException` - Incorrect service parameter

### resetCache

    public void resetCache()

### removeObjectFromCache

    public void removeObjectFromCache(java.lang.Object key)

  Removes an object from all internal caches.

  Parameters:
    `key` - the key under which the object is stored in the caches.

### exclusiveTransientLock

    public void exclusiveTransientLock(java.lang.String uri)
                                throws ServiceAccessException

  Description copied from interface: `Store`
  Acquires an exclusive access lock to a resource. This lock is transient, i.e. it will automatically be released when your transaction terminates.

  Specified by:
    `exclusiveTransientLock` in interface `Store`
  Overrides:
    `exclusiveTransientLock` in class `AbstractStore`
  Throws:
    `ServiceAccessException`

### retrieveRevisionContent

    public NodeRevisionContent retrieveRevisionContent(Uri uri,
                                                       NodeRevisionDescriptor revisionDescriptor)
                                                throws ServiceAccessException,
                                                       RevisionNotFoundException

  Description copied from class: `AbstractStore`
  Retrive revision content.

  Specified by:
    `retrieveRevisionContent` in interface `ContentStore`
  Overrides:
    `retrieveRevisionContent` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptor` - Node revision descriptor
  Throws:
    `ServiceAccessException`
    `RevisionNotFoundException`

### createRevisionContent

    public void createRevisionContent(Uri uri,
                                      NodeRevisionDescriptor revisionDescriptor,
                                      NodeRevisionContent revisionContent)
                               throws ServiceAccessException,
                                      RevisionAlreadyExistException

  Description copied from class: `AbstractStore`
  Create a new revision

  Specified by:
    `createRevisionContent` in interface `ContentStore`
  Overrides:
    `createRevisionContent` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptor` - Node revision descriptor
    `revisionContent` - Node revision content
  Throws:
    `ServiceAccessException`
    `RevisionAlreadyExistException`

### storeRevisionContent

    public void storeRevisionContent(Uri uri,
                                     NodeRevisionDescriptor revisionDescriptor,
                                     NodeRevisionContent revisionContent)
                              throws ServiceAccessException,
                                     RevisionNotFoundException

  Description copied from class: `AbstractStore`
  Modify the latest revision of an object.

  Specified by:
    `storeRevisionContent` in interface `ContentStore`
  Overrides:
    `storeRevisionContent` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptor` - Node revision descriptor
    `revisionContent` - Node revision content
  Throws:
    `ServiceAccessException`
    `RevisionNotFoundException`

### removeRevisionContent

    public void removeRevisionContent(Uri uri,
                                      NodeRevisionDescriptor revisionDescriptor)
                               throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Remove revision.

  Specified by:
    `removeRevisionContent` in interface `ContentStore`
  Overrides:
    `removeRevisionContent` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptor` - Node revision descriptor
  Throws:
    `ServiceAccessException`

### retrieveObject

    public ObjectNode retrieveObject(Uri uri)
                              throws ServiceAccessException,
                                     ObjectNotFoundException

  Description copied from class: `AbstractStore`
  Retrive an object from the Descriptors Store.

  Specified by:
    `retrieveObject` in interface `NodeStore`
  Overrides:
    `retrieveObject` in class `AbstractStore`
  Parameters:
    `uri` - Uri of the object we want to retrieve
  Throws:
    `ServiceAccessException` - Error accessing the Descriptors Store
    `ObjectNotFoundException` - The object to retrieve was not found

### storeObject

    public void storeObject(Uri uri,
                            ObjectNode object)
                     throws ServiceAccessException,
                            ObjectNotFoundException

  Description copied from class: `AbstractStore`
  Store an object in the Descriptors Store.

  Specified by:
    `storeObject` in interface `NodeStore`
  Overrides:
    `storeObject` in class `AbstractStore`
  Parameters:
    `object` - Object to update
  Throws:
    `ObjectNotFoundException` - The object to update was not found
    `ServiceAccessException` - Error accessing the Descriptors Store

### createObject

    public void createObject(Uri uri,
                             ObjectNode object)
                      throws ServiceAccessException,
                             ObjectAlreadyExistsException

  Description copied from class: `AbstractStore`
  Create a new object in the Descriptors Store.

  Specified by:
    `createObject` in interface `NodeStore`
  Overrides:
    `createObject` in class `AbstractStore`
  Parameters:
    `object` - SlideObject
    `uri` - Uri of the object we want to create
  Throws:
    `ServiceAccessException` - Error accessing the Descriptors Store
    `ObjectAlreadyExistsException` - An object already exists at this Uri

### removeObject

    public void removeObject(Uri uri,
                             ObjectNode object)
                      throws ServiceAccessException,
                             ObjectNotFoundException

  Description copied from class: `AbstractStore`
  Remove an object from the Descriptors Store.

  Specified by:
    `removeObject` in interface `NodeStore`
  Overrides:
    `removeObject` in class `AbstractStore`
  Parameters:
    `object` - Object to remove
  Throws:
    `ObjectNotFoundException` - The object to remove was not found
    `ServiceAccessException` - Error accessing the Descriptors Store

### grantPermission

    public void grantPermission(Uri uri,
                                NodePermission permission)
                         throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Store an object permissions in the Descriptors Store.

  Specified by:
    `grantPermission` in interface `SecurityStore`
  Overrides:
    `grantPermission` in class `AbstractStore`
  Parameters:
    `permission` - Permission we want to create
  Throws:
    `ServiceAccessException` - Error accessing the Descriptors Store

### revokePermission

    public void revokePermission(Uri uri,
                                 NodePermission permission)
                          throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Store an object permissions in the Descriptors Store.

  Specified by:
    `revokePermission` in interface `SecurityStore`
  Overrides:
    `revokePermission` in class `AbstractStore`
  Parameters:
    `permission` - Permission we want to create
  Throws:
    `ServiceAccessException` - Error accessing the Descriptors Store

### revokePermissions

    public void revokePermissions(Uri uri)
                           throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Revoke all the permissions on the object.

  Specified by:
    `revokePermissions` in interface `SecurityStore`
  Overrides:
    `revokePermissions` in class `AbstractStore`
  Parameters:
    `uri` - Uri of the object
  Throws:
    `ServiceAccessException` - Error accessing the Descriptors Store

### enumeratePermissions

    public java.util.Enumeration enumeratePermissions(Uri uri)
                                               throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Enumerate locks on an object.

  Specified by:
    `enumeratePermissions` in interface `SecurityStore`
  Overrides:
    `enumeratePermissions` in class `AbstractStore`
  Parameters:
    `uri` - Uri of the subject
  Returns:
    Enumeration List of `locks` which have been put on the subject
  Throws:
    `ServiceAccessException` - Service access error

### putLock

    public void putLock(Uri uri,
                        NodeLock lock)
                 throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Puts a lock on a subject.

  Specified by:
    `putLock` in interface `LockStore`
  Overrides:
    `putLock` in class `AbstractStore`
  Parameters:
    `lock` - Lock token
  Throws:
    `ServiceAccessException` - Service access error

### renewLock

    public void renewLock(Uri uri,
                          NodeLock lock)
                   throws ServiceAccessException,
                          LockTokenNotFoundException

  Description copied from class: `AbstractStore`
  Renews a lock.

  Specified by:
    `renewLock` in interface `LockStore`
  Overrides:
    `renewLock` in class `AbstractStore`
  Parameters:
    `lock` - Token to renew
  Throws:
    `ServiceAccessException` - Service access error
    `LockTokenNotFoundException` - Lock token was not found

### removeLock

    public void removeLock(Uri uri,
                           NodeLock lock)
                    throws ServiceAccessException,
                           LockTokenNotFoundException

  Description copied from class: `AbstractStore`
  Removes (cancels) a lock.

  Specified by:
    `removeLock` in interface `LockStore`
  Overrides:
    `removeLock` in class `AbstractStore`
  Parameters:
    `lock` - Token to remove
  Throws:
    `ServiceAccessException` - Service access error
    `LockTokenNotFoundException` - Lock token was not found

### killLock

    public void killLock(Uri uri,
                         NodeLock lock)
                  throws ServiceAccessException,
                         LockTokenNotFoundException

  Description copied from class: `AbstractStore`
  Kills a lock.

  Specified by:
    `killLock` in interface `LockStore`
  Overrides:
    `killLock` in class `AbstractStore`
  Parameters:
    `lock` - Token to remove
  Throws:
    `ServiceAccessException` - Service access error
    `LockTokenNotFoundException` - Lock token was not found

### enumerateLocks

    public java.util.Enumeration enumerateLocks(Uri uri)
                                         throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Enumerate locks on an object.

  Specified by:
    `enumerateLocks` in interface `LockStore`
  Overrides:
    `enumerateLocks` in class `AbstractStore`
  Parameters:
    `uri` - Uri of the subject
  Returns:
    Enumeration List of `locks` which have been put on the subject
  Throws:
    `ServiceAccessException` - Service access error

### retrieveRevisionDescriptors

    public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri)
                                                        throws ServiceAccessException,
                                                               RevisionDescriptorNotFoundException

  Description copied from class: `AbstractStore`
  Retrieve a revision descriptors.

  Specified by:
    `retrieveRevisionDescriptors` in interface `RevisionDescriptorsStore`
  Overrides:
    `retrieveRevisionDescriptors` in class `AbstractStore`
  Parameters:
    `uri` - Uri
  Throws:
    `RevisionDescriptorNotFoundException` - Revision descriptor was not found
    `ServiceAccessException` - Service access error

### createRevisionDescriptors

    public void createRevisionDescriptors(Uri uri,
                                          NodeRevisionDescriptors revisionDescriptors)
                                   throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Create new revision descriptors.

  Specified by:
    `createRevisionDescriptors` in interface `RevisionDescriptorsStore`
  Overrides:
    `createRevisionDescriptors` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptors` - Node revision descriptors
  Throws:
    `ServiceAccessException` - Service access error

### storeRevisionDescriptors

    public void storeRevisionDescriptors(Uri uri,
                                         NodeRevisionDescriptors revisionDescriptors)
                                  throws ServiceAccessException,
                                         RevisionDescriptorNotFoundException

  Description copied from class: `AbstractStore`
  Update revision descriptors.

  Specified by:
    `storeRevisionDescriptors` in interface `RevisionDescriptorsStore`
  Overrides:
    `storeRevisionDescriptors` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptors` - Node revision descriptors
  Throws:
    `RevisionDescriptorNotFoundException` - Revision descriptor was not found
    `ServiceAccessException` - Service access error

### removeRevisionDescriptors

    public void removeRevisionDescriptors(Uri uri)
                                   throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Remove revision descriptors.

  Specified by:
    `removeRevisionDescriptors` in interface `RevisionDescriptorsStore`
  Overrides:
    `removeRevisionDescriptors` in class `AbstractStore`
  Parameters:
    `uri` - Uri
  Throws:
    `ServiceAccessException` - Service access error

### retrieveRevisionDescriptor

    public NodeRevisionDescriptor retrieveRevisionDescriptor(Uri uri,
                                                             NodeRevisionNumber revisionNumber)
                                                      throws ServiceAccessException,
                                                             RevisionDescriptorNotFoundException

  Description copied from class: `AbstractStore`
  Retrieve revision descriptor.

  Specified by:
    `retrieveRevisionDescriptor` in interface `RevisionDescriptorStore`
  Overrides:
    `retrieveRevisionDescriptor` in class `AbstractStore`
  Parameters:
    `uri` - uri
    `revisionNumber` - Node revision number
  Throws:
    `ServiceAccessException`
    `RevisionDescriptorNotFoundException`

### createRevisionDescriptor

    public void createRevisionDescriptor(Uri uri,
                                         NodeRevisionDescriptor revisionDescriptor)
                                  throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Create new revision descriptor.

  Specified by:
    `createRevisionDescriptor` in interface `RevisionDescriptorStore`
  Overrides:
    `createRevisionDescriptor` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptor` - Node revision descriptor
  Throws:
    `ServiceAccessException` - Service access error

### storeRevisionDescriptor

    public void storeRevisionDescriptor(Uri uri,
                                        NodeRevisionDescriptor revisionDescriptor)
                                 throws ServiceAccessException,
                                        RevisionDescriptorNotFoundException

  Description copied from class: `AbstractStore`
  Update revision descriptor.

  Specified by:
    `storeRevisionDescriptor` in interface `RevisionDescriptorStore`
  Overrides:
    `storeRevisionDescriptor` in class `AbstractStore`
  Parameters:
    `uri` - Uri
    `revisionDescriptor` - Node revision descriptor
  Throws:
    `RevisionDescriptorNotFoundException` - Revision descriptor was not found
    `ServiceAccessException` - Service access error

### removeRevisionDescriptor

    public void removeRevisionDescriptor(Uri uri,
                                         NodeRevisionNumber number)
                                  throws ServiceAccessException

  Description copied from class: `AbstractStore`
  Remove revision descriptor.

  Specified by:
    `removeRevisionDescriptor` in interface `RevisionDescriptorStore`
  Overrides:
    `removeRevisionDescriptor` in class `AbstractStore`
  Parameters:
    `uri` - Uri
  Throws:
    `ServiceAccessException` - Service access error

### forget

    public void forget(javax.transaction.xa.Xid xid)
                throws javax.transaction.xa.XAException

  Description copied from class: `AbstractStore`
  Tell the resource manager to forget about a heuristically completed transaction branch.

  Specified by:
    `forget` in interface `javax.transaction.xa.XAResource`
  Overrides:
    `forget` in class `AbstractStore`
  Parameters:
    `xid` - A global transaction identifier
  Throws:
    `javax.transaction.xa.XAException` - An error has occurred. Possible exception values are XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.

### rollback

    public void rollback(javax.transaction.xa.Xid xid)
                  throws javax.transaction.xa.XAException

  Description copied from class: `AbstractStore`
  Inform the resource manager to roll back work done on behalf of a transaction branch.

  Specified by:
    `rollback` in interface `javax.transaction.xa.XAResource`
  Overrides:
    `rollback` in class `AbstractStore`
  Parameters:
    `xid` - A global transaction identifier
  Throws:
    `javax.transaction.xa.XAException` - An error has occurred

### commit

    public void commit(javax.transaction.xa.Xid xid,
                       boolean onePhase)
                throws javax.transaction.xa.XAException

  Description copied from class: `AbstractStore`
  Commit the global transaction specified by xid.

  Specified by:
    `commit` in interface `javax.transaction.xa.XAResource`
  Overrides:
    `commit` in class `AbstractStore`
  Parameters:
    `xid` - A global transaction identifier
    `onePhase` - If true, the resource manager should use a one-phase commit protocol to commit the work done on behalf of xid.
  Throws:
    `javax.transaction.xa.XAException` - An error has occurred. Possible XAExceptions are XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO. If the resource manager did not commit the transaction and the paramether onePhase is set to true, the resource manager may throw one of the XA_RB* exceptions. Upon return, the resource manager has rolled back the branch's work and has released all held resources.

### prepare

    public int prepare(javax.transaction.xa.Xid xid)
                throws javax.transaction.xa.XAException

  Description copied from class: `AbstractStore`
  Ask the resource manager to prepare for a transaction commit of the transaction specified in xid.

  Specified by:
    `prepare` in interface `javax.transaction.xa.XAResource`
  Overrides:
    `prepare` in class `AbstractStore`
  Parameters:
    `xid` - A global transaction identifier
  Returns:
    A value indicating the resource manager's vote on the outcome of the transaction. The possible values are: XA_RDONLY or XA_OK. If the resource manager wants to roll back the transaction, it should do so by raising an appropriate XAException in the prepare method.
  Throws:
    `javax.transaction.xa.XAException` - An error has occurred. Possible exception values are: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.

### start

    public void start(javax.transaction.xa.Xid xid,
                      int flags)
               throws javax.transaction.xa.XAException

  Description copied from class: `AbstractStore`
  Start work on behalf of a transaction branch specified in xid.

  Specified by:
    `start` in interface `javax.transaction.xa.XAResource`
  Overrides:
    `start` in class `AbstractStore`
  Parameters:
    `xid` - A global transaction identifier to be associated with the resource
    `flags` - One of TMNOFLAGS, TMJOIN, or TMRESUME
  Throws:
    `javax.transaction.xa.XAException` - An error has occurred. Possible exceptions are XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_DUPID, XAER_OUTSIDE, XAER_NOTA, XAER_INVAL, or XAER_PROTO.

### end

    public void end(javax.transaction.xa.Xid xid,
                    int flags)
             throws javax.transaction.xa.XAException

  Description copied from class: `AbstractStore`
  Ends the work performed on behalf of a transaction branch.

  Specified by:
    `end` in interface `javax.transaction.xa.XAResource`
  Overrides:
    `end` in class `AbstractStore`
  Parameters:
    `xid` - A global transaction identifier that is the same as what was used previously in the start method.
    `flags` - One of TMSUCCESS, TMFAIL, or TMSUSPEND
  Throws:
    `javax.transaction.xa.XAException` - An error has occurred. Possible XAException values are XAER_RMERR, XAER_RMFAILED, XAER_NOTA, XAER_INVAL, XAER_PROTO, or XA_RB*.

### toString

    public java.lang.String toString()

### releaseTransientLocks

    protected void releaseTransientLocks()

### fillPermissionsCache

    protected java.util.Vector fillPermissionsCache(Uri uri)
                                             throws ServiceAccessException

  Throws:
    `ServiceAccessException`

### fillLocksCache

    protected java.util.Vector fillLocksCache(Uri uri)
                                       throws ServiceAccessException

  Throws:
    `ServiceAccessException`

### init

    protected void init(int globalObjectCacheSize,
                        int globalPermissionCacheSize,
                        int globalLockCacheSize,
                        int globalDescrtiptorsCacheSize,
                        int globalDescrtiptorCacheSize,
                        boolean contentCachingEnabled,
                        int globalContentCacheSize,
                        long contentCacheBytes,
                        int txContentCacheSize,
                        long txContentCacheBytes,
                        long maxByteSizePerEntry,
                        boolean noGlobalCacheInTx)

### fatalError

    protected void fatalError(java.lang.Error e)

### fatalError

    protected void fatalError(java.lang.RuntimeException re)

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