Interface NodeFactory<T>
public interface NodeFactory<T>
Enables the dynamic creation of generated nodes. It provides an convenient way to instantiate
generated node classes without using reflection.
- Since:
- 0.8 or earlier
-
Method Summary
Modifier and TypeMethodDescriptioncreateNode(Object... arguments) Instantiates the node using the arguments array.Returns a list of children that will be executed by the created node.Returns the node class that will get created bycreateNode(Object...).Returns a list of signatures that can be used to invokecreateNode(Object...).default TReturns the uncached version of this node ornullifGenerateUncachedwas not applied to the node.
-
Method Details
-
createNode
Instantiates the node using the arguments array. The arguments length and types must suffice one of the returned signatures ingetNodeSignatures(). If the arguments array does not suffice one of the node signatures anIllegalArgumentExceptionis thrown.- Parameters:
arguments- the argument values- Returns:
- the instantiated node
- Throws:
IllegalArgumentException- Since:
- 0.8 or earlier
-
getNodeClass
Returns the node class that will get created bycreateNode(Object...). The node class does not match exactly to the instantiated object but they are guaranteed to be assignable.- Since:
- 0.8 or earlier
-
getNodeSignatures
Returns a list of signatures that can be used to invokecreateNode(Object...).- Since:
- 0.8 or earlier
-
getExecutionSignature
-
getUncachedInstance
Returns the uncached version of this node ornullifGenerateUncachedwas not applied to the node.- Since:
- 19.1.0
-