# Interface NodeHashMap

All Known Implementing Classes:
  `NodeHashMapImpl`

public interface NodeHashMap
The interface defined to manage the hash based on the entries in the nodes map.

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
Clear all the items stored inside this map.
`Set<Map.Entry<String,DataNode>>`
`entrySet()`
Return all the entries inside this map.
`DataNode`
`get(String path)`
Return the data node associated with the path.
`long`
`getDigest()`
Return the digest value.
`void`
`postChange(String path, DataNode node)`
Called after making the changes on the node, which will update the digest.
`void`
`preChange(String path, DataNode node)`
Called before we made the change on the node, which will clear the digest associated with it.
`DataNode`
`put(String path, DataNode node)`
Add the node into the map and update the digest with the new node.
`DataNode`
`putWithoutDigest(String path, DataNode node)`
Add the node into the map without update the digest.
`DataNode`
`remove(String path)`
Remove the path from the internal nodes map.
`int`
`size()`
Return the size of the nodes stored in this map.

## Method Details

### put

DataNode put(String path, DataNode node)
Add the node into the map and update the digest with the new node.

Parameters:
  `path` - the path of the node
  `node` - the actual node associated with this path

### putWithoutDigest

DataNode putWithoutDigest(String path, DataNode node)
Add the node into the map without update the digest.

Parameters:
  `path` - the path of the node
  `node` - the actual node associated with this path

### get

DataNode get(String path)
Return the data node associated with the path.

Parameters:
  `path` - the path to read from

### remove

DataNode remove(String path)
Remove the path from the internal nodes map.

Parameters:
  `path` - the path to remove
Returns:
  the node being removed

### entrySet

Set<Map.Entry<String,DataNode>> entrySet()
Return all the entries inside this map.

### clear

void clear()
Clear all the items stored inside this map.

### size

int size()
Return the size of the nodes stored in this map.

### preChange

void preChange(String path, DataNode node)
Called before we made the change on the node, which will clear the digest associated with it.

Parameters:
  `path` - the path being changed
  `node` - the node associated with the path

### postChange

void postChange(String path, DataNode node)
Called after making the changes on the node, which will update the digest.

Parameters:
  `path` - the path being changed
  `node` - the node associated with the path

### getDigest

long getDigest()
Return the digest value.