org.springframework.format.datetime.joda

## Class JodaDateTimeFormatAnnotationFormatterFactory

- java.lang.Object
- - org.springframework.format.datetime.joda.JodaDateTimeFormatAnnotationFormatterFactory

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

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

  Formats fields annotated with the `DateTimeFormat` annotation using Joda-Time.
  Since:
    3.0
  Author:
    Keith Donald, Juergen Hoeller
  See Also:
    `DateTimeFormat`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JodaDateTimeFormatAnnotationFormatterFactory()`

  - ### 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 DateTimeFormatter` | `getFormatter(DateTimeFormat annotation, Class<?> fieldType)` Factory method used to create a `DateTimeFormatter`.
    `Parser<DateTime>` | `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

    - #### JodaDateTimeFormatAnnotationFormatterFactory

          public JodaDateTimeFormatAnnotationFormatterFactory()

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

    - #### resolveEmbeddedValue

          protected String resolveEmbeddedValue(String value)

    - #### 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<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<DateTime> 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 DateTimeFormatter getFormatter(DateTimeFormat annotation,
                                       Class<?> fieldType)

      Factory method used to create a `DateTimeFormatter`.
      Parameters:
        `annotation` - the format annotation for the field
        `fieldType` - the type of field
      Returns:
        a `DateTimeFormatter` instance
      Since:
        3.2