Package org.springframework.format.datetime.standard

# Class DurationFormatAnnotationFormatterFactory

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

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

public class DurationFormatAnnotationFormatterFactory extends EmbeddedValueResolutionSupport implements AnnotationFormatterFactory<DurationFormat>
Formats fields annotated with the `DurationFormat` annotation using the selected style for parsing and printing JSR-310 `Duration`.

Since:
  6.2
Author:
  Simon Baslé
See Also:
  - `DurationFormat`
  - `DurationFormatter`

## Constructor Summary

Constructors
Constructor
Description
`DurationFormatAnnotationFormatterFactory()`

## Method Summary

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

### DurationFormatAnnotationFormatterFactory

public DurationFormatAnnotationFormatterFactory()

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

### getPrinter

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

### getParser

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