public class CharSequenceNodeNonLeafVoidValue extends Object implements Node
CharSequence (a view onto the original key) rather than copying the edge
into a character array, and stores outgoing edges as an AtomicReferenceArray. Does not store a
value and returns VoidValue for the value.| Constructor and Description |
|---|
CharSequenceNodeNonLeafVoidValue(CharSequence edgeCharSequence,
List<Node> outgoingEdges) |
| Modifier and Type | Method and Description |
|---|---|
CharSequence |
getIncomingEdge()
Returns all characters of the "edge" encoded in this node, belonging to the connection from a parent node to this
node.
|
Character |
getIncomingEdgeFirstCharacter()
Returns the first character of the "edge" encoded in this node, belonging to the connection from a parent node to
this node.
|
Node |
getOutgoingEdge(Character edgeFirstCharacter)
Returns the child of this node whose edge starts with the given first character.
|
List<Node> |
getOutgoingEdges()
Returns a read-only list of the child nodes to which this node has outgoing edges, i.e.
|
Object |
getValue()
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. |
String |
toString() |
void |
updateOutgoingEdge(Node childNode)
Updates the child node reference for a given edge (identified by its first character) to point to a different
child node.
|
public CharSequenceNodeNonLeafVoidValue(CharSequence edgeCharSequence, List<Node> outgoingEdges)
public CharSequence getIncomingEdge()
NodegetIncomingEdge in interface Nodepublic Character getIncomingEdgeFirstCharacter()
NodegetIncomingEdgeFirstCharacter in interface NodegetIncomingEdgeFirstCharacter in interface NodeCharacterProviderpublic Object getValue()
Nodenull if no value is stored in this node.public Node getOutgoingEdge(Character edgeFirstCharacter)
NodeNode.updateOutgoingEdge(Node).getOutgoingEdge in interface NodeedgeFirstCharacter - The first character of the edge for which the associated child node is requirednull if this
node has no such outgoing edgepublic void updateOutgoingEdge(Node childNode)
NodeNode.getOutgoingEdge(Character).updateOutgoingEdge in interface NodechildNode - The new child node to associated with this edgepublic List<Node> getOutgoingEdges()
NodegetOutgoingEdges in interface NodeCopyright © 2017. All Rights Reserved.