Package org.apache.zookeeper.server
Class NodeHashMapImpl
java.lang.Object
org.apache.zookeeper.server.NodeHashMapImpl
- All Implemented Interfaces:
NodeHashMap
a simple wrapper to ConcurrentHashMap that recalculates a digest after
each mutation.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all the items stored inside this map.entrySet()
Return all the entries inside this map.Return the data node associated with the path.long
Return the digest value.void
postChange
(String path, DataNode node) Called after making the changes on the node, which will update the digest.void
Called before we made the change on the node, which will clear the digest associated with it.Add the node into the map and update the digest with the new node.putWithoutDigest
(String path, DataNode node) Add the node into the map without update the digest.Remove the path from the internal nodes map.int
size()
Return the size of the nodes stored in this map.
-
Constructor Details
-
NodeHashMapImpl
-
-
Method Details
-
put
Description copied from interface:NodeHashMap
Add the node into the map and update the digest with the new node.- Specified by:
put
in interfaceNodeHashMap
- Parameters:
path
- the path of the nodenode
- the actual node associated with this path
-
putWithoutDigest
Description copied from interface:NodeHashMap
Add the node into the map without update the digest.- Specified by:
putWithoutDigest
in interfaceNodeHashMap
- Parameters:
path
- the path of the nodenode
- the actual node associated with this path
-
get
Description copied from interface:NodeHashMap
Return the data node associated with the path.- Specified by:
get
in interfaceNodeHashMap
- Parameters:
path
- the path to read from
-
remove
Description copied from interface:NodeHashMap
Remove the path from the internal nodes map.- Specified by:
remove
in interfaceNodeHashMap
- Parameters:
path
- the path to remove- Returns:
- the node being removed
-
entrySet
Description copied from interface:NodeHashMap
Return all the entries inside this map.- Specified by:
entrySet
in interfaceNodeHashMap
-
clear
public void clear()Description copied from interface:NodeHashMap
Clear all the items stored inside this map.- Specified by:
clear
in interfaceNodeHashMap
-
size
public int size()Description copied from interface:NodeHashMap
Return the size of the nodes stored in this map.- Specified by:
size
in interfaceNodeHashMap
-
preChange
Description copied from interface:NodeHashMap
Called before we made the change on the node, which will clear the digest associated with it.- Specified by:
preChange
in interfaceNodeHashMap
- Parameters:
path
- the path being changednode
- the node associated with the path
-
postChange
Description copied from interface:NodeHashMap
Called after making the changes on the node, which will update the digest.- Specified by:
postChange
in interfaceNodeHashMap
- Parameters:
path
- the path being changednode
- the node associated with the path
-
getDigest
public long getDigest()Description copied from interface:NodeHashMap
Return the digest value.- Specified by:
getDigest
in interfaceNodeHashMap
-