All Known Implementing Classes:
AwsPartition.Definition, BooleanEquals.Definition, GetAttr.Definition, IsSet.Definition, IsValidHostLabel.Definition, IsVirtualHostableS3Bucket.Definition, Not.Definition, ParseArn.Definition, ParseUrl.Definition, StringEquals.Definition, Substring.Definition, UriEncode.Definition

public interface FunctionDefinition
An abstract definition of a rule-engine function.
  • Method Details

    • getId

      String getId()
      The ID of this function.
      Returns:
      The ID string
    • getArguments

      List<Type> getArguments()
      The arguments to this function.
      Returns:
      The function arguments
    • getReturnType

      Type getReturnType()
      The return type of this function definition.
      Returns:
      The function return type
    • evaluate

      Value evaluate(List<Value> arguments)
      Evaluate the arguments to a given function to compute a result.
      Returns:
      The resulting value
    • createFunction

      LibraryFunction createFunction(FunctionNode functionNode)
      Creates a LibraryFunction implementation from the given FunctionNode.
      Parameters:
      functionNode - the function node to deserialize.
      Returns:
      the created LibraryFunction implementation.