Class NodeHashMapImpl

java.lang.Object
org.apache.zookeeper.server.NodeHashMapImpl
All Implemented Interfaces:
NodeHashMap

public class NodeHashMapImpl extends Object implements NodeHashMap
a simple wrapper to ConcurrentHashMap that recalculates a digest after each mutation.
  • Constructor Details

  • Method Details

    • put

      public DataNode put(String path, DataNode node)
      Description copied from interface: NodeHashMap
      Add the node into the map and update the digest with the new node.
      Specified by:
      put in interface NodeHashMap
      Parameters:
      path - the path of the node
      node - the actual node associated with this path
    • putWithoutDigest

      public DataNode putWithoutDigest(String path, DataNode node)
      Description copied from interface: NodeHashMap
      Add the node into the map without update the digest.
      Specified by:
      putWithoutDigest in interface NodeHashMap
      Parameters:
      path - the path of the node
      node - the actual node associated with this path
    • get

      public DataNode get(String path)
      Description copied from interface: NodeHashMap
      Return the data node associated with the path.
      Specified by:
      get in interface NodeHashMap
      Parameters:
      path - the path to read from
    • remove

      public DataNode remove(String path)
      Description copied from interface: NodeHashMap
      Remove the path from the internal nodes map.
      Specified by:
      remove in interface NodeHashMap
      Parameters:
      path - the path to remove
      Returns:
      the node being removed
    • entrySet

      public Set<Map.Entry<String,DataNode>> entrySet()
      Description copied from interface: NodeHashMap
      Return all the entries inside this map.
      Specified by:
      entrySet in interface NodeHashMap
    • clear

      public void clear()
      Description copied from interface: NodeHashMap
      Clear all the items stored inside this map.
      Specified by:
      clear in interface NodeHashMap
    • size

      public int size()
      Description copied from interface: NodeHashMap
      Return the size of the nodes stored in this map.
      Specified by:
      size in interface NodeHashMap
    • preChange

      public void preChange(String path, DataNode node)
      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 interface NodeHashMap
      Parameters:
      path - the path being changed
      node - the node associated with the path
    • postChange

      public void postChange(String path, DataNode node)
      Description copied from interface: NodeHashMap
      Called after making the changes on the node, which will update the digest.
      Specified by:
      postChange in interface NodeHashMap
      Parameters:
      path - the path being changed
      node - the node associated with the path
    • getDigest

      public long getDigest()
      Description copied from interface: NodeHashMap
      Return the digest value.
      Specified by:
      getDigest in interface NodeHashMap