Interface FunctionDefinition
- All Known Implementing Classes:
AwsPartition.Definition
,BooleanEquals.Definition
,Coalesce.Definition
,GetAttr.Definition
,IsSet.Definition
,IsValidHostLabel.Definition
,IsVirtualHostableS3Bucket.Definition
,Not.Definition
,ParseArn.Definition
,ParseUrl.Definition
,Split.Definition
,StringEquals.Definition
,Substring.Definition
,UriEncode.Definition
public interface FunctionDefinition
An abstract definition of a rule-engine function.
-
Method Summary
Modifier and TypeMethodDescriptioncreateFunction
(FunctionNode functionNode) Creates aLibraryFunction
implementation from the givenFunctionNode
.Evaluate the arguments to a given function to compute a result.The arguments to this function.getId()
The ID of this function.The return type of this function definition.Gets the type of variadic arguments if this function accepts them.
-
Method Details
-
getId
String getId()The ID of this function.- Returns:
- The ID string
-
getArguments
The arguments to this function.- Returns:
- The function arguments
-
getVariadicArguments
Gets the type of variadic arguments if this function accepts them.When present, the function accepts any number of additional arguments of this type after the fixed arguments from getArguments().
- Returns:
- the variadic argument type, or empty if not variadic
-
getReturnType
Type getReturnType()The return type of this function definition.- Returns:
- The function return type
-
evaluate
Evaluate the arguments to a given function to compute a result.- Returns:
- The resulting value
-
createFunction
Creates aLibraryFunction
implementation from the givenFunctionNode
.- Parameters:
functionNode
- the function node to deserialize.- Returns:
- the created LibraryFunction implementation.
-