Package org.springframework.expression

# Interface ConstructorExecutor

All Known Implementing Classes:
  `ReflectiveConstructorExecutor`

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ConstructorExecutor
A `ConstructorExecutor` is built by a `ConstructorResolver` and can be cached by the infrastructure to repeat an operation quickly without going back to the resolvers.

For example, the particular constructor to execute on a class may be discovered by a `ConstructorResolver` which then builds a `ConstructorExecutor` that executes that constructor, and the resolved `ConstructorExecutor` can be reused without needing to go back to the resolvers to discover the constructor again.

If a `ConstructorExecutor` becomes stale, it should throw an `AccessException` which signals to the infrastructure to go back to the resolvers to ask for a new one.

Since:
  3.0
Author:
  Andy Clement, Sam Brannen
See Also:
  - `ConstructorResolver`
  - `MethodExecutor`

## Method Summary

Modifier and Type
Method
Description
`TypedValue`
`execute(EvaluationContext context, Object... arguments)`
Execute a constructor in the specified context using the specified arguments.

## Method Details

### execute

TypedValue execute(EvaluationContext context, Object... arguments) throws AccessException
Execute a constructor in the specified context using the specified arguments.

Parameters:
  `context` - the evaluation context in which the constructor is being executed
  `arguments` - the arguments to the constructor; should match (in terms of number and type) whatever the constructor will need to run
Returns:
  the new object
Throws:
  `AccessException` - if there is a problem executing the constructor or if this `ConstructorExecutor` has become stale