org.springframework.format.support
Class FormattingConversionService

java.lang.Object
  extended by org.springframework.core.convert.support.GenericConversionService
      extended by org.springframework.format.support.FormattingConversionService
All Implemented Interfaces:
Aware, EmbeddedValueResolverAware, ConversionService, ConverterRegistry, 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, addConverterFactory, canConvert, canConvert, 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, 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