public interface TypeConverter
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.
SimpleTypeConverter
,
BeanWrapperImpl
Modifier and Type | Method and 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).
|
<T> T |
convertIfNecessary(Object value,
Class<T> requiredType,
MethodParameter methodParam)
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).
|
@Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType) throws TypeMismatchException
Conversions from String to any type will typically use the setAsText
method of the PropertyEditor class, or a Spring Converter in a ConversionService.
value
- the value to convertrequiredType
- the type we must convert to
(or null
if not known, for example in case of a collection element)TypeMismatchException
- if type conversion failedPropertyEditor.setAsText(String)
,
PropertyEditor.getValue()
,
ConversionService
,
Converter
@Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable MethodParameter methodParam) throws TypeMismatchException
Conversions from String to any type will typically use the setAsText
method of the PropertyEditor class, or a Spring Converter in a ConversionService.
value
- the value to convertrequiredType
- 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
)TypeMismatchException
- if type conversion failedPropertyEditor.setAsText(String)
,
PropertyEditor.getValue()
,
ConversionService
,
Converter
@Nullable <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable Field field) throws TypeMismatchException
Conversions from String to any type will typically use the setAsText
method of the PropertyEditor class, or a Spring Converter in a ConversionService.
value
- the value to convertrequiredType
- 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
)TypeMismatchException
- if type conversion failedPropertyEditor.setAsText(String)
,
PropertyEditor.getValue()
,
ConversionService
,
Converter
@Nullable default <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable TypeDescriptor typeDescriptor) throws TypeMismatchException
Conversions from String to any type will typically use the setAsText
method of the PropertyEditor class, or a Spring Converter in a ConversionService.
value
- the value to convertrequiredType
- 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
))TypeMismatchException
- if type conversion failedPropertyEditor.setAsText(String)
,
PropertyEditor.getValue()
,
ConversionService
,
Converter