public class SessionCacheWrapper extends Object implements SessionCache
SessionCache implementation that wraps another and is suitable to extend and overwrite only those methods that are
required.SessionCache.PreSave, SessionCache.SaveContext| Constructor and Description |
|---|
SessionCacheWrapper(SessionCache delegate) |
| Modifier and Type | Method and Description |
|---|---|
void |
addContextData(String key,
String value)
Adds a [key,value] data pair for this cache's context
|
void |
checkForTransaction()
Check whether this session is running within a transaction.
|
void |
clear()
Clears all changes in the cache.
|
void |
clear(CachedNode node)
Clears all changes in the cache that are at or below the supplied node.
|
NodeKey |
createNodeKey()
Create a new node key for the current source and workspace.
|
NodeKey |
createNodeKey(String sourceName,
String identifier)
Create a new node key for the current source and workspace.
|
NodeKey |
createNodeKeyWithIdentifier(String identifier)
Create a new node key for the current source and workspace.
|
NodeKey |
createNodeKeyWithSource(String sourceName)
Create a new node key for the current source and workspace.
|
void |
destroy(NodeKey key)
Destroy the subgraph with the supplied node as the top node in the subgraph.
|
Iterator<NodeKey> |
getAllNodeKeys()
Get an iterator over all node keys within this cache.
|
Iterator<NodeKey> |
getAllNodeKeysAtAndBelow(NodeKey startingKey)
Get an iterator over all keys for the supplied node and all its descendants.
|
Set<NodeKey> |
getChangedNodeKeys()
Returns a set with the
NodeKeys of the transient nodes from this cache. |
Set<NodeKey> |
getChangedNodeKeysAtOrBelow(CachedNode node)
Returns a set with the
NodeKeys of the transient nodes from this cache which are at or below the path of the given
node |
ExecutionContext |
getContext()
Get the context for this session.
|
CachedNode |
getNode(ChildReference reference)
Get the cached representation of the node as represented by the supplied child reference.
|
CachedNode |
getNode(NodeKey key)
Get the cached representation of the node with the supplied node key.
|
Set<NodeKey> |
getNodeKeysAtAndBelow(NodeKey nodeKey)
Returns a set with the
NodeKeys of the existing nodes (persistent not transient & new) which are at and below the
path of the node with the given key. |
NodeKey |
getRootKey()
Get the node key for the root node.
|
NodeCache |
getWorkspace()
Get the cache the reflects the workspace content, without any of the transient, unsaved changes of this session.
|
boolean |
hasChanges()
Determine whether this session has any transient, unsaved changes.
|
boolean |
isDestroyed(NodeKey key)
Return whether the node with the supplied key has been removed using this session but not yet persisted.
|
boolean |
isReadOnly()
Returns whether this cache is readonly.
|
MutableCachedNode |
mutable(NodeKey key)
Get a mutable form of the node with the supplied key.
|
void |
save()
Saves all changes made within this session.
|
void |
save(SessionCache otherSession,
SessionCache.PreSave preSaveOperation)
Saves all changes made within this session and the supplied session, using a single transaction for both.
|
void |
save(Set<NodeKey> toBeSaved,
SessionCache otherSession,
SessionCache.PreSave preSaveOperation)
Saves all of this session's changes that were made at or below the specified path.
|
SessionCache |
unwrap()
Unwrap this instance.
|
public SessionCacheWrapper(SessionCache delegate)
public SessionCache unwrap()
NodeCacheunwrap in interface NodeCacheunwrap in interface SessionCachepublic void clear()
NodeCachepublic NodeKey getRootKey()
NodeCachegetRootKey in interface NodeCachepublic CachedNode getNode(NodeKey key)
NodeCachepublic CachedNode getNode(ChildReference reference)
NodeCachegetNode(reference.getKey());
public Iterator<NodeKey> getAllNodeKeys()
NodeCachegetAllNodeKeys in interface NodeCachepublic Iterator<NodeKey> getAllNodeKeysAtAndBelow(NodeKey startingKey)
NodeCachegetAllNodeKeysAtAndBelow in interface NodeCachestartingKey - the key for the node to start; may not be nullpublic ExecutionContext getContext()
SessionCachegetContext in interface SessionCachepublic void addContextData(String key, String value)
SessionCacheaddContextData in interface SessionCachekey - the key for the context datavalue - the value for the context datapublic void save()
SessionCachesave in interface SessionCachepublic void save(Set<NodeKey> toBeSaved, SessionCache otherSession, SessionCache.PreSave preSaveOperation)
SessionCacheItem.save().save in interface SessionCachetoBeSaved - the set of keys identifying the nodes whose changes should be saved; may not be nullotherSession - another session whose changes should be saved with this session's changes; may not be nullpreSaveOperation - the set of operations to run against the new and changed nodes prior to saving; may be nullpublic void save(SessionCache otherSession, SessionCache.PreSave preSaveOperation)
SessionCachesave in interface SessionCacheotherSession - another session whose changes should be saved with this session's changes; may not be nullpreSaveOperation - the set of operations to run against the new and changed nodes prior to saving; may be nullpublic boolean hasChanges()
SessionCachehasChanges in interface SessionCachepublic Set<NodeKey> getChangedNodeKeys()
SessionCacheNodeKeys of the transient nodes from this cache. Please note that there may be nodes which
have been removed by another session.getChangedNodeKeys in interface SessionCacheSet with the changed keys, or an empty set if
SessionCache.hasChanges() is false. The returned set is a mutable copy of the
underlying set.public Set<NodeKey> getChangedNodeKeysAtOrBelow(CachedNode node) throws NodeNotFoundException
SessionCacheNodeKeys of the transient nodes from this cache which are at or below the path of the given
nodegetChangedNodeKeysAtOrBelow in interface SessionCachenode - a non-null CachedNode instanceNodeNotFoundException - if any of changes registered in this cache refer to nodes that have been removed in the
meantime.public Set<NodeKey> getNodeKeysAtAndBelow(NodeKey nodeKey)
SessionCacheNodeKeys of the existing nodes (persistent not transient & new) which are at and below the
path of the node with the given key. Note that this method will attempt to load each nodegetNodeKeysAtAndBelow in interface SessionCachenodeKey - the key of node which will be considered the root nodepublic void clear(CachedNode node)
SessionCacheclear in interface SessionCachenode - the node at or below which all changes should be cleared; may not be nullpublic NodeCache getWorkspace()
SessionCachegetWorkspace in interface SessionCachepublic MutableCachedNode mutable(NodeKey key) throws NodeNotFoundException, UnsupportedOperationException
SessionCachemutable in interface SessionCachekey - the key for the node; may not be nullNodeNotFoundException - if there is no existing node in the session cache or workspace cacheUnsupportedOperationException - if this session is marked for read-only operationspublic void destroy(NodeKey key) throws NodeNotFoundException, UnsupportedOperationException
SessionCacheremoved from its parent node.destroy in interface SessionCachekey - the key for the top node in the subgraph; may not be nullNodeNotFoundException - if there is no existing node in the session cache or workspace cacheUnsupportedOperationException - if this session is marked for read-only operationspublic boolean isDestroyed(NodeKey key)
SessionCacheisDestroyed in interface SessionCachekey - the for the node; may not be nullpublic NodeKey createNodeKey()
SessionCachecreateNodeKey in interface SessionCachepublic NodeKey createNodeKeyWithIdentifier(String identifier)
SessionCachecreateNodeKeyWithIdentifier in interface SessionCacheidentifier - the unique identifier for the key; if null, a generated identifier will be usedpublic boolean isReadOnly()
SessionCacheisReadOnly in interface SessionCachepublic NodeKey createNodeKeyWithSource(String sourceName)
SessionCachecreateNodeKeyWithSource in interface SessionCachesourceName - the name (not key) for the source; if null, the key for the current source is usedpublic NodeKey createNodeKey(String sourceName, String identifier)
SessionCachecreateNodeKey in interface SessionCachesourceName - the name (not key) for the source; if null, the key for the current source is usedidentifier - the unique identifier for the key; if null, a generated identifier will be usedpublic void checkForTransaction()
SessionCachecheckForTransaction in interface SessionCacheCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.