org.springframework.format.datetime

## Class DateTimeFormatAnnotationFormatterFactory

- java.lang.Object
- - org.springframework.format.datetime.DateTimeFormatAnnotationFormatterFactory

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

      public class DateTimeFormatAnnotationFormatterFactory
      extends Object
      implements AnnotationFormatterFactory<DateTimeFormat>, EmbeddedValueResolverAware

  Formats fields annotated with the `DateTimeFormat` annotation using a `DateFormatter`.
  Since:
    3.2
  Author:
    Phillip Webb
  See Also:
    `JodaDateTimeFormatAnnotationFormatterFactory`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DateTimeFormatAnnotationFormatterFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Set<Class<?>>` | `getFieldTypes()` The types of fields that may be annotated with the <A> annotation.
    `protected Formatter<Date>` | `getFormatter(DateTimeFormat annotation, Class<?> fieldType)`
    `Parser<?>` | `getParser(DateTimeFormat annotation, Class<?> fieldType)` Get the Parser to parse a submitted value for a field of `fieldType` annotated with `annotation`.
    `Printer<?>` | `getPrinter(DateTimeFormat 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

    - #### DateTimeFormatAnnotationFormatterFactory

          public DateTimeFormatAnnotationFormatterFactory()

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

    - #### getFieldTypes

          public 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<DateTimeFormat>`

    - #### getPrinter

          public Printer<?> getPrinter(DateTimeFormat 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<DateTimeFormat>`
      Parameters:
        `annotation` - the annotation instance
        `fieldType` - the type of field that was annotated
      Returns:
        the printer

    - #### getParser

          public Parser<?> getParser(DateTimeFormat 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<DateTimeFormat>`
      Parameters:
        `annotation` - the annotation instance
        `fieldType` - the type of field that was annotated
      Returns:
        the parser

    - #### getFormatter

          protected Formatter<Date> getFormatter(DateTimeFormat annotation,
                                     Class<?> fieldType)

    - #### resolveEmbeddedValue

          protected String resolveEmbeddedValue(String value)