public abstract class AbstractSessionCache extends Object implements SessionCache, DocumentCache
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractSessionCache.BasicSaveContext |
SessionCache.PreSave, SessionCache.SaveContext
Modifier | Constructor and Description |
---|---|
protected |
AbstractSessionCache(ExecutionContext context,
WorkspaceCache sharedWorkspaceCache) |
Modifier and Type | Method and Description |
---|---|
void |
addContextData(String key,
String value)
Adds a [key,value] data pair for this cache's context
|
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.
|
protected abstract void |
doClear() |
protected abstract void |
doClear(CachedNode node) |
protected String |
generateIdentifier() |
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.
|
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
NodeKey s 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.
|
WorkspaceCache |
getWorkspace()
Get the cache the reflects the workspace content, without any of the transient, unsaved changes of this session.
|
protected abstract Logger |
logger() |
abstract SessionNode |
mutable(NodeKey key)
Get a mutable form of the node with the supplied key.
|
SessionCache |
unwrap()
Unwrap this instance.
|
WorkspaceCache |
workspaceCache() |
protected String |
workspaceName() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
checkForTransaction, destroy, getChangedNodeKeys, getChangedNodeKeysAtOrBelow, hasChanges, isDestroyed, isReadOnly, save, save, save
protected AbstractSessionCache(ExecutionContext context, WorkspaceCache sharedWorkspaceCache)
protected abstract Logger logger()
public final SessionCache unwrap()
NodeCache
unwrap
in interface NodeCache
unwrap
in interface SessionCache
protected final String workspaceName()
public final ExecutionContext getContext()
SessionCache
getContext
in interface SessionCache
public final WorkspaceCache workspaceCache()
workspaceCache
in interface DocumentCache
public final void addContextData(String key, String value)
SessionCache
addContextData
in interface SessionCache
key
- the key for the context datavalue
- the value for the context datapublic NodeKey createNodeKey()
SessionCache
createNodeKey
in interface SessionCache
public NodeKey createNodeKeyWithIdentifier(String identifier)
SessionCache
createNodeKeyWithIdentifier
in interface SessionCache
identifier
- the unique identifier for the key; if null, a generated identifier will be usedpublic NodeKey createNodeKeyWithSource(String sourceName)
SessionCache
createNodeKeyWithSource
in interface SessionCache
sourceName
- the name (not key) for the source; if null, the key for the current source is usedpublic NodeKey createNodeKey(String sourceName, String identifier)
SessionCache
createNodeKey
in interface SessionCache
sourceName
- 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 usedprotected String generateIdentifier()
public NodeKey getRootKey()
NodeCache
getRootKey
in interface NodeCache
public WorkspaceCache getWorkspace()
SessionCache
getWorkspace
in interface SessionCache
public CachedNode getNode(NodeKey key)
CachedNodeSupplier
getNode
in interface CachedNodeSupplier
key
- the node key; may not be nullpublic CachedNode getNode(ChildReference reference)
NodeCache
getNode(reference.getKey());
public Set<NodeKey> getNodeKeysAtAndBelow(NodeKey nodeKey)
SessionCache
NodeKey
s 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 SessionCache
nodeKey
- the key of node which will be considered the root nodepublic abstract SessionNode mutable(NodeKey key)
SessionCache
mutable
in interface SessionCache
key
- the key for the node; may not be nullpublic Iterator<NodeKey> getAllNodeKeys()
NodeCache
getAllNodeKeys
in interface NodeCache
public Iterator<NodeKey> getAllNodeKeysAtAndBelow(NodeKey startingKey)
NodeCache
getAllNodeKeysAtAndBelow
in interface NodeCache
startingKey
- the key for the node to start; may not be nullpublic final void clear(CachedNode node)
SessionCache
clear
in interface SessionCache
node
- the node at or below which all changes should be cleared; may not be nullpublic final void clear()
NodeCache
protected abstract void doClear(CachedNode node)
protected abstract void doClear()
Copyright © 2008–2016 JBoss, a division of Red Hat. All rights reserved.