Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.beans.support
Class ArgumentConvertingMethodInvoker

    java.lang.Object
      org.springframework.util.MethodInvoker
          org.springframework.beans.support.ArgumentConvertingMethodInvoker

Direct Known Subclasses:
  MethodInvokingFactoryBean, MethodInvokingJobDetailFactoryBean, MethodInvokingRunnable

    public class ArgumentConvertingMethodInvoker

extends MethodInvoker

Subclass of `MethodInvoker` that tries to convert the given arguments for the actual target method via a `TypeConverter`.

Supports flexible argument conversions, in particular for invoking a specific overloaded method.

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  `BeanWrapperImpl.convertIfNecessary(java.lang.Object, java.lang.Class, org.springframework.core.MethodParameter)`

Constructor Summary
`ArgumentConvertingMethodInvoker()`

Method Summary
`protected java.lang.reflect.Method` | `doFindMatchingMethod(java.lang.Object[] arguments)` Actually find a method with matching parameter type, i.e.
`protected java.lang.reflect.Method` | `findMatchingMethod()` This implementation looks for a method with matching parameter types.
`protected TypeConverter` | `getDefaultTypeConverter()` Obtain the default TypeConverter for this method invoker.
`TypeConverter` | `getTypeConverter()` Return the TypeConverter used for argument type conversion.
`void` | `registerCustomEditor(java.lang.Class requiredType, java.beans.PropertyEditor propertyEditor)` Register the given custom property editor for all properties of the given type.
`void` | `setTypeConverter(TypeConverter typeConverter)` Set a TypeConverter to use for argument type conversion.

Methods inherited from class org.springframework.util.MethodInvoker
`getArguments, getPreparedMethod, getTargetClass, getTargetMethod, getTargetObject, getTypeDifferenceWeight, invoke, isPrepared, prepare, resolveClassName, setArguments, setStaticMethod, setTargetClass, setTargetMethod, setTargetObject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ArgumentConvertingMethodInvoker

    public ArgumentConvertingMethodInvoker()

Method Detail

### setTypeConverter

    public void setTypeConverter(TypeConverter typeConverter)

  Set a TypeConverter to use for argument type conversion.

  Default is a `SimpleTypeConverter`. Can be overridden with any TypeConverter implementation, typically a pre-configured SimpleTypeConverter or a BeanWrapperImpl instance.

  See Also:
    `SimpleTypeConverter`, `BeanWrapperImpl`

### getTypeConverter

    public TypeConverter getTypeConverter()

  Return the TypeConverter used for argument type conversion.

  Can be cast to `PropertyEditorRegistry` if direct access to the underlying PropertyEditors is desired (provided that the present TypeConverter actually implements the PropertyEditorRegistry interface).

### getDefaultTypeConverter

    protected TypeConverter getDefaultTypeConverter()

  Obtain the default TypeConverter for this method invoker.

  Called if no explicit TypeConverter has been specified. The default implementation builds a `SimpleTypeConverter`. Can be overridden in subclasses.

### registerCustomEditor

    public void registerCustomEditor(java.lang.Class requiredType,
                                     java.beans.PropertyEditor propertyEditor)

  Register the given custom property editor for all properties of the given type.

  Typically used in conjunction with the default `SimpleTypeConverter`; will work with any TypeConverter that implements the PropertyEditorRegistry interface as well.

  Parameters:
    `requiredType` - type of the property
    `propertyEditor` - editor to register
  See Also:
    `setTypeConverter(org.springframework.beans.TypeConverter)`, `PropertyEditorRegistry.registerCustomEditor(java.lang.Class, java.beans.PropertyEditor)`

### findMatchingMethod

    protected java.lang.reflect.Method findMatchingMethod()

  This implementation looks for a method with matching parameter types.

  Overrides:
    `findMatchingMethod` in class `MethodInvoker`
  Returns:
    a matching method, or `null` if none
  See Also:
    `doFindMatchingMethod(java.lang.Object[])`

### doFindMatchingMethod

    protected java.lang.reflect.Method doFindMatchingMethod(java.lang.Object[] arguments)

  Actually find a method with matching parameter type, i.e. where each argument value is assignable to the corresponding parameter type.

  Parameters:
    `arguments` - the argument values to match against method parameters
  Returns:
    a matching method, or `null` if none

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD