Package org.alfresco.util
Class CachingDateFormat
- java.lang.Object
-
- java.text.Format
-
- java.text.DateFormat
-
- java.text.SimpleDateFormat
-
- org.alfresco.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 Modifier and Type Class Description static class
CachingDateFormat.SimpleDateFormatAndResolution
static class
CachingDateFormat.StringAndResolution
-
Nested classes/interfaces inherited from class java.text.DateFormat
DateFormat.Field
-
-
Field Summary
Fields Modifier and Type Field Description static String
FORMAT_CMIS_SQL
yyyy-MM-dd'T'HH:mm:ssstatic String
FORMAT_DATE_GENERIC
yyyy-MM-ddstatic String
FORMAT_FULL_GENERIC
yyyy-MM-dd'T'HH:mm:ssstatic String
FORMAT_SOLR
static String
FORMAT_TIME_GENERIC
HH:mm:ssstatic CachingDateFormat.StringAndResolution[]
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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 CachingDateFormat.SimpleDateFormatAndResolution[]
getLenientFormatters()
static SimpleDateFormat
getSolrDatetimeFormat()
static SimpleDateFormat
getTimeOnlyFormat()
static Pair<Date,Integer>
lenientParse(String text, int minimumResolution)
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
-
-
-
-
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
-
FORMAT_SOLR
public static final String FORMAT_SOLR
- See Also:
- Constant Field Values
-
LENIENT_FORMATS
public static final CachingDateFormat.StringAndResolution[] 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
-
getDateFormat
public static SimpleDateFormat getDateFormat(int length, Locale locale, boolean lenient)
- Parameters:
length
- the type of date format, e.g.DateFormat.LONG
locale
- theLocale
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
- theLocale
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 uselenient
- 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
-
getSolrDatetimeFormat
public static SimpleDateFormat getSolrDatetimeFormat()
- 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 classSimpleDateFormat
- See Also:
DateFormat.parse(java.lang.String, java.text.ParsePosition)
-
lenientParse
public static Pair<Date,Integer> lenientParse(String text, int minimumResolution) throws ParseException
- Throws:
ParseException
-
getLenientFormatters
public static CachingDateFormat.SimpleDateFormatAndResolution[] getLenientFormatters()
-
-