Top Description Inners Fields Constructors Methods
org.eclipse.jetty.util

public Class DateCache

extends Object
Class Inheritance
Imports
java.time.Instant, .ZoneId, java.time.format.DateTimeFormatter, java.util.Date, .Locale, .TimeZone

Computes String representations of Dates then caches the results so that subsequent requests within the same second will be fast.

If consecutive calls are frequently very different, then this may be a little slower than a normal DateFormat.

See Also
{@link DateTimeFormatter} for date formatting patterns.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
private static class

Field Summary

Modifier and TypeField and Description
private final String
private volatile DateCache.TickHolder
private final DateTimeFormatter
private final DateTimeFormatter
private final ZoneId
public static final String

Constructor Summary

AccessConstructor and Description
public
DateCache()

Make a DateCache that will use a default format.

public
DateCache(String
the format to use
format
)

Make a DateCache that will use the given format.

public
DateCache(String format, Locale l)

public
DateCache(String format, Locale l, String tz)

public
public
DateCache(String format, Locale l, TimeZone tz, boolean subSecondPrecision)

Method Summary

Modifier and TypeMethod and Description
private DateTimeFormatter
createFormatter(String format, Locale locale, ZoneId zoneId)

protected String

Returns:

Formatted date.
doFormat
(long
the date in milliseconds since unix epoch.
inDate
,
DateTimeFormatter formatter)

Format a date according to supplied formatter.

public String

Returns:

Formatted date.
format
(Date
the Date.
inDate
)

Format a date according to our stored formatter.

public String

Returns:

Formatted date.
format
(long
the date in milliseconds since unix epoch.
inDate
)

Format a date according to our stored formatter.

protected DateCache.Tick
formatTick(long inDate)

public String
public TimeZone
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_formatStringback to summary
private final String _formatString
_tickHolderback to summary
private volatile DateCache.TickHolder _tickHolder
_tzFormat1back to summary
private final DateTimeFormatter _tzFormat1
_tzFormat2back to summary
private final DateTimeFormatter _tzFormat2
_zoneIdback to summary
private final ZoneId _zoneId
DEFAULT_FORMATback to summary
public static final String DEFAULT_FORMAT

Constructor Detail

DateCacheback to summary
public DateCache()

Make a DateCache that will use a default format. The default format generates the same results as Date.toString().

DateCacheback to summary
public DateCache(String format)

Make a DateCache that will use the given format.

Parameters
format:String

the format to use

DateCacheback to summary
public DateCache(String format, Locale l)
DateCacheback to summary
public DateCache(String format, Locale l, String tz)
DateCacheback to summary
public DateCache(String format, Locale l, TimeZone tz)
DateCacheback to summary
public DateCache(String format, Locale l, TimeZone tz, boolean subSecondPrecision)

Method Detail

createFormatterback to summary
private DateTimeFormatter createFormatter(String format, Locale locale, ZoneId zoneId)
doFormatback to summary
protected String doFormat(long inDate, DateTimeFormatter formatter)

Format a date according to supplied formatter.

Parameters
inDate:long

the date in milliseconds since unix epoch.

Returns:String

Formatted date.

formatback to summary
public String format(Date inDate)

Format a date according to our stored formatter. If it happens to be in the same second as the last formatNow call, then the format is reused.

Parameters
inDate:Date

the Date.

Returns:String

Formatted date.

formatback to summary
public String format(long inDate)

Format a date according to our stored formatter. If it happens to be in the same second as the last formatNow call, then the format is reused.

Parameters
inDate:long

the date in milliseconds since unix epoch.

Returns:String

Formatted date.

formatTickback to summary
protected DateCache.Tick formatTick(long inDate)
getFormatStringback to summary
public String getFormatString()
getTimeZoneback to summary
public TimeZone getTimeZone()
org.eclipse.jetty.util back to summary

public Class DateCache.Tick

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final String
private final long
private final String

Constructor Summary

AccessConstructor and Description
public
Tick(long seconds, String prefix, String suffix)

Method Summary

Modifier and TypeMethod and Description
public String
format(long inDate)

public long
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_prefixback to summary
private final String _prefix
_secondsback to summary
private final long _seconds
_suffixback to summary
private final String _suffix

Constructor Detail

Tickback to summary
public Tick(long seconds, String prefix, String suffix)

Method Detail

formatback to summary
public String format(long inDate)
getSecondsback to summary
public long getSeconds()
org.eclipse.jetty.util back to summary

private Class DateCache.TickHolder

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final DateCache.Tick
pack-priv final DateCache.Tick

Constructor Summary

AccessConstructor and Description
public

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

tick1back to summary
pack-priv final DateCache.Tick tick1
tick2back to summary
pack-priv final DateCache.Tick tick2

Constructor Detail

TickHolderback to summary
public TickHolder(DateCache.Tick t1, DateCache.Tick t2)