Class WarningValue


  • class WarningValue
    extends java.lang.Object
    This class provides for parsing and understanding Warning headers. As the Warning header can be multi-valued, but the values can contain separators like commas inside quoted strings, we cannot use the regular Header.getElements() call to access the values.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String ASCTIME_DATE  
      private static java.lang.String DATE1  
      private static java.lang.String DATE2  
      private static java.lang.String DATE3  
      private static java.lang.String DOMAINLABEL  
      private static java.lang.String HOST  
      private static java.lang.String HOSTNAME  
      private static java.lang.String HOSTPORT  
      private static java.util.regex.Pattern HOSTPORT_PATTERN  
      private static java.lang.String HTTP_DATE  
      private int init_offs  
      private static java.lang.String IPV4ADDRESS  
      private static java.lang.String MONTH  
      private int offs  
      private static java.lang.String PORT  
      private static java.lang.String RFC1123_DATE  
      private static java.lang.String RFC850_DATE  
      private java.lang.String src  
      private static java.lang.String TIME  
      private static java.lang.String TOPLABEL  
      private static java.lang.String WARN_DATE  
      private static java.util.regex.Pattern WARN_DATE_PATTERN  
      private java.lang.String warnAgent  
      private int warnCode  
      private java.util.Date warnDate  
      private java.lang.String warnText  
      private static java.lang.String WEEKDAY  
      private static java.lang.String WKDAY  
    • Constructor Summary

      Constructors 
      Constructor Description
      WarningValue​(java.lang.String s)  
      WarningValue​(java.lang.String s, int offs)  
    • Constructor Detail

      • WarningValue

        WarningValue​(java.lang.String s)
      • WarningValue

        WarningValue​(java.lang.String s,
                     int offs)
    • Method Detail

      • getWarningValues

        public static WarningValue[] getWarningValues​(org.apache.http.Header h)
        Returns an array of the parseable warning values contained in the given header value, which is assumed to be a Warning header. Improperly formatted warning values will be skipped, in keeping with the philosophy of "ignore what you cannot understand."
        Parameters:
        h - Warning Header to parse
        Returns:
        array of WarnValue objects
      • consumeLinearWhitespace

        protected void consumeLinearWhitespace()
      • isChar

        private boolean isChar​(char c)
      • isControl

        private boolean isControl​(char c)
      • isSeparator

        private boolean isSeparator​(char c)
      • consumeToken

        protected void consumeToken()
      • isTokenChar

        private boolean isTokenChar​(char c)
      • consumeHostPort

        protected void consumeHostPort()
      • consumeWarnAgent

        protected void consumeWarnAgent()
      • consumeQuotedString

        protected void consumeQuotedString()
      • consumeWarnText

        protected void consumeWarnText()
      • consumeWarnDate

        protected void consumeWarnDate()
      • consumeWarnValue

        protected void consumeWarnValue()
      • consumeCharacter

        protected void consumeCharacter​(char c)
      • consumeWarnCode

        protected void consumeWarnCode()
      • parseError

        private void parseError()
      • getWarnCode

        public int getWarnCode()
        Returns the 3-digit code associated with this warning.
        Returns:
        int
      • getWarnAgent

        public java.lang.String getWarnAgent()
        Returns the "warn-agent" string associated with this warning, which is either the name or pseudonym of the server that added this particular Warning header.
        Returns:
        String
      • getWarnText

        public java.lang.String getWarnText()
        Returns the human-readable warning text for this warning. Note that the original quoted-string is returned here, including escaping for any contained characters. In other words, if the header was:
           Warning: 110 fred "Response is stale"
         
        then this method will return "\"Response is stale\"" (surrounding quotes included).
        Returns:
        String
      • getWarnDate

        public java.util.Date getWarnDate()
        Returns the date and time when this warning was added, or null if a warning date was not supplied in the header.
        Returns:
        Date
      • toString

        public java.lang.String toString()
        Formats a WarningValue as a String suitable for including in a header. For example, you can:
           WarningValue wv = ...;
           HttpResponse resp = ...;
           resp.addHeader("Warning", wv.toString());
         
        Overrides:
        toString in class java.lang.Object
        Returns:
        String