org.springframework.extensions.surf.util
Class CachingDateFormat

java.lang.Object
  extended by java.text.Format
      extended by java.text.DateFormat
          extended by java.text.SimpleDateFormat
              extended by org.springframework.extensions.surf.util.CachingDateFormat
All Implemented Interfaces:
Serializable, Cloneable

public class CachingDateFormat
extends SimpleDateFormat

Provides thread safe means of obtaining a cached date formatter.

The cached string-date mappings are stored in a WeakHashMap.

Author:
Derek Hulley
See Also:
DateFormat.setLenient(boolean), Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.text.DateFormat
DateFormat.Field
 
Field Summary
static String FORMAT_CMIS_SQL
           yyyy-MM-dd'T'HH:mm:ss
static String FORMAT_DATE_GENERIC
           yyyy-MM-dd
static String FORMAT_FULL_GENERIC
           yyyy-MM-dd'T'HH:mm:ss
static String FORMAT_TIME_GENERIC
           HH:mm:ss
static String[] LENIENT_FORMATS
           
 
Fields inherited from class java.text.DateFormat
AM_PM_FIELD, calendar, DATE_FIELD, DAY_OF_WEEK_FIELD, DAY_OF_WEEK_IN_MONTH_FIELD, DAY_OF_YEAR_FIELD, DEFAULT, ERA_FIELD, FULL, HOUR_OF_DAY0_FIELD, HOUR_OF_DAY1_FIELD, HOUR0_FIELD, HOUR1_FIELD, LONG, MEDIUM, MILLISECOND_FIELD, MINUTE_FIELD, MONTH_FIELD, numberFormat, SECOND_FIELD, SHORT, TIMEZONE_FIELD, WEEK_OF_MONTH_FIELD, WEEK_OF_YEAR_FIELD, YEAR_FIELD
 
Method Summary
static SimpleDateFormat getCmisSqlDatetimeFormat()
           
static SimpleDateFormat getDateFormat()
           
static SimpleDateFormat getDateFormat(int length, Locale locale, boolean lenient)
           
static SimpleDateFormat getDateFormat(String pattern, boolean lenient)
           
static SimpleDateFormat getDateOnlyFormat()
           
static SimpleDateFormat getDateTimeFormat(int dateLength, int timeLength, Locale locale, boolean lenient)
           
static SimpleDateFormat[] getLenientFormatters()
           
static SimpleDateFormat getTimeOnlyFormat()
           
static Date lenientParse(String text)
           
 Date parse(String text, ParsePosition pos)
          Parses and caches date strings.
 String toString()
           
 
Methods inherited from class java.text.SimpleDateFormat
applyLocalizedPattern, applyPattern, clone, equals, format, formatToCharacterIterator, get2DigitYearStart, getDateFormatSymbols, hashCode, set2DigitYearStart, setDateFormatSymbols, toLocalizedPattern, toPattern
 
Methods inherited from class java.text.DateFormat
format, format, getAvailableLocales, getCalendar, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getNumberFormat, getTimeInstance, getTimeInstance, getTimeInstance, getTimeZone, isLenient, parse, parseObject, setCalendar, setLenient, setNumberFormat, setTimeZone
 
Methods inherited from class java.text.Format
format, parseObject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

FORMAT_FULL_GENERIC

public static final String FORMAT_FULL_GENERIC
 yyyy-MM-dd'T'HH:mm:ss 

See Also:
Constant Field Values

FORMAT_CMIS_SQL

public static final String FORMAT_CMIS_SQL
 yyyy-MM-dd'T'HH:mm:ss 

See Also:
Constant Field Values

LENIENT_FORMATS

public static final String[] LENIENT_FORMATS

FORMAT_DATE_GENERIC

public static final String FORMAT_DATE_GENERIC
 yyyy-MM-dd 

See Also:
Constant Field Values

FORMAT_TIME_GENERIC

public static final String FORMAT_TIME_GENERIC
 HH:mm:ss 

See Also:
Constant Field Values
Method Detail

toString

public String toString()
Overrides:
toString in class Object

getDateFormat

public static SimpleDateFormat getDateFormat(int length,
                                             Locale locale,
                                             boolean lenient)
Parameters:
length - the type of date format, e.g. DateFormat.LONG
locale - the Locale that will be used to determine the date pattern
See Also:
getDateFormat(String, boolean), DateFormat.SHORT, DateFormat.MEDIUM, DateFormat.LONG, DateFormat.FULL

getDateTimeFormat

public static SimpleDateFormat getDateTimeFormat(int dateLength,
                                                 int timeLength,
                                                 Locale locale,
                                                 boolean lenient)
Parameters:
dateLength - the type of date format, e.g. DateFormat.LONG
timeLength - the type of time format, e.g. DateFormat.LONG
locale - the Locale that will be used to determine the date pattern
See Also:
getDateFormat(String, boolean), DateFormat.SHORT, DateFormat.MEDIUM, DateFormat.LONG, DateFormat.FULL

getDateFormat

public static SimpleDateFormat getDateFormat(String pattern,
                                             boolean lenient)
Parameters:
pattern - the conversion pattern to use
lenient - true to allow the parser to extract the date in conceivable manner
Returns:
Returns a conversion-cacheing formatter for the given pattern, but the instance itself is not cached

getDateFormat

public static SimpleDateFormat getDateFormat()
Returns:
Returns a thread-safe formatter for the generic date/time format
See Also:
FORMAT_FULL_GENERIC

getCmisSqlDatetimeFormat

public static SimpleDateFormat getCmisSqlDatetimeFormat()
Returns:
Returns a thread-safe formatter for the cmis sql datetime format

getDateOnlyFormat

public static SimpleDateFormat getDateOnlyFormat()
Returns:
Returns a thread-safe formatter for the generic date format
See Also:
FORMAT_DATE_GENERIC

getTimeOnlyFormat

public static SimpleDateFormat getTimeOnlyFormat()
Returns:
Returns a thread-safe formatter for the generic time format
See Also:
FORMAT_TIME_GENERIC

parse

public Date parse(String text,
                  ParsePosition pos)
Parses and caches date strings.

Overrides:
parse in class SimpleDateFormat
See Also:
DateFormat.parse(java.lang.String, java.text.ParsePosition)

lenientParse

public static Date lenientParse(String text)
                         throws ParseException
Throws:
ParseException

getLenientFormatters

public static SimpleDateFormat[] getLenientFormatters()


Copyright © 2009 SpringSource, Inc. All Rights Reserved.