Class ApplicationConversionService

java.lang.Object
org.springframework.core.convert.support.GenericConversionService
org.springframework.format.support.FormattingConversionService
org.springframework.boot.convert.ApplicationConversionService
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.EmbeddedValueResolverAware, org.springframework.core.convert.ConversionService, org.springframework.core.convert.converter.ConverterRegistry, org.springframework.core.convert.support.ConfigurableConversionService, org.springframework.format.FormatterRegistry

public class ApplicationConversionService extends org.springframework.format.support.FormattingConversionService
A specialization of FormattingConversionService configured by default with converters and formatters appropriate for most Spring Boot applications.

Designed for direct instantiation but also exposes the static addApplicationConverters(org.springframework.core.convert.converter.ConverterRegistry) and addApplicationFormatters(FormatterRegistry) utility methods for ad-hoc use against registry instance.

Since:
2.0.0
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    ApplicationConversionService(org.springframework.util.StringValueResolver embeddedValueResolver)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    addApplicationConverters(org.springframework.core.convert.converter.ConverterRegistry registry)
    Add converters useful for most Spring Boot applications.
    static void
    addApplicationFormatters(org.springframework.format.FormatterRegistry registry)
    Add formatters useful for most Spring Boot applications.
    static void
    addBeans(org.springframework.format.FormatterRegistry registry, org.springframework.beans.factory.ListableBeanFactory beanFactory)
    Add GenericConverter, Converter, Printer, Parser and Formatter beans from the specified context.
    <S, T> void
    addConverter(Class<S> sourceType, Class<T> targetType, org.springframework.core.convert.converter.Converter<? super S,? extends T> converter)
     
    void
    addConverter(org.springframework.core.convert.converter.Converter<?,?> converter)
     
    void
    addConverter(org.springframework.core.convert.converter.GenericConverter converter)
     
    void
    addConverterFactory(org.springframework.core.convert.converter.ConverterFactory<?,?> factory)
     
    static void
    addDelimitedStringConverters(org.springframework.core.convert.converter.ConverterRegistry registry)
    Add converters to support delimited strings.
    void
    addFormatter(org.springframework.format.Formatter<?> formatter)
     
    void
    addFormatterForFieldAnnotation(org.springframework.format.AnnotationFormatterFactory<? extends Annotation> annotationFormatterFactory)
     
    void
    addFormatterForFieldType(Class<?> fieldType, org.springframework.format.Formatter<?> formatter)
     
    void
    addFormatterForFieldType(Class<?> fieldType, org.springframework.format.Printer<?> printer, org.springframework.format.Parser<?> parser)
     
    void
    addParser(org.springframework.format.Parser<?> parser)
     
    void
    addPrinter(org.springframework.format.Printer<?> printer)
     
    static void
    configure(org.springframework.format.FormatterRegistry registry)
    Configure the given FormatterRegistry with formatters and converters appropriate for most Spring Boot applications.
    static org.springframework.core.convert.ConversionService
    Return a shared default application ConversionService instance, lazily building it once needed.
    boolean
    isConvertViaObjectSourceType(org.springframework.core.convert.TypeDescriptor sourceType, org.springframework.core.convert.TypeDescriptor targetType)
    Return true if objects of sourceType can be converted to the targetType and the converter has Object.class as a supported source type.
    void
    removeConvertible(Class<?> sourceType, Class<?> targetType)
     

    Methods inherited from class org.springframework.format.support.FormattingConversionService

    setEmbeddedValueResolver

    Methods inherited from class org.springframework.core.convert.support.GenericConversionService

    canBypassConvert, canConvert, canConvert, convert, convert, convert, convertNullSource, getConverter, getDefaultConverter, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ApplicationConversionService

      public ApplicationConversionService()
    • ApplicationConversionService

      public ApplicationConversionService(org.springframework.util.StringValueResolver embeddedValueResolver)
  • Method Details

    • addPrinter

      public void addPrinter(org.springframework.format.Printer<?> printer)
      Specified by:
      addPrinter in interface org.springframework.format.FormatterRegistry
      Overrides:
      addPrinter in class org.springframework.format.support.FormattingConversionService
    • addParser

      public void addParser(org.springframework.format.Parser<?> parser)
      Specified by:
      addParser in interface org.springframework.format.FormatterRegistry
      Overrides:
      addParser in class org.springframework.format.support.FormattingConversionService
    • addFormatter

      public void addFormatter(org.springframework.format.Formatter<?> formatter)
      Specified by:
      addFormatter in interface org.springframework.format.FormatterRegistry
      Overrides:
      addFormatter in class org.springframework.format.support.FormattingConversionService
    • addFormatterForFieldType

      public void addFormatterForFieldType(Class<?> fieldType, org.springframework.format.Formatter<?> formatter)
      Specified by:
      addFormatterForFieldType in interface org.springframework.format.FormatterRegistry
      Overrides:
      addFormatterForFieldType in class org.springframework.format.support.FormattingConversionService
    • addConverter

      public void addConverter(org.springframework.core.convert.converter.Converter<?,?> converter)
      Specified by:
      addConverter in interface org.springframework.core.convert.converter.ConverterRegistry
      Overrides:
      addConverter in class org.springframework.core.convert.support.GenericConversionService
    • addFormatterForFieldType

      public void addFormatterForFieldType(Class<?> fieldType, org.springframework.format.Printer<?> printer, org.springframework.format.Parser<?> parser)
      Specified by:
      addFormatterForFieldType in interface org.springframework.format.FormatterRegistry
      Overrides:
      addFormatterForFieldType in class org.springframework.format.support.FormattingConversionService
    • addFormatterForFieldAnnotation

      public void addFormatterForFieldAnnotation(org.springframework.format.AnnotationFormatterFactory<? extends Annotation> annotationFormatterFactory)
      Specified by:
      addFormatterForFieldAnnotation in interface org.springframework.format.FormatterRegistry
      Overrides:
      addFormatterForFieldAnnotation in class org.springframework.format.support.FormattingConversionService
    • addConverter

      public <S, T> void addConverter(Class<S> sourceType, Class<T> targetType, org.springframework.core.convert.converter.Converter<? super S,? extends T> converter)
      Specified by:
      addConverter in interface org.springframework.core.convert.converter.ConverterRegistry
      Overrides:
      addConverter in class org.springframework.core.convert.support.GenericConversionService
    • addConverter

      public void addConverter(org.springframework.core.convert.converter.GenericConverter converter)
      Specified by:
      addConverter in interface org.springframework.core.convert.converter.ConverterRegistry
      Overrides:
      addConverter in class org.springframework.core.convert.support.GenericConversionService
    • addConverterFactory

      public void addConverterFactory(org.springframework.core.convert.converter.ConverterFactory<?,?> factory)
      Specified by:
      addConverterFactory in interface org.springframework.core.convert.converter.ConverterRegistry
      Overrides:
      addConverterFactory in class org.springframework.core.convert.support.GenericConversionService
    • removeConvertible

      public void removeConvertible(Class<?> sourceType, Class<?> targetType)
      Specified by:
      removeConvertible in interface org.springframework.core.convert.converter.ConverterRegistry
      Overrides:
      removeConvertible in class org.springframework.core.convert.support.GenericConversionService
    • isConvertViaObjectSourceType

      public boolean isConvertViaObjectSourceType(org.springframework.core.convert.TypeDescriptor sourceType, org.springframework.core.convert.TypeDescriptor targetType)
      Return true if objects of sourceType can be converted to the targetType and the converter has Object.class as a supported source type.
      Parameters:
      sourceType - the source type to test
      targetType - the target type to test
      Returns:
      if conversion happens through an ObjectTo... converter
      Since:
      2.4.3
    • getSharedInstance

      public static org.springframework.core.convert.ConversionService getSharedInstance()
      Return a shared default application ConversionService instance, lazily building it once needed.

      Note: This method actually returns an ApplicationConversionService instance. However, the ConversionService signature has been preserved for binary compatibility.

      Returns:
      the shared ApplicationConversionService instance (never null)
    • configure

      public static void configure(org.springframework.format.FormatterRegistry registry)
      Configure the given FormatterRegistry with formatters and converters appropriate for most Spring Boot applications.
      Parameters:
      registry - the registry of converters to add to (must also be castable to ConversionService, e.g. being a ConfigurableConversionService)
      Throws:
      ClassCastException - if the given FormatterRegistry could not be cast to a ConversionService
    • addApplicationConverters

      public static void addApplicationConverters(org.springframework.core.convert.converter.ConverterRegistry registry)
      Add converters useful for most Spring Boot applications.
      Parameters:
      registry - the registry of converters to add to (must also be castable to ConversionService, e.g. being a ConfigurableConversionService)
      Throws:
      ClassCastException - if the given ConverterRegistry could not be cast to a ConversionService
    • addDelimitedStringConverters

      public static void addDelimitedStringConverters(org.springframework.core.convert.converter.ConverterRegistry registry)
      Add converters to support delimited strings.
      Parameters:
      registry - the registry of converters to add to (must also be castable to ConversionService, e.g. being a ConfigurableConversionService)
      Throws:
      ClassCastException - if the given ConverterRegistry could not be cast to a ConversionService
    • addApplicationFormatters

      public static void addApplicationFormatters(org.springframework.format.FormatterRegistry registry)
      Add formatters useful for most Spring Boot applications.
      Parameters:
      registry - the service to register default formatters with
    • addBeans

      public static void addBeans(org.springframework.format.FormatterRegistry registry, org.springframework.beans.factory.ListableBeanFactory beanFactory)
      Add GenericConverter, Converter, Printer, Parser and Formatter beans from the specified context.
      Parameters:
      registry - the service to register beans with
      beanFactory - the bean factory to get the beans from
      Since:
      2.2.0