org.springframework.core.convert.converter
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/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 influence the conversion logic.

This interface should generally not be used when the simpler Converter or ConverterFactory interfaces are sufficient.

Since:
3.0
Author:
Keith Donald, Juergen Hoeller
See Also:
TypeDescriptor, Converter, ConverterFactory

Nested Class Summary
static class GenericConverter.ConvertiblePair
          Holder for a source-to-target class pair.
 
Method Summary
 Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType)
          Convert the source to the targetType described by the TypeDescriptor.
 Set<GenericConverter.ConvertiblePair> getConvertibleTypes()
          Return the source and target types which this converter can convert between.
 

Method Detail

getConvertibleTypes

Set<GenericConverter.ConvertiblePair> getConvertibleTypes()
Return the source and target types which this converter can convert between.

Each entry is a convertible source-to-target type pair.


convert

Object convert(Object source,
               TypeDescriptor sourceType,
               TypeDescriptor targetType)
Convert the source to the targetType described by the TypeDescriptor.

Parameters:
source - the source object to convert (may be null)
sourceType - the type descriptor of the field we are converting from
targetType - the type descriptor of the field we are converting to
Returns:
the converted object