Interface ELLambdaBody

All Known Subinterfaces:
ELLambdaBody.Binary, ELLambdaBody.Nullary, ELLambdaBody.Ternary, ELLambdaBody.Unary
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @Internal public interface ELLambdaBody
The compiled body of a Jakarta Expression Language lambda expression.

The parameters of the lambda expression are the parameters of the body, so that the generated code reads them as Java locals rather than through ELContext.getLambdaArgument(String). The nested interfaces are the forms the generated code implements, one per arity up to three, the general form takes the arguments as an array.

Since:
1.0
Author:
Denis Stepanov
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    The body of a lambda expression with two parameters.
    static interface 
    The body of a lambda expression without parameters.
    static interface 
    The body of a lambda expression with three parameters.
    static interface 
    The body of a lambda expression with one parameter.
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable Object
    evaluate(jakarta.el.ELContext context, @Nullable Object[] arguments)
    Evaluates the body of the lambda expression.
  • Method Details

    • evaluate

      @Nullable Object evaluate(jakarta.el.ELContext context, @Nullable Object[] arguments)
      Evaluates the body of the lambda expression.
      Parameters:
      context - The context the lambda expression is invoked with
      arguments - The arguments, at least as many as the lambda expression declares parameters
      Returns:
      The result of the evaluation