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, setEmbeddedValueResolver
private static final java.lang.String CURRENCY_CODE_PATTERN
public Jsr354NumberFormatAnnotationFormatterFactory()
public java.util.Set<java.lang.Class<?>> getFieldTypes()
AnnotationFormatterFactory
getFieldTypes
in interface AnnotationFormatterFactory<NumberFormat>
public Printer<MonetaryAmount> getPrinter(NumberFormat annotation, java.lang.Class<?> fieldType)
AnnotationFormatterFactory
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.
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)
AnnotationFormatterFactory
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.
getParser
in interface AnnotationFormatterFactory<NumberFormat>
annotation
- the annotation instancefieldType
- the type of field that was annotatedprivate Formatter<MonetaryAmount> configureFormatterFrom(NumberFormat annotation)