org.springframework.format.datetime.joda
Class JodaDateTimeFormatAnnotationFormatterFactory

java.lang.Object
  extended by org.springframework.format.datetime.joda.JodaDateTimeFormatAnnotationFormatterFactory
All Implemented Interfaces:
Aware, EmbeddedValueResolverAware, AnnotationFormatterFactory<DateTimeFormat>

public class JodaDateTimeFormatAnnotationFormatterFactory
extends Object
implements AnnotationFormatterFactory<DateTimeFormat>, EmbeddedValueResolverAware

Formats fields annotated with the DateTimeFormat annotation.

Since:
3.0
Author:
Keith Donald, Juergen Hoeller
See Also:
DateTimeFormat

Constructor Summary
JodaDateTimeFormatAnnotationFormatterFactory()
           
 
Method Summary
 Set<Class<?>> getFieldTypes()
          The types of fields that may be annotated with the <A> annotation.
 Parser<org.joda.time.DateTime> getParser(DateTimeFormat annotation, Class<?> fieldType)
          Get the Parser to parse a submitted value for a field of fieldType annotated with annotation.
 Printer<?> getPrinter(DateTimeFormat annotation, Class<?> fieldType)
          Get the Printer to print the value of a field of fieldType annotated with annotation.
protected  String resolveEmbeddedValue(String value)
           
 void setEmbeddedValueResolver(StringValueResolver resolver)
          Set the StringValueResolver to use for resolving embedded definition values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JodaDateTimeFormatAnnotationFormatterFactory

public JodaDateTimeFormatAnnotationFormatterFactory()
Method Detail

getFieldTypes

public final Set<Class<?>> getFieldTypes()
Description copied from interface: AnnotationFormatterFactory
The types of fields that may be annotated with the <A> annotation.

Specified by:
getFieldTypes in interface AnnotationFormatterFactory<DateTimeFormat>

setEmbeddedValueResolver

public void setEmbeddedValueResolver(StringValueResolver resolver)
Description copied from interface: EmbeddedValueResolverAware
Set the StringValueResolver to use for resolving embedded definition values.

Specified by:
setEmbeddedValueResolver in interface EmbeddedValueResolverAware

resolveEmbeddedValue

protected String resolveEmbeddedValue(String value)

getPrinter

public Printer<?> getPrinter(DateTimeFormat annotation,
                             Class<?> fieldType)
Description copied from interface: AnnotationFormatterFactory
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 coersion from fieldType to <T> will be attempted before the Printer is invoked.

Specified by:
getPrinter in interface AnnotationFormatterFactory<DateTimeFormat>
Parameters:
annotation - the annotation instance
fieldType - the type of field that was annotated
Returns:
the printer

getParser

public Parser<org.joda.time.DateTime> getParser(DateTimeFormat annotation,
                                                Class<?> fieldType)
Description copied from interface: AnnotationFormatterFactory
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 coersion to fieldType will be attempted before the field is set.

Specified by:
getParser in interface AnnotationFormatterFactory<DateTimeFormat>
Parameters:
annotation - the annotation instance
fieldType - the type of field that was annotated
Returns:
the parser