com.googlecode.concurrenttrees.radix.node
Interface NodeFactory

All Known Implementing Classes:
DefaultByteArrayNodeFactory, DefaultCharArrayNodeFactory, DefaultCharSequenceNodeFactory, SmartArrayBasedNodeFactory

public interface NodeFactory

An interface for a factory which creates new Node objects on demand, to encapsulate specified variables. Factory objects can choose to return implementations of the Node interface which are memory-optimized for storing only the given variables, potentially further optimized based on variable values.

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.
 

Method Detail

createNode

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.

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 characters
value - 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 node
isRoot - 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.