# CachedDateFormat Class Reference

Inherits DateFormat.

List of all members.

## Public Types

enum | { NO_MILLISECONDS = -2, UNRECOGNIZED_MILLISECONDS = -1 }

## Public Member Functions

| CachedDateFormat (const log4cxx::helpers::DateFormatPtr &dateFormat, int expiration)
| Creates a new CachedDateFormat object.
virtual void | format (LogString &sbuf, log4cxx_time_t date, log4cxx::helpers::Pool &p) const
| Formats a Date into a date/time string.
virtual void | setTimeZone (const log4cxx::helpers::TimeZonePtr &zone)
| Set timezone.
virtual void | numberFormat (LogString &s, int n, log4cxx::helpers::Pool &p) const
| Format an integer consistent with the format method.

## Static Public Member Functions

static int | findMillisecondStart (log4cxx_time_t time, const LogString &formatted, const log4cxx::helpers::DateFormatPtr &formatter, log4cxx::helpers::Pool &pool)
| Finds start of millisecond field in formatted time.
static int | getMaximumCacheValidity (const LogString &pattern)
| Gets maximum cache validity for the specified SimpleDateTime conversion pattern.

## Member Enumeration Documentation

anonymous enum

Enumerator:

  NO_MILLISECONDS |
  UNRECOGNIZED_MILLISECONDS |

## Constructor & Destructor Documentation

CachedDateFormat | ( | const log4cxx::helpers::DateFormatPtr & | dateFormat,
|  | int | expiration
| ) |

Creates a new CachedDateFormat object.

Parameters:

  | dateFormat | Date format, may not be null.
  | expiration | maximum cached range in microseconds. If the dateFormat is known to be incompatible with the caching algorithm, use a value of 0 to totally disable caching or 1 to only use cache for duplicate requests.

## Member Function Documentation

static int findMillisecondStart | ( | log4cxx_time_t | time,
|  | const LogString & | formatted,
|  | const log4cxx::helpers::DateFormatPtr & | formatter,
|  | log4cxx::helpers::Pool & | pool
| ) | `[static]`

Finds start of millisecond field in formatted time.

Parameters:

  | time | long time, must be integral number of seconds
  | formatted | String corresponding formatted string
  | formatter | DateFormat date format
  | pool | pool.

Returns:
  int position in string of first digit of milliseconds, -1 indicates no millisecond field, -2 indicates unrecognized field (likely RelativeTimeDateFormat)

virtual void format | ( | LogString & | sbuf,
|  | log4cxx_time_t | date,
|  | log4cxx::helpers::Pool & | p
| ) | const`[virtual]`

Formats a Date into a date/time string.

Parameters:

  | date | the date to format.
  | sbuf | the string buffer to write to.
  | p | memory pool.

Implements DateFormat.

static int getMaximumCacheValidity | ( | const LogString & | pattern | ) | `[static]`

Gets maximum cache validity for the specified SimpleDateTime conversion pattern.

Parameters:

  | pattern | conversion pattern, may not be null.

Returns:
  Duration in microseconds from an integral second that the cache will return consistent results.

virtual void numberFormat | ( | LogString & | s,
|  | int | n,
|  | log4cxx::helpers::Pool & | p
| ) | const`[virtual]`

Format an integer consistent with the format method.

Parameters:

  | s | string to which the numeric string is appended.
  | n | integer value.
  | p | memory pool used during formatting.

Reimplemented from DateFormat.

virtual void setTimeZone | ( | const log4cxx::helpers::TimeZonePtr & | zone | ) | `[virtual]`

Set timezone.

Remarks:
  Setting the timezone using getCalendar().setTimeZone() will likely cause caching to misbehave.

Parameters:

  | zone | TimeZone new timezone

The documentation for this class was generated from the following file:

- cacheddateformat.h