Class FunctionNode
java.lang.Object
software.amazon.smithy.rulesengine.language.syntax.fn.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
-
Method Summary
Modifier and TypeMethodDescriptionstatic FunctionNode.Builder
builder()
Returns a new builder instance.boolean
static FunctionNode
fromNode
(ObjectNode function) Constructs aFunctionNode
from the providedObjectNode
.getName()
Gets the source location of a value.int
hashCode()
static FunctionNode
ofExpressions
(String functionName, Expression... arguments) Constructs aFunctionNode
for the given function name and arguments.Returns a new builder instance for thisFunctionNode
.toNode()
Converts a value to aNode
.validate()
Returns an expression representing this function.
-
Method Details
-
ofExpressions
Constructs aFunctionNode
for the given function name and arguments.- Parameters:
functionName
- the function name.arguments
- zero or more expressions as arguments to the function.- Returns:
- the
FunctionNode
.
-
fromNode
Constructs aFunctionNode
from the providedObjectNode
.- Parameters:
function
- the node describing the function.- Returns:
- the
FunctionNode
.
-
builder
Returns a new builder instance.- Returns:
- the new builder instance.
-
toBuilder
Returns a new builder instance for thisFunctionNode
.- Specified by:
toBuilder
in interfaceToSmithyBuilder<FunctionNode>
- Returns:
- the new builder instance.
-
validate
Returns an expression representing this function.- Returns:
- this function as an expression.
-
getName
-
getArguments
-
getSourceLocation
Description copied from interface:FromSourceLocation
Gets the source location of a value.- Specified by:
getSourceLocation
in interfaceFromSourceLocation
- Returns:
- Returns the source location of the value.
-
toNode
Description copied from interface:ToNode
Converts a value to aNode
. -
hashCode
public int hashCode() -
equals
-