Interface AnnotationFormatterFactory<A extends Annotation>

Type Parameters:
A - the annotation type that should trigger formatting
All Known Implementing Classes:
DateTimeFormatAnnotationFormatterFactory, Jsr310DateTimeFormatAnnotationFormatterFactory, Jsr354NumberFormatAnnotationFormatterFactory, NumberFormatAnnotationFormatterFactory

public interface AnnotationFormatterFactory<A extends Annotation>
A factory that creates formatters to format values of fields annotated with a particular Annotation.

For example, a DateTimeFormatAnnotationFormatterFactory might create a formatter that formats Date values set on fields annotated with @DateTimeFormat.

Since:
3.0
Author:
Keith Donald
  • Method Summary

    Modifier and Type
    Method
    Description
    The types of fields that may be annotated with the <A> annotation.
    getParser(A annotation, Class<?> fieldType)
    Get the Parser to parse a submitted value for a field of fieldType annotated with annotation.
    getPrinter(A annotation, Class<?> fieldType)
    Get the Printer to print the value of a field of fieldType annotated with annotation.
  • Method Details

    • getFieldTypes

      Set<Class<?>> getFieldTypes()
      The types of fields that may be annotated with the <A> annotation.
    • getPrinter

      Printer<?> getPrinter(A annotation, Class<?> fieldType)
      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.

      Parameters:
      annotation - the annotation instance
      fieldType - the type of field that was annotated
      Returns:
      the printer
    • getParser

      Parser<?> getParser(A annotation, Class<?> fieldType)
      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.

      Parameters:
      annotation - the annotation instance
      fieldType - the type of field that was annotated
      Returns:
      the parser