Class FastHttpDateFormat
- java.lang.Object
-
- org.springframework.security.web.savedrequest.FastHttpDateFormat
-
public class FastHttpDateFormat extends java.lang.Object
Utility class to generate HTTP dates.This class is based on code in Apache Tomcat.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
currentDate
Current formatted date.protected static long
currentDateGenerated
Instant on which the currentDate object was generated.protected static java.text.SimpleDateFormat
format
HTTP date format.protected static java.util.HashMap<java.lang.Long,java.lang.String>
formatCache
Formatter cache.protected static java.text.SimpleDateFormat[]
formats
The set of SimpleDateFormat formats to use ingetDateHeader()
.protected static java.util.TimeZone
gmtZone
GMT time zone - all HTTP dates are on GMTprotected static java.util.HashMap<java.lang.String,java.lang.Long>
parseCache
Parser cache.
-
Constructor Summary
Constructors Constructor Description FastHttpDateFormat()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
formatDate(long value, java.text.DateFormat threadLocalformat)
Formats a specified date to HTTP format.static java.lang.String
getCurrentDate()
Gets the current date in HTTP format.static long
parseDate(java.lang.String value, java.text.DateFormat[] threadLocalformats)
Tries to parse the given date as an HTTP date.
-
-
-
Field Detail
-
format
protected static final java.text.SimpleDateFormat format
HTTP date format.
-
formats
protected static final java.text.SimpleDateFormat[] formats
The set of SimpleDateFormat formats to use ingetDateHeader()
.
-
gmtZone
protected static final java.util.TimeZone gmtZone
GMT time zone - all HTTP dates are on GMT
-
currentDateGenerated
protected static long currentDateGenerated
Instant on which the currentDate object was generated.
-
currentDate
protected static java.lang.String currentDate
Current formatted date.
-
formatCache
protected static final java.util.HashMap<java.lang.Long,java.lang.String> formatCache
Formatter cache.
-
parseCache
protected static final java.util.HashMap<java.lang.String,java.lang.Long> parseCache
Parser cache.
-
-
Method Detail
-
formatDate
public static java.lang.String formatDate(long value, java.text.DateFormat threadLocalformat)
Formats a specified date to HTTP format. If local format is notnull
, it's used instead.- Parameters:
value
- Date value to formatthreadLocalformat
- The format to use (ornull
-- then HTTP format will be used)- Returns:
- Formatted date
-
getCurrentDate
public static java.lang.String getCurrentDate()
Gets the current date in HTTP format.- Returns:
- Current date in HTTP format
-
parseDate
public static long parseDate(java.lang.String value, java.text.DateFormat[] threadLocalformats)
Tries to parse the given date as an HTTP date. If local format list is notnull
, it's used instead.- Parameters:
value
- The string to parsethreadLocalformats
- Array of formats to use for parsing. Ifnull
, HTTP formats are used.- Returns:
- Parsed date (or -1 if error occurred)
-
-