org.mortbay.util
Class DateCache

java.lang.Object
  extended by org.mortbay.util.DateCache

public class DateCache
extends Object

Date Format Cache. Computes String representations of Dates and caches the results so that subsequent requests within the same minute will be fast. Only format strings that contain either "ss" or "ss.SSS" are handled. The timezone of the date may be included as an ID with the "zzz" format string or as an offset with the "ZZZ" format string. If consecutive calls are frequently very different, then this may be a little slower than a normal DateFormat.

Author:
Kent Johnson , Greg Wilkins (gregw)

Field Summary
private static long __hitWindow
           
private static long __MaxMisses
           
private  DateFormatSymbols _dfs
           
private  String _formatString
           
private  long _lastMinutes
           
private  String _lastResult
           
private  long _lastSeconds
           
private  Locale _locale
           
private  boolean _millis
           
private  SimpleDateFormat _minFormat
           
private  String _minFormatString
           
private  long _misses
           
private  String _secFormatString
           
private  String _secFormatString0
           
private  String _secFormatString1
           
private  SimpleDateFormat _tzFormat
           
private  String _tzFormatString
           
 
Constructor Summary
DateCache()
          Constructor.
DateCache(String format)
          Constructor.
DateCache(String format, DateFormatSymbols s)
           
DateCache(String format, Locale l)
           
 
Method Summary
 String format(Date inDate)
          Format a date according to our stored formatter.
 String format(long inDate)
          Format a date according to our stored formatter.
 void format(long inDate, StringBuffer buffer)
          Format to string buffer.
 SimpleDateFormat getFormat()
          Get the format.
 String getFormatString()
           
 TimeZone getTimeZone()
           
private  void setMinFormatString()
           
 void setTimeZone(TimeZone tz)
          Set the timezone.
 void setTimeZoneID(String timeZoneId)
          Set the timezone.
private  void setTzFormatString(TimeZone tz)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

__hitWindow

private static long __hitWindow

__MaxMisses

private static long __MaxMisses

_formatString

private String _formatString

_tzFormatString

private String _tzFormatString

_tzFormat

private SimpleDateFormat _tzFormat

_minFormatString

private String _minFormatString

_minFormat

private SimpleDateFormat _minFormat

_secFormatString

private String _secFormatString

_secFormatString0

private String _secFormatString0

_secFormatString1

private String _secFormatString1

_millis

private boolean _millis

_misses

private long _misses

_lastMinutes

private long _lastMinutes

_lastSeconds

private long _lastSeconds

_lastResult

private String _lastResult

_locale

private Locale _locale

_dfs

private DateFormatSymbols _dfs
Constructor Detail

DateCache

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


DateCache

public DateCache(String format)
Constructor. Make a DateCache that will use the given format


DateCache

public DateCache(String format,
                 Locale l)

DateCache

public DateCache(String format,
                 DateFormatSymbols s)
Method Detail

setTimeZone

public void setTimeZone(TimeZone tz)
Set the timezone.

Parameters:
tz - TimeZone

getTimeZone

public TimeZone getTimeZone()

setTimeZoneID

public void setTimeZoneID(String timeZoneId)
Set the timezone.

Parameters:
timeZoneId - TimeZoneId the ID of the zone as used by TimeZone.getTimeZone(id)

setTzFormatString

private void setTzFormatString(TimeZone tz)

setMinFormatString

private void setMinFormatString()

format

public String format(Date inDate)
Format a date according to our stored formatter.

Parameters:
inDate -
Returns:
Formatted date

format

public String format(long inDate)
Format a date according to our stored formatter.

Parameters:
inDate -
Returns:
Formatted date

format

public void format(long inDate,
                   StringBuffer buffer)
Format to string buffer.

Parameters:
inDate - Date the format
buffer - StringBuffer

getFormat

public SimpleDateFormat getFormat()
Get the format.


getFormatString

public String getFormatString()