Interface GenericConverter
- All Known Subinterfaces:
ConditionalGenericConverter
public interface GenericConverter
Generic converter interface for converting between two or more types.This is the most flexible of the Converter SPI interfaces, but also the most complex. It is flexible in that a GenericConverter may support converting between multiple source/target type pairs (see
getConvertibleTypes()
. In addition, GenericConverter implementations have access to source/targetfield context
during the type conversion process. This allows for resolving source and target field metadata such as annotations and generics information, which can be used to influence the conversion logic.This interface should generally not be used when the simpler
Converter
orConverterFactory
interface is sufficient.Implementations may additionally implement
ConditionalConverter
.- Since:
- 3.0
- Author:
- Keith Donald, Juergen Hoeller
- See Also:
TypeDescriptor
,Converter
,ConverterFactory
,ConditionalConverter
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
GenericConverter.ConvertiblePair
Holder for a source-to-target class pair.
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType)
Convert the source object to the targetType described by theTypeDescriptor
.Set<GenericConverter.ConvertiblePair>
getConvertibleTypes()
Return the source and target types that this converter can convert between.
Method Detail
getConvertibleTypes
Set<GenericConverter.ConvertiblePair> getConvertibleTypes()
Return the source and target types that this converter can convert between.Each entry is a convertible source-to-target type pair.
For
conditional converters
this method may returnnull
to indicate all source-to-target pairs should be considered.
convert
Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType)
Convert the source object to the targetType described by theTypeDescriptor
.- Parameters:
source
- the source object to convert (may benull
)sourceType
- the type descriptor of the field we are converting fromtargetType
- the type descriptor of the field we are converting to- Returns:
- the converted object