public class NodeImpl<K,V> extends TreeStructureSupport implements Node<K,V>
AtomicMapcachebatchContainer| Constructor and Description |
|---|
NodeImpl(Fqn fqn,
AdvancedCache<?,?> cache,
BatchContainer batchContainer) |
| Modifier and Type | Method and Description |
|---|---|
Node<K,V> |
addChild(Fqn f)
Adds a child node with the given
Fqn under the current node. |
Node<K,V> |
addChild(Fqn f,
Flag... flags) |
void |
clearData()
Removes all mappings from the node's data map.
|
void |
clearData(Flag... flags) |
int |
dataSize() |
int |
dataSize(Flag... flags) |
boolean |
equals(Object o) |
V |
get(K key)
Returns the value to which this node maps the specified key.
|
V |
get(K key,
Flag... flags) |
Node<K,V> |
getChild(Fqn f)
Returns the child node
|
Node<K,V> |
getChild(Fqn f,
Flag... flags) |
Node<K,V> |
getChild(Object name) |
Node<K,V> |
getChild(Object name,
Flag... flags) |
Set<Node<K,V>> |
getChildren()
Returns an immutable set of children nodes.
|
Set<Node<K,V>> |
getChildren(Flag... flags) |
Set<Object> |
getChildrenNames()
Returns an immutable set of children node names.
|
Set<Object> |
getChildrenNames(Flag... flags) |
Map<K,V> |
getData()
Returns a map containing the data in this
Node. |
Map<K,V> |
getData(Flag... flags) |
Fqn |
getFqn()
|
Set<K> |
getKeys()
|
Set<K> |
getKeys(Flag... flags) |
Node<K,V> |
getParent()
Returns the parent node.
|
Node<K,V> |
getParent(Flag... flags) |
boolean |
hasChild(Fqn f)
Returns true if the child node denoted by the relative
Fqn passed in exists. |
boolean |
hasChild(Fqn f,
Flag... flags) |
boolean |
hasChild(Object o)
Returns true if the child node denoted by the Object name passed in exists.
|
boolean |
hasChild(Object o,
Flag... flags) |
int |
hashCode() |
boolean |
isValid()
Tests if a node reference is still valid.
|
V |
put(K key,
V value)
Associates the specified value with the specified key for this node.
|
V |
put(K key,
V value,
Flag... flags) |
void |
putAll(Map<? extends K,? extends V> map)
Copies all of the mappings from the specified map to this node's map.
|
void |
putAll(Map<? extends K,? extends V> map,
Flag... flags) |
V |
putIfAbsent(K key,
V value)
If the specified key is not already associated with a value, associate it with the given value, and returns the
Object (if any) that occupied the space, or null.
|
V |
putIfAbsent(K key,
V value,
Flag... flags) |
V |
remove(K key)
Removes the mapping for this key from this node if it is present.
|
V |
remove(K key,
Flag... flags) |
boolean |
removeChild(AdvancedCache<?,?> cache,
Fqn f) |
boolean |
removeChild(Fqn f)
Removes a child node specified by the given relative
Fqn. |
boolean |
removeChild(Fqn f,
Flag... flags) |
boolean |
removeChild(Object childName)
Removes a child node specified by the given name.
|
boolean |
removeChild(Object childName,
Flag... flags) |
void |
removeChildren() |
void |
removeChildren(Flag... flags) |
V |
replace(K key,
V value)
Replace entry for key only if currently mapped to some value.
|
V |
replace(K key,
V value,
Flag... flags) |
boolean |
replace(K key,
V oldValue,
V newValue)
Replace entry for key only if currently mapped to given value.
|
boolean |
replace(K key,
V oldValue,
V newValue,
Flag... flags) |
void |
replaceAll(Map<? extends K,? extends V> map)
Similar to
Node.putAll(java.util.Map) except that it removes any entries that exists in the data map first. |
void |
replaceAll(Map<? extends K,? extends V> map,
Flag... flags) |
String |
toString() |
createNodeInCache, exists, exists, getAtomicMap, getAtomicMap, isLocked, printTreeassertBatchingSupported, endAtomic, failAtomic, startAtomicpublic NodeImpl(Fqn fqn, AdvancedCache<?,?> cache, BatchContainer batchContainer)
public Node<K,V> getParent()
Nodethis.public Set<Node<K,V>> getChildren()
Nodepublic Set<Node<K,V>> getChildren(Flag... flags)
getChildren in interface Node<K,V>public Set<Object> getChildrenNames()
Nodepublic Set<Object> getChildrenNames(Flag... flags)
getChildrenNames in interface Node<K,V>public Map<K,V> getData()
NodeNode.public Node<K,V> addChild(Fqn f)
NodeFqn under the current node. Returns the newly created node.
If the child exists returns the child node anyway. Guaranteed to return a non-null node.
The Fqn passed in is relative to the current node. The new child node will have an absolute fqn
calculated as follows: new Fqn(getFqn(), f). See
Fqn for the operation of this constructor.public boolean removeChild(Fqn f)
NodeFqn.
If you wish to remove children based on absolute Fqns, use the TreeCache interface instead.removeChild in interface Node<K,V>f - Fqn of the child node, relative to the current node.public boolean removeChild(Fqn f, Flag... flags)
removeChild in interface Node<K,V>public boolean removeChild(AdvancedCache<?,?> cache, Fqn f)
public boolean removeChild(Object childName)
NoderemoveChild in interface Node<K,V>childName - name of the child node, directly under the current node.public boolean removeChild(Object childName, Flag... flags)
removeChild in interface Node<K,V>public Node<K,V> getChild(Fqn f)
Nodepublic V put(K key, V value)
Nodepublic V putIfAbsent(K key, V value)
Node
if (!node.getKeys().contains(key))
return node.put(key, value);
else
return node.get(key);
except that this is atomic.putIfAbsent in interface Node<K,V>key - key with which the specified value is to be associated.value - value to be associated with the specified key.public V putIfAbsent(K key, V value, Flag... flags)
putIfAbsent in interface Node<K,V>public V replace(K key, V value)
Node
if ((node.getKeys().contains(key))
{
return node.put(key, value);
}
else
return null;
except that this is atomic.public boolean replace(K key, V oldValue, V newValue)
Node
if (node.get(key).equals(oldValue))
{
node.put(key, newValue);
return true;
}
else
return false;
except that this is atomic.public void putAll(Map<? extends K,? extends V> map)
NodeNode node; for (Map.Entry me : map.entrySet()) node.put(me.getKey(), me.getValue());
public void replaceAll(Map<? extends K,? extends V> map)
NodeNode.putAll(java.util.Map) except that it removes any entries that exists in the data map first.
Note that this happens atomically, under a single lock. This is the analogous to doing a Node.clearData()
followed by a Node.putAll(java.util.Map) in the same transaction.replaceAll in interface Node<K,V>map - map to copy frompublic void replaceAll(Map<? extends K,? extends V> map, Flag... flags)
replaceAll in interface Node<K,V>public V get(K key)
Nodenull if the node contains no
mapping for this key.public V remove(K key)
Nodenull if the node contained no mapping for this keypublic void clearData()
Nodepublic int dataSize()
public boolean hasChild(Fqn f)
NodeFqn passed in exists.public boolean hasChild(Object o)
Nodepublic boolean isValid()
NodeNodeNotValidException.public void removeChildren()
removeChildren in interface Node<K,V>public void removeChildren(Flag... flags)
removeChildren in interface Node<K,V>Copyright © 2024 JBoss, a division of Red Hat. All rights reserved.