Interface AnnotationFormatterFactory<A extends Annotation>

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      Set<Class<?>>getFieldTypes()
      The types of fields that may be annotated with the <A> annotation.
      Parser<?>getParser​(A annotation, Class<?> fieldType)
      Get the Parser to parse a submitted value for a field of fieldType annotated with annotation.
      Printer<?>getPrinter​(A annotation, Class<?> fieldType)
      Get the Printer to print the value of a field of fieldType annotated with annotation.
    • Method Detail

      • 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