public abstract class NodeFactoryBase<T> extends java.lang.Object implements NodeFactory<T>
Constructor and Description |
---|
NodeFactoryBase(java.lang.Class<T> nodeClass,
java.lang.Class<?>[] executionSignatures,
java.lang.Class<?>[][] nodeSignatures) |
Modifier and Type | Method and Description |
---|---|
abstract T |
createNode(java.lang.Object... arguments)
Instantiates the node using the arguments array.
|
java.util.List<java.lang.Class<? extends Node>> |
getExecutionSignature()
Returns a list of children that will be executed by the created node.
|
java.lang.Class<T> |
getNodeClass()
Returns the node class that will get created by
NodeFactory.createNode(Object...) . |
java.util.List<java.util.List<java.lang.Class<?>>> |
getNodeSignatures()
Returns a list of signatures that can be used to invoke
NodeFactory.createNode(Object...) . |
public NodeFactoryBase(java.lang.Class<T> nodeClass, java.lang.Class<?>[] executionSignatures, java.lang.Class<?>[][] nodeSignatures)
public abstract T createNode(java.lang.Object... arguments)
NodeFactory
NodeFactory.getNodeSignatures()
. If the arguments array does
not suffice one of the node signatures an IllegalArgumentException
is thrown.createNode
in interface NodeFactory<T>
arguments
- the argument valuespublic final java.lang.Class<T> getNodeClass()
NodeFactory
NodeFactory.createNode(Object...)
. The node
class does not match exactly to the instantiated object but they are guaranteed to be
assignable.getNodeClass
in interface NodeFactory<T>
public final java.util.List<java.util.List<java.lang.Class<?>>> getNodeSignatures()
NodeFactory
NodeFactory.createNode(Object...)
.getNodeSignatures
in interface NodeFactory<T>
public final java.util.List<java.lang.Class<? extends Node>> getExecutionSignature()
NodeFactory
getExecutionSignature
in interface NodeFactory<T>