com.amazonaws.jmespath

## Class JmesPathFunction

- java.lang.Object
- - com.amazonaws.jmespath.JmesPathFunction

All Implemented Interfaces:
  JmesPathExpression

Direct Known Subclasses:
  JmesPathContainsFunction, JmesPathLengthFunction

    public abstract class JmesPathFunction
    extends Object
    implements JmesPathExpression

Abstract class definition for function expressions that are used to transform and filter data in powerful ways.

### Constructor Summary

Constructors
Constructor and Description
`JmesPathFunction(List<JmesPathExpression> expressions)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`<Input,Output> Output` `accept(JmesPathVisitor<Input,Output> visitor, Input input)` Delegates to either the CodeGen visitor(JmesPathFunction) or Evaluation visitor(JmesPathFunction) based on the type of JmesPath visitor
`abstract com.fasterxml.jackson.databind.JsonNode` `evaluate(List<com.fasterxml.jackson.databind.JsonNode> evaluatedArgs)` Abstract method definition for evaluating the given list of expressions as per the given type of function
`List<JmesPathExpression>` `getExpressions()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### JmesPathFunction

    public JmesPathFunction(List<JmesPathExpression> expressions)

### Method Detail

#### getExpressions

    public List<JmesPathExpression> getExpressions()

#### accept

    public <Input,Output> Output accept(JmesPathVisitor<Input,Output> visitor,
                                        Input input)
                                 throws InvalidTypeException

Delegates to either the CodeGen visitor(JmesPathFunction) or Evaluation visitor(JmesPathFunction) based on the type of JmesPath visitor

Specified by:
  `accept` in interface `JmesPathExpression`
Type Parameters:
  `Input` - Input type for the visitor CodeGen visitor: Void Evaluation visitor: JsonNode
  `Output` - Output type for the visitor CodeGen visitor: String Evaluation visitor: JsonNode
Parameters:
  `visitor` - CodeGen visitor or Evaluation visitor
  `input` - Input expression that needs to be evaluated
Returns:
  Corresponding output is returned. Evaluated String in the case of CodeGen visitor or an evaluated JsonNode in the case of Evaluation visitor
Throws:
  `InvalidTypeException`

#### evaluate

    public abstract com.fasterxml.jackson.databind.JsonNode evaluate(List<com.fasterxml.jackson.databind.JsonNode> evaluatedArgs)

Abstract method definition for evaluating the given list of expressions as per the given type of function

Parameters:
  `evaluatedArgs` - List of expressions to be evaluated
Returns:
  Result of the evaluation of the corresponding function