public class DefaultByteArrayNodeFactory extends Object implements NodeFactory
NodeFactory which creates Node objects which store incoming edge characters as a byte array inside
the node. This is similar to DefaultCharArrayNodeFactory, except nodes use a single byte to represent each
character in UTF-8, instead of Java's default 2-byte UFT-16 encoding.
This can reduce the memory overhead of storing character data by 50%, but supports only characters which can be
represented as a single byte in UTF-8. Throws an exception if characters are encountered which cannot be represented
as a single byte.| Constructor and Description |
|---|
DefaultByteArrayNodeFactory() |
public Node createNode(CharSequence edgeCharacters, Object value, List<Node> childNodes, boolean isRoot)
NodeFactoryNode object which encapsulates the arguments supplied, optionally returning implementations
of the Node interface which are memory-optimized for storing only the supplied combination of variables,
potentially further optimized based on variable values.createNode in interface NodeFactoryedgeCharacters - Provides edge characters to be stored in the node. This is never null. In the case of
(re-)constructing the root node, this will contain zero characters, otherwise will always contain one or more
charactersvalue - An arbitrary object to associate with the node. This can be null, but it will not be null if
dealing with a leaf node (when childNodes will be empty)childNodes - A list of child nodes to store in the node. This will never be null, but may be empty when
building a leaf nodeisRoot - Indicates if this will be the root node, in which case edge characters will be non-null but empty,
value will be null, and child nodes will be non-null but may be emptyNode interface which stores the given variablesCopyright © 2017. All Rights Reserved.