Class CharArrayNodeLeafNullValue

java.lang.Object
com.googlecode.concurrenttrees.radix.node.concrete.chararray.CharArrayNodeLeafNullValue
All Implemented Interfaces:
Node, NodeCharacterProvider, Serializable

public class CharArrayNodeLeafNullValue extends Object implements Node
Stores only incoming edge as a char[]. Returns null for the value. Does not store any outgoing edges.
See Also:
  • Field Details

    • incomingEdgeCharArray

      private final char[] incomingEdgeCharArray
  • Constructor Details

    • CharArrayNodeLeafNullValue

      public CharArrayNodeLeafNullValue(CharSequence edgeCharSequence)
  • Method Details

    • getIncomingEdge

      public CharSequence getIncomingEdge()
      Description copied from interface: Node
      Returns all characters of the "edge" encoded in this node, belonging to the connection from a parent node to this node.
      Specified by:
      getIncomingEdge in interface Node
      Returns:
      All characters of the "edge" encoded in this node
    • getIncomingEdgeFirstCharacter

      public Character getIncomingEdgeFirstCharacter()
      Description copied from interface: Node
      Returns the first character of the "edge" encoded in this node, belonging to the connection from a parent node to this node.

      Specified by:
      getIncomingEdgeFirstCharacter in interface Node
      Specified by:
      getIncomingEdgeFirstCharacter in interface NodeCharacterProvider
      Returns:
      The first character of the "edge" encoded in this node
    • getValue

      public Object getValue()
      Description copied from interface: Node
      Returns a value object which has been associated with a key and which is stored in this node, or returns null if no value is stored in this node.
      Specified by:
      getValue in interface Node
      Returns:
      A value object which has been associated with a key and which is stored in this node, or returns null if no value is stored in this node
    • getOutgoingEdge

      public Node getOutgoingEdge(Character edgeFirstCharacter)
      Description copied from interface: Node
      Returns the child of this node whose edge starts with the given first character.

      This read must be performed atomically, in relation to writes made via Node.updateOutgoingEdge(Node).

      Specified by:
      getOutgoingEdge in interface Node
      Parameters:
      edgeFirstCharacter - The first character of the edge for which the associated child node is required
      Returns:
      The child of this node whose edge starts with the given first character, or null if this node has no such outgoing edge
    • updateOutgoingEdge

      public void updateOutgoingEdge(Node childNode)
      Description copied from interface: Node
      Updates the child node reference for a given edge (identified by its first character) to point to a different child node.

      The first character of the given child node's edge must match the first character of an existing outgoing edge from this node.

      This write must be performed atomically, in relation to reads made via Node.getOutgoingEdge(Character).

      Specified by:
      updateOutgoingEdge in interface Node
      Parameters:
      childNode - The new child node to associated with this edge
    • getOutgoingEdges

      public List<Node> getOutgoingEdges()
      Description copied from interface: Node
      Returns a read-only list of the child nodes to which this node has outgoing edges, i.e. child nodes which have incoming edges from this node.

      It is intended that this method will be used for copying/cloning nodes.

      Specified by:
      getOutgoingEdges in interface Node
      Returns:
      A read-only list of the child nodes to which this node has outgoing edges
    • toString

      public String toString()
      Overrides:
      toString in class Object