Class DataNode

java.lang.Object
org.apache.zookeeper.server.DataNode
All Implemented Interfaces:
Record

public class DataNode extends Object implements Record
This class contains the data for a node in the data tree.

A data node contains a reference to its parent, a byte array as its data, an array of ACLs, a stat object, and a set of its children's paths.

  • Field Details

    • stat

      public StatPersisted stat
      the stat for this node that is persisted to disk.
  • Constructor Details

    • DataNode

      public DataNode(byte[] data, Long acl, StatPersisted stat)
      create a DataNode with parent, data, acls and stat
      Parameters:
      data - the data to be set
      acl - the acls for this node
      stat - the stat for this node.
  • Method Details

    • addChild

      public boolean addChild(String child)
      Method that inserts a child into the children set
      Parameters:
      child - to be inserted
      Returns:
      true if this set did not already contain the specified element
    • removeChild

      public boolean removeChild(String child)
      Method that removes a child from the children set
      Parameters:
      child -
      Returns:
      true if this set contained the specified element
    • setChildren

      public void setChildren(HashSet<String> children)
      convenience method for setting the children for this datanode
      Parameters:
      children -
    • getChildren

      public Set<String> getChildren()
      convenience methods to get the children
      Returns:
      the children of this datanode. If the datanode has no children, empty set is returned
    • copyStat

      public void copyStat(Stat to)
    • deserialize

      public void deserialize(InputArchive archive, String tag) throws IOException
      Specified by:
      deserialize in interface Record
      Throws:
      IOException
    • serialize

      public void serialize(OutputArchive archive, String tag) throws IOException
      Specified by:
      serialize in interface Record
      Throws:
      IOException
    • isDigestCached

      public boolean isDigestCached()
    • setDigestCached

      public void setDigestCached(boolean digestCached)
    • getDigest

      public long getDigest()
    • setDigest

      public void setDigest(long digest)
    • getData

      public byte[] getData()