Package org.springframework.format.datetime.standard

# Class Jsr310DateTimeFormatAnnotationFormatterFactory

java.lang.Object
org.springframework.context.support.EmbeddedValueResolutionSupport
org.springframework.format.datetime.standard.Jsr310DateTimeFormatAnnotationFormatterFactory

All Implemented Interfaces:
  `org.springframework.beans.factory.Aware`, `EmbeddedValueResolverAware`, `AnnotationFormatterFactory<DateTimeFormat>`

public class Jsr310DateTimeFormatAnnotationFormatterFactory extends EmbeddedValueResolutionSupport implements AnnotationFormatterFactory<DateTimeFormat>
Formats fields annotated with the `DateTimeFormat` annotation using the JSR-310 `java.time` package in JDK 8.

Since:
  4.0
Author:
  Juergen Hoeller, Sam Brannen, Kazuki Shimizu
See Also:
  - `DateTimeFormat`

## Constructor Summary

Constructors
Constructor
Description
`Jsr310DateTimeFormatAnnotationFormatterFactory()`

## Method Summary

Modifier and Type
Method
Description
`final 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<?>`
`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 Details

### Jsr310DateTimeFormatAnnotationFormatterFactory

public Jsr310DateTimeFormatAnnotationFormatterFactory()

## Method Details

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

Parameters:
  `annotation` - the format annotation for the field
  `fieldType` - the declared type of the field
Returns:
  a `DateTimeFormatter` instance