## org.springframework.format.support
Class FormattingConversionService

    java.lang.Object
      org.springframework.core.convert.support.GenericConversionService
          org.springframework.format.support.FormattingConversionService

All Implemented Interfaces:
  Aware, EmbeddedValueResolverAware, ConversionService, ConverterRegistry, ConfigurableConversionService, FormatterRegistry

Direct Known Subclasses:
  DefaultFormattingConversionService

    public class FormattingConversionService

extends GenericConversionService
implements FormatterRegistry, EmbeddedValueResolverAware

A `ConversionService` implementation designed to be configured as a `FormatterRegistry`.

Since:
  3.0
Author:
  Keith Donald, Juergen Hoeller

Constructor Summary
`FormattingConversionService()`

Method Summary
`void` `addFormatter(Formatter<?> formatter)` Adds a Formatter to format fields of a specific type.
`void` `addFormatterForFieldAnnotation(AnnotationFormatterFactory annotationFormatterFactory)` Adds a Formatter to format fields annotated with a specific format annotation.
`void` `addFormatterForFieldType(Class<?> fieldType, Formatter<?> formatter)` Adds a Formatter to format fields of the given type.
`void` `addFormatterForFieldType(Class<?> fieldType, Printer<?> printer, Parser<?> parser)` Adds a Printer/Parser pair to format fields of a specific type.
`void` `setEmbeddedValueResolver(StringValueResolver resolver)` Set the StringValueResolver to use for resolving embedded definition values.

Methods inherited from class org.springframework.core.convert.support.GenericConversionService
`addConverter, addConverter, addConverter, addConverterFactory, canConvert, canConvert, convert, convert, convert, convertNullSource, getConverter, getDefaultConverter, removeConvertible, 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.converter.ConverterRegistry
`addConverter, addConverter, addConverter, addConverterFactory, removeConvertible`

Constructor Detail

### FormattingConversionService

    public FormattingConversionService()

Method Detail

### setEmbeddedValueResolver

    public void setEmbeddedValueResolver(StringValueResolver resolver)

  Description copied from interface: `EmbeddedValueResolverAware`
  Set the StringValueResolver to use for resolving embedded definition values.

  Specified by:
    `setEmbeddedValueResolver` in interface `EmbeddedValueResolverAware`

### addFormatter

    public void addFormatter(Formatter<?> formatter)

  Description copied from interface: `FormatterRegistry`
  Adds a Formatter to format fields of a specific type. The field type is implied by the parameterized Formatter instance.

  Specified by:
    `addFormatter` in interface `FormatterRegistry`
  Parameters:
    `formatter` - the formatter to add
  See Also:
    `FormatterRegistry.addFormatterForFieldType(Class, Formatter)`

### addFormatterForFieldType

    public void addFormatterForFieldType(Class<?> fieldType,
                                         Formatter<?> formatter)

  Description copied from interface: `FormatterRegistry`
  Adds a Formatter to format fields of the given type.

  On print, if the Formatter's type T is declared and `fieldType` is not assignable to T, a coersion to T will be attempted before delegating to `formatter` to print a field value. On parse, if the parsed object returned by `formatter` is not assignable to the runtime field type, a coersion to the field type will be attempted before returning the parsed field value.

  Specified by:
    `addFormatterForFieldType` in interface `FormatterRegistry`
  Parameters:
    `fieldType` - the field type to format
    `formatter` - the formatter to add

### addFormatterForFieldType

    public void addFormatterForFieldType(Class<?> fieldType,
                                         Printer<?> printer,
                                         Parser<?> parser)

  Description copied from interface: `FormatterRegistry`
  Adds a Printer/Parser pair to format fields of a specific type. The formatter will delegate to the specified `printer` for printing and the specified `parser` for parsing.

  On print, if the Printer's type T is declared and `fieldType` is not assignable to T, a coersion to T will be attempted before delegating to `printer` to print a field value. On parse, if the object returned by the Parser is not assignable to the runtime field type, a coersion to the field type will be attempted before returning the parsed field value.

  Specified by:
    `addFormatterForFieldType` in interface `FormatterRegistry`
  Parameters:
    `fieldType` - the field type to format
    `printer` - the printing part of the formatter
    `parser` - the parsing part of the formatter

### addFormatterForFieldAnnotation

    public void addFormatterForFieldAnnotation(AnnotationFormatterFactory annotationFormatterFactory)

  Description copied from interface: `FormatterRegistry`
  Adds a Formatter to format fields annotated with a specific format annotation.

  Specified by:
    `addFormatterForFieldAnnotation` in interface `FormatterRegistry`
  Parameters:
    `annotationFormatterFactory` - the annotation formatter factory to add