org.springframework.format.number

## Class NumberFormatAnnotationFormatterFactory

- java.lang.Object
- - org.springframework.format.number.NumberFormatAnnotationFormatterFactory

- All Implemented Interfaces:
    Aware, EmbeddedValueResolverAware, AnnotationFormatterFactory<NumberFormat>

      public class NumberFormatAnnotationFormatterFactory
      extends Object
      implements AnnotationFormatterFactory<NumberFormat>, EmbeddedValueResolverAware

  Formats fields annotated with the `NumberFormat` annotation.
  Since:
    3.0
  Author:
    Keith Donald
  See Also:
    `NumberFormat`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NumberFormatAnnotationFormatterFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Set<Class<?>>` | `getFieldTypes()` The types of fields that may be annotated with the <A> annotation.
    `Parser<Number>` | `getParser(NumberFormat annotation, Class<?> fieldType)` Get the Parser to parse a submitted value for a field of `fieldType` annotated with `annotation`.
    `Printer<Number>` | `getPrinter(NumberFormat annotation, Class<?> fieldType)` Get the Printer to print the value of a field of `fieldType` annotated with `annotation`.
    `protected String` | `resolveEmbeddedValue(String value)`
    `void` | `setEmbeddedValueResolver(StringValueResolver resolver)` Set the StringValueResolver to use for resolving embedded definition values.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### NumberFormatAnnotationFormatterFactory

          public NumberFormatAnnotationFormatterFactory()

  - ### Method Detail

    - #### getFieldTypes

          public final Set<Class<?>> getFieldTypes()

      Description copied from interface: `AnnotationFormatterFactory`
      The types of fields that may be annotated with the <A> annotation.
      Specified by:
        `getFieldTypes` in interface `AnnotationFormatterFactory<NumberFormat>`

    - #### 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`

    - #### resolveEmbeddedValue

          protected String resolveEmbeddedValue(String value)

    - #### getPrinter

          public Printer<Number> getPrinter(NumberFormat annotation,
                                   Class<?> fieldType)

      Description copied from interface: `AnnotationFormatterFactory`
      Get the Printer to print the value of a field of `fieldType` annotated with `annotation`. If the type <T> the printer accepts is not assignable to `fieldType`, a coersion from `fieldType` to <T> will be attempted before the Printer is invoked.
      Specified by:
        `getPrinter` in interface `AnnotationFormatterFactory<NumberFormat>`
      Parameters:
        `annotation` - the annotation instance
        `fieldType` - the type of field that was annotated
      Returns:
        the printer

    - #### getParser

          public Parser<Number> getParser(NumberFormat annotation,
                                 Class<?> fieldType)

      Description copied from interface: `AnnotationFormatterFactory`
      Get the Parser to parse a submitted value for a field of `fieldType` annotated with `annotation`. If the object the parser returns is not assignable to `fieldType`, a coersion to `fieldType` will be attempted before the field is set.
      Specified by:
        `getParser` in interface `AnnotationFormatterFactory<NumberFormat>`
      Parameters:
        `annotation` - the annotation instance
        `fieldType` - the type of field that was annotated
      Returns:
        the parser