Interface TypeConverter

All Known Subinterfaces:
BeanWrapper, ConfigurablePropertyAccessor
All Known Implementing Classes:
AbstractNestablePropertyAccessor, AbstractPropertyAccessor, BeanWrapperImpl, DirectFieldAccessor, SimpleTypeConverter, TypeConverterSupport

public interface TypeConverter
Interface that defines type conversion methods. Typically (but not necessarily) implemented in conjunction with the PropertyEditorRegistry interface.

Note: Since TypeConverter implementations are typically based on PropertyEditors which aren't thread-safe, TypeConverters themselves are not to be considered as thread-safe either.

Since:
2.0
Author:
Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    convertIfNecessary(Object value, Class<T> requiredType)
    Convert the value to the required type (if necessary from a String).
    <T> T
    convertIfNecessary(Object value, Class<T> requiredType, Field field)
    Convert the value to the required type (if necessary from a String).
    default <T> T
    convertIfNecessary(Object value, Class<T> requiredType, org.springframework.core.convert.TypeDescriptor typeDescriptor)
    Convert the value to the required type (if necessary from a String).
    <T> T
    convertIfNecessary(Object value, Class<T> requiredType, org.springframework.core.MethodParameter methodParam)
    Convert the value to the required type (if necessary from a String).
  • Method Details

    • convertIfNecessary

      @Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType) throws TypeMismatchException
      Convert the value to the required type (if necessary from a String).

      Conversions from String to any type will typically use the setAsText method of the PropertyEditor class, or a Spring Converter in a ConversionService.

      Parameters:
      value - the value to convert
      requiredType - the type we must convert to (or null if not known, for example in case of a collection element)
      Returns:
      the new value, possibly the result of type conversion
      Throws:
      TypeMismatchException - if type conversion failed
      See Also:
    • convertIfNecessary

      @Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable org.springframework.core.MethodParameter methodParam) throws TypeMismatchException
      Convert the value to the required type (if necessary from a String).

      Conversions from String to any type will typically use the setAsText method of the PropertyEditor class, or a Spring Converter in a ConversionService.

      Parameters:
      value - the value to convert
      requiredType - the type we must convert to (or null if not known, for example in case of a collection element)
      methodParam - the method parameter that is the target of the conversion (for analysis of generic types; may be null)
      Returns:
      the new value, possibly the result of type conversion
      Throws:
      TypeMismatchException - if type conversion failed
      See Also:
    • convertIfNecessary

      @Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable Field field) throws TypeMismatchException
      Convert the value to the required type (if necessary from a String).

      Conversions from String to any type will typically use the setAsText method of the PropertyEditor class, or a Spring Converter in a ConversionService.

      Parameters:
      value - the value to convert
      requiredType - the type we must convert to (or null if not known, for example in case of a collection element)
      field - the reflective field that is the target of the conversion (for analysis of generic types; may be null)
      Returns:
      the new value, possibly the result of type conversion
      Throws:
      TypeMismatchException - if type conversion failed
      See Also:
    • convertIfNecessary

      @Nullable default <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable org.springframework.core.convert.TypeDescriptor typeDescriptor) throws TypeMismatchException
      Convert the value to the required type (if necessary from a String).

      Conversions from String to any type will typically use the setAsText method of the PropertyEditor class, or a Spring Converter in a ConversionService.

      Parameters:
      value - the value to convert
      requiredType - the type we must convert to (or null if not known, for example in case of a collection element)
      typeDescriptor - the type descriptor to use (may be null))
      Returns:
      the new value, possibly the result of type conversion
      Throws:
      TypeMismatchException - if type conversion failed
      Since:
      5.1.4
      See Also: