|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DataContainer
This class defines the functionality needed for node manipulation.
DataContainerImpl
Method Summary | |
---|---|
List<NodeData> |
buildNodeData(List<NodeData> list,
NodeSPI node)
Prepares a list of NodeData objects for a specified node and all its children. |
Object[] |
createNodes(Fqn fqn)
Traverses the tree to the given Fqn, creating nodes if needed. |
boolean |
evict(Fqn fqn)
Following scenarios define how eviction works. |
void |
evict(Fqn fqn,
boolean recursive)
Evicts the given node. |
boolean |
exists(Fqn fqn)
Tests if an Fqn exists and is valid and not deleted. |
Set<Fqn> |
getInternalFqns()
Returns a Set |
List<Fqn> |
getNodesForEviction(Fqn fqn,
boolean recursive)
Generates a list of nodes for eviction. |
int |
getNumberOfAttributes()
Returns an approximation of the total number of attributes in the cache. |
int |
getNumberOfAttributes(Fqn fqn)
Returns an approximation of the total number of attributes in this sub cache. |
int |
getNumberOfLocksHeld()
Returns the number of read or write locks held across the entire cache. |
int |
getNumberOfNodes()
Returns an approximation of the total number of nodes in the cache. |
NodeSPI |
getRoot()
Retrieves the root node. |
boolean |
hasChildren(Fqn fqn)
Returns true if the Fqn exists, is valid and is not deleted, and the node has children. |
NodeSPI |
peek(Fqn fqn)
Finds a node given a fully qualified name, directly off the interceptor chain. |
NodeSPI |
peek(Fqn<?> fqn,
boolean includeDeletedNodes)
Same as calling peek(fqn, includeDeletedNodes, false). |
NodeSPI |
peek(Fqn<?> fqn,
boolean includeDeletedNodes,
boolean includeInvalidNodes)
Peeks for a specified node. |
NodeSPI |
peekStrict(GlobalTransaction gtx,
Fqn fqn,
boolean includeInvalid)
Similar to peekVersioned(Fqn, org.jboss.cache.optimistic.DataVersion) except that it throws a NodeNotExistsException
if the node cannot be found. |
NodeSPI |
peekVersioned(Fqn fqn,
DataVersion version)
Finds a node given a fully qualified name and DataVersion. |
NodeSPI |
peekVersioned(Fqn fqn,
DataVersion version,
boolean includeInvalidNodes)
Searches for a specific node, with a specific data version and, optionally, invalid nodes as well, but not deleted nodes. |
void |
registerInternalFqn(Fqn fqn)
Adds the specified Fqn to the list of Fqns to be considered "internal". |
boolean |
removeFromDataStructure(Fqn f,
boolean skipMarkerCheck)
Removes the actual node from the tree data structure. |
Method Detail |
---|
NodeSPI getRoot()
void registerInternalFqn(Fqn fqn)
fqn
- fqn to add to listNodeSPI peek(Fqn fqn)
fqn
- Fully qualified name for the corresponding node.
NodeSPI peekVersioned(Fqn fqn, DataVersion version)
fqn
- fqn to findversion
- version of the node to find
NodeSPI peekStrict(GlobalTransaction gtx, Fqn fqn, boolean includeInvalid)
peekVersioned(Fqn, org.jboss.cache.optimistic.DataVersion)
except that it throws a NodeNotExistsException
if the node cannot be found.
gtx
- global transactionfqn
- fqn to findincludeInvalid
- if true, invalid nodes are considered as well.
NodeSPI peekVersioned(Fqn fqn, DataVersion version, boolean includeInvalidNodes)
fqn
- Fqn to findversion
- version of the node to findincludeInvalidNodes
- if true, invalid nodes are considered
NodeSPI peek(Fqn<?> fqn, boolean includeDeletedNodes)
fqn
- Fqn to findincludeDeletedNodes
- if true, deleted nodes are considered
NodeSPI peek(Fqn<?> fqn, boolean includeDeletedNodes, boolean includeInvalidNodes)
fqn
- Fqn of the node to findincludeDeletedNodes
- if true, deleted nodes are also consideredincludeInvalidNodes
- if true, invalid nodes are also considered
boolean exists(Fqn fqn)
fqn
- the fqn representing the node to test
boolean hasChildren(Fqn fqn)
fqn
- the fqn to test
List<NodeData> buildNodeData(List<NodeData> list, NodeSPI node)
NodeData
objects for a specified node and all its children.
list
- List of NodeData objects, which will be added to.node
- node to recursively add to the list
List<Fqn> getNodesForEviction(Fqn fqn, boolean recursive)
Node.setResident(boolean)
.
fqn
- the node to consider for evictionrecursive
- if recursive, child nodes are also considered
Set<Fqn> getInternalFqns()
BuddyManager.BUDDY_BACKUP_SUBTREE
if buddy replication is
enabled.
null
.int getNumberOfLocksHeld()
int getNumberOfNodes()
int getNumberOfAttributes(Fqn fqn)
int getNumberOfAttributes()
boolean removeFromDataStructure(Fqn f, boolean skipMarkerCheck)
f
- the Fqn of the node to removeskipMarkerCheck
- if true, skips checking the boolean NodeSPI.isDeleted()
flag and deletes the node anyway.
void evict(Fqn fqn, boolean recursive)
boolean evict(Fqn fqn)
Following scenarios define how eviction works. 1. If the given node is a leaf then it is entirely removed from the data structure. The node is marked as invalid. 2. If the given node is a leaf then only the data map is cleared. 3. If the given node is the root node then the cildren nodes are evicted. For each child node 1. or 2. applies
Object[] createNodes(Fqn fqn)
Object[] results = createNode(myFqn);
results[0] // this is a List<NodeSPI> of nodes created in getting to the target node.
results[1] // is a NodeSPI reference to the target node, regardless of whether it was created or just found.
fqn
- fqn to find
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |