Class WarningHeader


  • public final class WarningHeader
    extends Header
    Processes the Warning message header. For more information, see RFC 2616 14.46. This class is immutable and thread-safe.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DISCONNECTED_OPERATION
      112 Disconnected operation SHOULD be included if the cache is intentionally disconnected from the rest of the network for a period of time.
      static int HEURISTIC_EXPIRATION
      113 Heuristic expiration MUST be included if the cache heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater than 24 hours.
      static int MISCELLANEOUS_PERSISTENT_WARNING
      299 Miscellaneous persistent warning The warning text MAY include arbitrary information to be presented to a human user, or logged.
      static int MISCELLANEOUS_WARNING
      199 Miscellaneous warning The warning text MAY include arbitrary information to be presented to a human user, or logged.
      static String NAME
      The name of this header.
      static int NOT_PRESENT
      100 Indicates that there is data missing from the request.
      static int RESPONSE_STALE
      110 Response is stale MUST be included whenever the returned response is stale.
      static int REVALIDATION_FAILED
      111 Revalidation failed MUST be included if a cache returns a stale response because an attempt to revalidate the response failed, due to an inability to reach the server.
      static int TRANFORMATION_APPLIED
      214 Transformation applied MUST be added by an intermediate cache or proxy if it applies any transformation changing the content-coding (as specified in the Content-Encoding header) or media-type (as specified in the Content-Type header) of the response, or the entity-body of the response, unless this Warning code already appears in the response.
    • Field Detail

      • NOT_PRESENT

        public static final int NOT_PRESENT
        100 Indicates that there is data missing from the request.

        ForgeRock-Specific.

        See Also:
        Constant Field Values
      • RESPONSE_STALE

        public static final int RESPONSE_STALE
        110 Response is stale MUST be included whenever the returned response is stale.
        See Also:
        Constant Field Values
      • REVALIDATION_FAILED

        public static final int REVALIDATION_FAILED
        111 Revalidation failed MUST be included if a cache returns a stale response because an attempt to revalidate the response failed, due to an inability to reach the server.
        See Also:
        Constant Field Values
      • DISCONNECTED_OPERATION

        public static final int DISCONNECTED_OPERATION
        112 Disconnected operation SHOULD be included if the cache is intentionally disconnected from the rest of the network for a period of time.
        See Also:
        Constant Field Values
      • HEURISTIC_EXPIRATION

        public static final int HEURISTIC_EXPIRATION
        113 Heuristic expiration MUST be included if the cache heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater than 24 hours.
        See Also:
        Constant Field Values
      • MISCELLANEOUS_WARNING

        public static final int MISCELLANEOUS_WARNING
        199 Miscellaneous warning The warning text MAY include arbitrary information to be presented to a human user, or logged. A system receiving this warning MUST NOT take any automated action, besides presenting the warning to the user.
        See Also:
        Constant Field Values
      • TRANFORMATION_APPLIED

        public static final int TRANFORMATION_APPLIED
        214 Transformation applied MUST be added by an intermediate cache or proxy if it applies any transformation changing the content-coding (as specified in the Content-Encoding header) or media-type (as specified in the Content-Type header) of the response, or the entity-body of the response, unless this Warning code already appears in the response.
        See Also:
        Constant Field Values
      • MISCELLANEOUS_PERSISTENT_WARNING

        public static final int MISCELLANEOUS_PERSISTENT_WARNING
        299 Miscellaneous persistent warning The warning text MAY include arbitrary information to be presented to a human user, or logged. A system receiving this warning MUST NOT take any automated action.
        See Also:
        Constant Field Values
    • Constructor Detail

      • WarningHeader

        public WarningHeader​(Warning warning)
        Constructor for single Warning.
        Parameters:
        warning - Single Warning
      • WarningHeader

        public WarningHeader​(List<Warning> warnings)
        Constructor for multiple Warnings.
        Parameters:
        warnings - Multiple Warnings
    • Method Detail

      • valueOf

        public static WarningHeader valueOf​(Message<?> message)
        Constructs a new header, initialized from the specified message.
        Parameters:
        message - The message to initialize the header from.
        Returns:
        The parsed header.
      • valueOf

        public static WarningHeader valueOf​(String header)
        Constructs a new header, initialized from the specified string value.
        Parameters:
        header - The value to initialize the header from.
        Returns:
        The parsed header.
      • toWarnings

        protected static List<Warning> toWarnings​(List<String> headers)
        Matches warning-headers from a List of header-values.
        Parameters:
        headers - Array of header values
        Returns:
        All items in headers that are a valid warning-header
      • newWarning

        public static WarningHeader newWarning​(String agentName,
                                               String fmt,
                                               Object... args)
        Constructs a new warning header with the frequently-used error type: 100.
        Parameters:
        agentName - Name of the component responsible for issuing the warning.
        fmt - The format, which may include embedded %s, etc.
        args - Zero or more args, passed into String.format to generate the warning text.
        Returns:
        A newly constructed WarningHeader indicating the expected key was not found in the request.
      • getName

        public String getName()
        Description copied from class: Header
        Returns the name of the header, as it would canonically appear within an HTTP message.
        Specified by:
        getName in class Header
        Returns:
        The name of the header, as it would canonically appear within an HTTP message.
      • add

        public WarningHeader add​(int code,
                                 String agent,
                                 String text)
        Constructs a new header with the warnings defined in this WarningHeader in addition to the provided warning.
        Parameters:
        code - The warning code.
        agent - Name of the component responsible for issuing the warning.
        text - The warning text.
        Returns:
        A new WarningHeader instance.
      • add

        public WarningHeader add​(int code,
                                 String agent,
                                 String text,
                                 Date date)
        Constructs a new header with the warnings defined in this WarningHeader in addition to the provided warning.
        Parameters:
        code - The warning code.
        agent - Name of the component responsible for issuing the warning.
        text - The warning text.
        date - The warning date or null.
        Returns:
        A new WarningHeader instance.
      • add

        public WarningHeader add​(Warning warning)
        Constructs a new header with the warnings defined in this WarningHeader in addition to the provided warning.
        Parameters:
        warning - The warning.
        Returns:
        A new WarningHeader instance.
      • getValues

        public List<String> getValues()
        Description copied from class: Header
        Returns the header as a list of strings. If the header has no values then it must return an empty list, never null. Each String should represent the value component of the key-value pair that makes up the HTTP header - as such, for some Header implementations each String in this List may contain multiple token-separated values.

        The List returned from this method should not be expected to be mutable. However, some subclasses of Header may choose to implement it as such.

        Specified by:
        getValues in class Header
        Returns:
        The header as a non-null list of string values. Can be an empty list.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Header