org.springframework.expression

## Interface TypeConverter

- All Known Implementing Classes:
    StandardTypeConverter

      public interface TypeConverter

  A type converter can convert values between different types encountered during expression evaluation. This is an SPI for the expression parser; see `ConversionService` for the primary user API to Spring's conversion facilities.
  Since:
    3.0
  Author:
    Andy Clement, Juergen Hoeller

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canConvert(TypeDescriptor sourceType, TypeDescriptor targetType)` Return `true` if the type converter can convert the specified type to the desired target type.
    `Object` | `convertValue(Object value, TypeDescriptor sourceType, TypeDescriptor targetType)` Convert (or coerce) a value from one type to another, for example from a `boolean` to a `String`.

- - ### Method Detail

    - #### canConvert

          boolean canConvert(TypeDescriptor sourceType,
                           TypeDescriptor targetType)

      Return `true` if the type converter can convert the specified type to the desired target type.
      Parameters:
        `sourceType` - a type descriptor that describes the source type
        `targetType` - a type descriptor that describes the requested result type
      Returns:
        `true` if that conversion can be performed

    - #### convertValue

          Object convertValue(Object value,
                            TypeDescriptor sourceType,
                            TypeDescriptor targetType)

      Convert (or coerce) a value from one type to another, for example from a `boolean` to a `String`.

      The `TypeDescriptor` parameters enable support for typed collections: A caller may prefer a `List&lt;Integer&gt;`, for example, rather than simply any `List`.

      Parameters:
        `value` - the value to be converted
        `sourceType` - a type descriptor that supplies extra information about the source object
        `targetType` - a type descriptor that supplies extra information about the requested result type
      Returns:
        the converted value
      Throws:
        `EvaluationException` - if conversion failed or is not possible to begin with