Class FunctionNode
java.lang.Object
software.amazon.smithy.rulesengine.language.syntax.expressions.functions.FunctionNode
- All Implemented Interfaces:
FromSourceLocation,ToNode,ToSmithyBuilder<FunctionNode>
public final class FunctionNode
extends Object
implements FromSourceLocation, ToNode, ToSmithyBuilder<FunctionNode>
Parsed but not validated function contents containing the `fn` name and `argv`.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA builder used to create aFunctionNodeclass. -
Method Summary
Modifier and TypeMethodDescriptionstatic FunctionNode.Builderbuilder()Returns a new builder instance.Returns an expression representing this function.booleanstatic FunctionNodefromNode(ObjectNode function) Constructs aFunctionNodefrom the providedObjectNode.Gets the list of argumentExpressions to the function described in this node.getName()Gets the name for the function described in this node.Gets the source location of a value.inthashCode()static FunctionNodeofExpressions(String functionName, FromSourceLocation sourceLocation, ToExpression... arguments) Constructs aFunctionNodefor the given function name and arguments.static FunctionNodeofExpressions(String functionName, ToExpression... arguments) Constructs aFunctionNodefor the given function name and arguments.Returns a new builder instance for thisFunctionNode.toNode()Converts a value to aNode.
-
Method Details
-
ofExpressions
Constructs aFunctionNodefor the given function name and arguments.- Parameters:
functionName- the function name.arguments- zero or more expressions as arguments to the function.- Returns:
- the
FunctionNode.
-
ofExpressions
public static FunctionNode ofExpressions(String functionName, FromSourceLocation sourceLocation, ToExpression... arguments) Constructs aFunctionNodefor the given function name and arguments.- Parameters:
functionName- the function name.sourceLocation- the source location for the function.arguments- zero or more expressions as arguments to the function.- Returns:
- the
FunctionNode.
-
builder
Returns a new builder instance.- Returns:
- the new builder instance.
-
fromNode
Constructs aFunctionNodefrom the providedObjectNode.- Parameters:
function- the node describing the function.- Returns:
- the
FunctionNode.
-
createFunction
Returns an expression representing this function.- Returns:
- this function as an expression.
-
getName
Gets the name for the function described in this node.- Returns:
- the name for the function.
-
getArguments
Gets the list of argumentExpressions to the function described in this node.- Returns:
- the list of arguments.
-
getSourceLocation
Description copied from interface:FromSourceLocationGets the source location of a value.- Specified by:
getSourceLocationin interfaceFromSourceLocation- Returns:
- Returns the source location of the value.
-
toBuilder
Returns a new builder instance for thisFunctionNode.- Specified by:
toBuilderin interfaceToSmithyBuilder<FunctionNode>- Returns:
- the new builder instance.
-
toNode
Description copied from interface:ToNodeConverts a value to aNode. -
equals
-
hashCode
public int hashCode()
-