Class 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 Detail

      • stat

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

      • 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 Detail

      • 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)
      • isDigestCached

        public boolean isDigestCached()
      • setDigestCached

        public void setDigestCached​(boolean digestCached)
      • getDigest

        public long getDigest()
      • setDigest

        public void setDigest​(long digest)
      • getData

        public byte[] getData()