@@ -36,17 +36,19 @@ public interface AnnotationFormatterFactory<A extends Annotation> {
...
@@ -36,17 +36,19 @@ public interface AnnotationFormatterFactory<A extends Annotation> {
Set<Class<?>>getFieldTypes();
Set<Class<?>>getFieldTypes();
/**
/**
* Get the Printer to print the value of a property of <code>fieldType</code> annotated with <code>annotation</code>.
* Get the Printer to print the value of a field of <code>fieldType</code> annotated with <code>annotation</code>.
* If the type <T> the printer accepts is not assignable to <code>fieldType</code>, a coersion from <code>fieldType</code> to <T> will be attempted before the Printer is invoked.
* @param annotation the annotation instance
* @param annotation the annotation instance
* @param fieldType the type of property being annotated
* @param fieldType the type of field that was annotated
* Get the Parser to parse the printed value of a property of <code>fieldType</code> annotated with <code>annotation</code>.
* Get the Parser to parse a submitted value for a field of <code>fieldType</code> annotated with <code>annotation</code>.
* If the object the parser returns is not assignable to <code>fieldType</code>, a coersion to <code>fieldType</code> will be attempted before the field is set.
* @param annotation the annotation instance
* @param annotation the annotation instance
* @param fieldType the type of field being annotated
* @param fieldType the type of field that was annotated
* A service interface for formatting localized field values.
* A generic converter that conditionally executes.
* This is the entry point into the <code>ui.format</code> system.
* Often used when selectively matching custom conversion logic based on the presence of a field or class-level annotation.
*
* For example, when converting from a String to a Date field, an implementation might return true if the target field has also been annotated with <code>@DateTimeFormat</code>.