public class Jsr354NumberFormatAnnotationFormatterFactory extends EmbeddedValueResolutionSupport implements AnnotationFormatterFactory<NumberFormat>
javax.money.MonetaryAmount fields annotated
with Spring's common NumberFormat annotation.NumberFormat| Modifier and Type | Class and Description |
|---|---|
private static class |
Jsr354NumberFormatAnnotationFormatterFactory.NumberDecoratingFormatter |
private static class |
Jsr354NumberFormatAnnotationFormatterFactory.PatternDecoratingFormatter |
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
CURRENCY_CODE_PATTERN |
| Constructor and Description |
|---|
Jsr354NumberFormatAnnotationFormatterFactory() |
| Modifier and Type | Method and Description |
|---|---|
private Formatter<MonetaryAmount> |
configureFormatterFrom(NumberFormat annotation) |
java.util.Set<java.lang.Class<?>> |
getFieldTypes()
The types of fields that may be annotated with the <A> annotation.
|
Parser<MonetaryAmount> |
getParser(NumberFormat annotation,
java.lang.Class<?> fieldType)
Get the Parser to parse a submitted value for a field of
fieldType
annotated with annotation. |
Printer<MonetaryAmount> |
getPrinter(NumberFormat annotation,
java.lang.Class<?> fieldType)
Get the Printer to print the value of a field of
fieldType annotated with
annotation. |
resolveEmbeddedValue, setEmbeddedValueResolverprivate static final java.lang.String CURRENCY_CODE_PATTERN
public Jsr354NumberFormatAnnotationFormatterFactory()
public java.util.Set<java.lang.Class<?>> getFieldTypes()
AnnotationFormatterFactorygetFieldTypes in interface AnnotationFormatterFactory<NumberFormat>public Printer<MonetaryAmount> getPrinter(NumberFormat annotation, java.lang.Class<?> fieldType)
AnnotationFormatterFactoryfieldType 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.
getPrinter in interface AnnotationFormatterFactory<NumberFormat>annotation - the annotation instancefieldType - the type of field that was annotatedpublic Parser<MonetaryAmount> getParser(NumberFormat annotation, java.lang.Class<?> fieldType)
AnnotationFormatterFactoryfieldType
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.
getParser in interface AnnotationFormatterFactory<NumberFormat>annotation - the annotation instancefieldType - the type of field that was annotatedprivate Formatter<MonetaryAmount> configureFormatterFrom(NumberFormat annotation)