Class NodeFactoryBase<T>

  • All Implemented Interfaces:
    NodeFactory<T>

    public abstract class NodeFactoryBase<T>
    extends java.lang.Object
    implements NodeFactory<T>
    This is NOT public API. Do not use directly. This code may change without notice.
    • Constructor Detail

      • NodeFactoryBase

        public NodeFactoryBase​(java.lang.Class<T> nodeClass,
                               java.lang.Class<?>[] executionSignatures,
                               java.lang.Class<?>[][] nodeSignatures)
    • Method Detail

      • createNode

        public abstract T createNode​(java.lang.Object... arguments)
        Description copied from interface: NodeFactory
        Instantiates the node using the arguments array. The arguments length and types must suffice one of the returned signatures in NodeFactory.getNodeSignatures(). If the arguments array does not suffice one of the node signatures an IllegalArgumentException is thrown.
        Specified by:
        createNode in interface NodeFactory<T>
        Parameters:
        arguments - the argument values
        Returns:
        the instantiated node
      • getNodeClass

        public final java.lang.Class<T> getNodeClass()
        Description copied from interface: NodeFactory
        Returns the node class that will get created by NodeFactory.createNode(Object...). The node class does not match exactly to the instantiated object but they are guaranteed to be assignable.
        Specified by:
        getNodeClass in interface NodeFactory<T>
      • getExecutionSignature

        public final java.util.List<java.lang.Class<? extends Node>> getExecutionSignature()
        Description copied from interface: NodeFactory
        Returns a list of children that will be executed by the created node. This is useful for base nodes that can execute a variable amount of nodes.
        Specified by:
        getExecutionSignature in interface NodeFactory<T>