org.springframework.format.datetime

## Class DateTimeFormatAnnotationFormatterFactory

- java.lang.Object
- - org.springframework.context.support.EmbeddedValueResolutionSupport
  - - org.springframework.format.datetime.DateTimeFormatAnnotationFormatterFactory

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

      public class DateTimeFormatAnnotationFormatterFactory
      extends EmbeddedValueResolutionSupport
      implements AnnotationFormatterFactory<DateTimeFormat>

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DateTimeFormatAnnotationFormatterFactory()`

  - ### Method Summary

    All Methods Instance Methods Concrete 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`.

    - ### Methods inherited from class org.springframework.context.support.EmbeddedValueResolutionSupport

      `resolveEmbeddedValue, setEmbeddedValueResolver`

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

    - #### 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 coercion 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 coercion 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)