org.springframework.expression.spel.support

## Class ReflectiveConstructorResolver

- java.lang.Object
- - org.springframework.expression.spel.support.ReflectiveConstructorResolver

All Implemented Interfaces:
  ConstructorResolver

    public class ReflectiveConstructorResolver
    extends Object
    implements ConstructorResolver

A constructor resolver that uses reflection to locate the constructor that should be invoked

Since:
  3.0
Author:
  Andy Clement, Juergen Hoeller

### Constructor Summary

Constructors
Constructor and Description
`ReflectiveConstructorResolver()`

### Method Summary

Methods
`ConstructorExecutor` `resolve(EvaluationContext context, String typename, List<TypeDescriptor> argumentTypes)` Locate a constructor on the type.

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

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

### Constructor Detail

#### ReflectiveConstructorResolver

    public ReflectiveConstructorResolver()

### Method Detail

#### resolve

    public ConstructorExecutor resolve(EvaluationContext context,
                              String typename,
                              List<TypeDescriptor> argumentTypes)
                                throws AccessException

Locate a constructor on the type. There are three kinds of match that might occur:

1. An exact match where the types of the arguments match the types of the constructor
2. An in-exact match where the types we are looking for are subtypes of those defined on the constructor
3. A match where we are able to convert the arguments into those expected by the constructor, according to the registered type converter.

Specified by:
  `resolve` in interface `ConstructorResolver`
Parameters:
  `context` - the current evaluation context
  `typename` - the type upon which to look for the constructor
  `argumentTypes` - the arguments that the constructor must be able to handle
Returns:
  a ConstructorExecutor that can invoke the constructor, or null if non found
Throws:
  `AccessException`