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 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:
    TypeDescriptor, Converter, ConverterFactory, ConditionalConverter
    • Method Detail

      • getConvertibleTypes

        @Nullable
        java.util.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 return null to indicate all source-to-target pairs should be considered.

      • convert

        @Nullable
        java.lang.Object convert(@Nullable
                                           java.lang.Object source,
                                           TypeDescriptor sourceType,
                                           TypeDescriptor targetType)
        Convert the source object 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