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, convertNullSource, getConverter, getDefaultConverter, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.springframework.core.convert.ConversionService

    convert
  • 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