public class SmartArrayBasedNodeFactory extends Object implements NodeFactory
NodeFactory
which internally uses DefaultByteArrayNodeFactory
to create nodes by default (which
can reduce memory overhead), but falls back to DefaultCharArrayNodeFactory
if characters are detected which
cannot be represented as a single byte.Constructor and Description |
---|
SmartArrayBasedNodeFactory() |
Modifier and Type | Method and Description |
---|---|
Node |
createNode(CharSequence edgeCharacters,
Object value,
List<Node> childNodes,
boolean isRoot)
|
public Node createNode(CharSequence edgeCharacters, Object value, List<Node> childNodes, boolean isRoot)
NodeFactory
Node
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 NodeFactory
edgeCharacters
- 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 © 2019. All rights reserved.