Package org.apache.commons.lang3.time
Class AbstractFormatCache<F extends java.text.Format>
- java.lang.Object
-
- org.apache.commons.lang3.time.AbstractFormatCache<F>
-
- Type Parameters:
F- The Format type.
abstract class AbstractFormatCache<F extends java.text.Format> extends java.lang.ObjectFormatCache is a cache and factory forFormats.- Since:
- 3.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classAbstractFormatCache.ArrayKeyHelper class to hold multipart Map keys as arrays.
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ConcurrentMap<AbstractFormatCache.ArrayKey,java.lang.String>dateTimeInstanceCacheprivate java.util.concurrent.ConcurrentMap<AbstractFormatCache.ArrayKey,F>instanceCache(package private) static intNONENo date or no time.
-
Constructor Summary
Constructors Constructor Description AbstractFormatCache()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) static voidclear()Clears the cache.(package private) voidclearInstance()Clears the cache.protected abstract FcreateInstance(java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)Create a format instance using the specified pattern, time zone and locale.(package private) FgetDateInstance(int dateStyle, java.util.TimeZone timeZone, java.util.Locale locale)Gets a date formatter instance using the specified style, time zone and locale.(package private) FgetDateTimeInstance(int dateStyle, int timeStyle, java.util.TimeZone timeZone, java.util.Locale locale)Gets a date/time formatter instance using the specified style, time zone and locale.private FgetDateTimeInstance(java.lang.Integer dateStyle, java.lang.Integer timeStyle, java.util.TimeZone timeZone, java.util.Locale locale)Gets a date/time formatter instance using the specified style, time zone and locale.FgetInstance()Gets a formatter instance using the default pattern in the default time zone and locale.FgetInstance(java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)Gets a formatter instance using the specified pattern, time zone and locale.(package private) static java.lang.StringgetPatternForStyle(java.lang.Integer dateStyle, java.lang.Integer timeStyle, java.util.Locale locale)Gets a date/time format for the specified styles and locale.(package private) FgetTimeInstance(int timeStyle, java.util.TimeZone timeZone, java.util.Locale locale)Gets a time formatter instance using the specified style, time zone and locale.
-
-
-
Field Detail
-
NONE
static final int NONE
No date or no time. Used in same parameters as DateFormat.SHORT or DateFormat.LONG- See Also:
- Constant Field Values
-
dateTimeInstanceCache
private static final java.util.concurrent.ConcurrentMap<AbstractFormatCache.ArrayKey,java.lang.String> dateTimeInstanceCache
-
instanceCache
private final java.util.concurrent.ConcurrentMap<AbstractFormatCache.ArrayKey,F extends java.text.Format> instanceCache
-
-
Method Detail
-
clear
static void clear()
Clears the cache.
-
getPatternForStyle
static java.lang.String getPatternForStyle(java.lang.Integer dateStyle, java.lang.Integer timeStyle, java.util.Locale locale)Gets a date/time format for the specified styles and locale.- Parameters:
dateStyle- date style: FULL, LONG, MEDIUM, or SHORT, null indicates no date in formattimeStyle- time style: FULL, LONG, MEDIUM, or SHORT, null indicates no time in formatlocale- The non-null locale of the desired format- Returns:
- a localized standard date/time format
- Throws:
java.lang.IllegalArgumentException- if the Locale has no date/time pattern defined
-
clearInstance
void clearInstance()
Clears the cache.
-
createInstance
protected abstract F createInstance(java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Create a format instance using the specified pattern, time zone and locale.- Parameters:
pattern-SimpleDateFormatcompatible pattern, this will not be null.timeZone- time zone, this will not be null.locale- locale, this will not be null.- Returns:
- a pattern based date/time formatter
- Throws:
java.lang.IllegalArgumentException- if pattern is invalid ornull
-
getDateInstance
F getDateInstance(int dateStyle, java.util.TimeZone timeZone, java.util.Locale locale)
Gets a date formatter instance using the specified style, time zone and locale.- Parameters:
dateStyle- date style: FULL, LONG, MEDIUM, or SHORTtimeZone- optional time zone, overrides time zone of formatted date, null means use default Localelocale- optional locale, overrides system locale- Returns:
- a localized standard date/time formatter
- Throws:
java.lang.IllegalArgumentException- if the Locale has no date/time pattern defined
-
getDateTimeInstance
F getDateTimeInstance(int dateStyle, int timeStyle, java.util.TimeZone timeZone, java.util.Locale locale)
Gets a date/time formatter instance using the specified style, time zone and locale.- Parameters:
dateStyle- date style: FULL, LONG, MEDIUM, or SHORTtimeStyle- time style: FULL, LONG, MEDIUM, or SHORTtimeZone- optional time zone, overrides time zone of formatted date, null means use default Localelocale- optional locale, overrides system locale- Returns:
- a localized standard date/time formatter
- Throws:
java.lang.IllegalArgumentException- if the Locale has no date/time pattern defined
-
getDateTimeInstance
private F getDateTimeInstance(java.lang.Integer dateStyle, java.lang.Integer timeStyle, java.util.TimeZone timeZone, java.util.Locale locale)
Gets a date/time formatter instance using the specified style, time zone and locale.- Parameters:
dateStyle- date style: FULL, LONG, MEDIUM, or SHORT, null indicates no date in formattimeStyle- time style: FULL, LONG, MEDIUM, or SHORT, null indicates no time in formattimeZone- optional time zone, overrides time zone of formatted date, null means use default Localelocale- optional locale, overrides system locale- Returns:
- a localized standard date/time formatter
- Throws:
java.lang.IllegalArgumentException- if the Locale has no date/time pattern defined
-
getInstance
public F getInstance()
Gets a formatter instance using the default pattern in the default time zone and locale.- Returns:
- a date/time formatter
-
getInstance
public F getInstance(java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Gets a formatter instance using the specified pattern, time zone and locale.- Parameters:
pattern-SimpleDateFormatcompatible pattern, non-nulltimeZone- the time zone, null means use the default TimeZonelocale- the locale, null means use the default Locale- Returns:
- a pattern based date/time formatter
- Throws:
java.lang.NullPointerException- if pattern isnulljava.lang.IllegalArgumentException- if pattern is invalid
-
getTimeInstance
F getTimeInstance(int timeStyle, java.util.TimeZone timeZone, java.util.Locale locale)
Gets a time formatter instance using the specified style, time zone and locale.- Parameters:
timeStyle- time style: FULL, LONG, MEDIUM, or SHORTtimeZone- optional time zone, overrides time zone of formatted date, null means use default Localelocale- optional locale, overrides system locale- Returns:
- a localized standard date/time formatter
- Throws:
java.lang.IllegalArgumentException- if the Locale has no date/time pattern defined
-
-