com.googlecode.concurrenttrees.radix.node.concrete
Class SmartArrayBasedNodeFactory
java.lang.Object
com.googlecode.concurrenttrees.radix.node.concrete.SmartArrayBasedNodeFactory
- All Implemented Interfaces:
- NodeFactory
public class SmartArrayBasedNodeFactory
- extends Object
- implements NodeFactory
A 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.
- Author:
- Niall Gallagher
|
Method Summary |
Node |
createNode(CharSequence edgeCharacters,
Object value,
List<Node> childNodes,
boolean isRoot)
Returns a new 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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SmartArrayBasedNodeFactory
public SmartArrayBasedNodeFactory()
createNode
public Node createNode(CharSequence edgeCharacters,
Object value,
List<Node> childNodes,
boolean isRoot)
- Description copied from interface:
NodeFactory
- Returns a new
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.
- Specified by:
createNode in interface NodeFactory
- Parameters:
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 empty
- Returns:
- An object implementing the
Node interface which stores the given variables
Copyright © 2013. All Rights Reserved.