Interface TypeConverter
- All Known Subinterfaces:
BeanWrapper
,ConfigurablePropertyAccessor
- All Known Implementing Classes:
AbstractNestablePropertyAccessor
,AbstractPropertyAccessor
,BeanWrapperImpl
,DataBinder
,DirectFieldAccessor
,ExtendedServletRequestDataBinder
,ServletRequestDataBinder
,SimpleTypeConverter
,TypeConverterSupport
,WebDataBinder
,WebExchangeDataBinder
,WebRequestDataBinder
public interface TypeConverter
Interface that defines type conversion methods. Typically (but not necessarily) implemented in conjunction with thePropertyEditorRegistry
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:
SimpleTypeConverter
,BeanWrapperImpl
Method Summary
All Methods Instance Methods Abstract Methods Default Methods 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, TypeDescriptor typeDescriptor)
Convert the value to the required type (if necessary from a String).<T> T
convertIfNecessary(Object value, Class<T> requiredType, MethodParameter methodParam)
Convert the value to the required type (if necessary from a String).
Method Detail
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 convertrequiredType
- the type we must convert to (ornull
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:
PropertyEditor.setAsText(String)
,PropertyEditor.getValue()
,ConversionService
,Converter
convertIfNecessary
@Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable 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 convertrequiredType
- the type we must convert to (ornull
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 benull
)- Returns:
- the new value, possibly the result of type conversion
- Throws:
TypeMismatchException
- if type conversion failed- See Also:
PropertyEditor.setAsText(String)
,PropertyEditor.getValue()
,ConversionService
,Converter
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 convertrequiredType
- the type we must convert to (ornull
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 benull
)- Returns:
- the new value, possibly the result of type conversion
- Throws:
TypeMismatchException
- if type conversion failed- See Also:
PropertyEditor.setAsText(String)
,PropertyEditor.getValue()
,ConversionService
,Converter
convertIfNecessary
@Nullable default <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable 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 convertrequiredType
- the type we must convert to (ornull
if not known, for example in case of a collection element)typeDescriptor
- the type descriptor to use (may benull
))- Returns:
- the new value, possibly the result of type conversion
- Throws:
TypeMismatchException
- if type conversion failed- Since:
- 5.1.4
- See Also:
PropertyEditor.setAsText(String)
,PropertyEditor.getValue()
,ConversionService
,Converter