Class WarningHeader

java.lang.Object
org.forgerock.http.protocol.Header
org.forgerock.http.header.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 final int
    112 Disconnected operation SHOULD be included if the cache is intentionally disconnected from the rest of the network for a period of time.
    static final int
    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 final int
    299 Miscellaneous persistent warning The warning text MAY include arbitrary information to be presented to a human user, or logged.
    static final int
    199 Miscellaneous warning The warning text MAY include arbitrary information to be presented to a human user, or logged.
    static final String
    The name of this header.
    static final int
    100 Indicates that there is data missing from the request.
    static final int
    110 Response is stale MUST be included whenever the returned response is stale.
    static final int
    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 final int
    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.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for multiple Warnings.
    Constructor for single Warning.
  • Method Summary

    Modifier and Type
    Method
    Description
    add(int code, String agent, String text)
    Constructs a new header with the warnings defined in this WarningHeader in addition to the provided warning.
    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.
    add(Warning warning)
    Constructs a new header with the warnings defined in this WarningHeader in addition to the provided warning.
    boolean
     
    Returns the name of the header, as it would canonically appear within an HTTP message.
    Returns the header as a list of strings.
    Gets all Warnings.
    int
     
    newWarning(String agentName, String fmt, Object... args)
    Constructs a new warning header with the frequently-used error type: 100.
    protected static List<Warning>
    Matches warning-headers from a List of header-values.
    valueOf(String header)
    Constructs a new header, initialized from the specified string value.
    valueOf(Message<?> message)
    Constructs a new header, initialized from the specified message.

    Methods inherited from class org.forgerock.http.protocol.Header

    getFirstValue, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • NAME

      public static final String NAME
      The name of this header.
      See Also:
    • NOT_PRESENT

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

      ForgeRock-Specific.

      See Also:
    • RESPONSE_STALE

      public static final int RESPONSE_STALE
      110 Response is stale MUST be included whenever the returned response is stale.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
  • Constructor Details

    • 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 Details

    • 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.
    • getWarnings

      public List<Warning> getWarnings()
      Gets all Warnings.
      Returns:
      All Warnings
    • 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.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Header
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Header