Package org.apache.commons.lang3.time
Class FormatCache<F extends java.text.Format>
- java.lang.Object
-
- org.apache.commons.lang3.time.FormatCache<F>
-
abstract class FormatCache<F extends java.text.Format> extends java.lang.Object
FormatCache is a cache and factory forFormat
s.- Since:
- 3.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
FormatCache.ArrayKey
Helper class to hold multi-part Map keys as arrays.
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ConcurrentMap<FormatCache.ArrayKey,java.lang.String>
cDateTimeInstanceCache
private java.util.concurrent.ConcurrentMap<FormatCache.ArrayKey,F>
cInstanceCache
(package private) static int
NONE
No date or no time.
-
Constructor Summary
Constructors Constructor Description FormatCache()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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.(package private) 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.(package private) 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.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.F
getInstance()
Gets a formatter instance using the default pattern in the default time zone and locale.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.(package private) 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.(package private) 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.
-
-
-
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
-
cInstanceCache
private final java.util.concurrent.ConcurrentMap<FormatCache.ArrayKey,F extends java.text.Format> cInstanceCache
-
cDateTimeInstanceCache
private static final java.util.concurrent.ConcurrentMap<FormatCache.ArrayKey,java.lang.String> cDateTimeInstanceCache
-
-
Method Detail
-
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
-SimpleDateFormat
compatible 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 isnull
java.lang.IllegalArgumentException
- if pattern is invalid
-
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
-SimpleDateFormat
compatible 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
-
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
-
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
-
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
-
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
-
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
-
-