Class 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 in getDateHeader().
      protected static java.util.TimeZone gmtZone
      GMT time zone - all HTTP dates are on GMT
      protected static java.util.HashMap<java.lang.String,​java.lang.Long> parseCache
      Parser cache.
    • 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 in getDateHeader().
      • 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.
    • Constructor Detail

      • FastHttpDateFormat

        public FastHttpDateFormat()
    • 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 not null, it's used instead.
        Parameters:
        value - Date value to format
        threadLocalformat - The format to use (or null -- 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 not null, it's used instead.
        Parameters:
        value - The string to parse
        threadLocalformats - Array of formats to use for parsing. If null , HTTP formats are used.
        Returns:
        Parsed date (or -1 if error occurred)