Interface GenericConverter
- All Known Subinterfaces:
ConditionalGenericConverter
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/target field 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 or
ConverterFactory interface is sufficient.
Implementations may additionally implement ConditionalConverter.
- Since:
- 3.0
- Author:
- Keith Donald, Juergen Hoeller
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classHolder for a source-to-target class pair. -
Method Summary
Modifier and TypeMethodDescriptionconvert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) Convert the source object to the targetType described by theTypeDescriptor.Return the source and target types that this converter can convert between.
-
Method Details
-
getConvertibleTypes
@Nullable 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 convertersthis method may returnnullto indicate all source-to-target pairs should be considered. -
convert
@Nullable Object convert(@Nullable 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
-