Class CookieHandler

java.lang.Object
java.net.CookieHandler
Direct Known Subclasses:
CookieManager

public abstract class CookieHandler extends Object
A CookieHandler object provides a callback mechanism to hook up a HTTP state management policy implementation into the HTTP protocol handler. The HTTP state management mechanism specifies a way to create a stateful session with HTTP requests and responses.

A system-wide CookieHandler to be used by the HTTP URL stream protocol handler can be registered by doing a CookieHandler.setDefault(CookieHandler). The currently registered CookieHandler can be retrieved by calling CookieHandler.getDefault(). For more information on HTTP state management, see RFC 2965: HTTP State Management Mechanism

Since:
1.5
External Specifications
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for subclasses to call.
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Map<String, List<String>>
    get(URI uri, Map<String, List<String>> requestHeaders)
    Gets all the applicable cookies from a cookie cache for the specified uri in the request header.
    Gets the system-wide cookie handler.
    abstract void
    put(URI uri, Map<String, List<String>> responseHeaders)
    Sets all the applicable cookies, examples are response header fields that are named Set-Cookie2, present in the response headers into a cookie cache.
    static void
    Sets (or unsets) the system-wide cookie handler.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Creates and returns a copy of this object.
    boolean
    Indicates whether some other object is "equal to" this one.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization is deprecated and subject to removal in a future release.
    final Class<?>
    Returns the runtime class of this Object.
    int
    Returns a hash code value for this object.
    final void
    Wakes up a single thread that is waiting on this object's monitor.
    final void
    Wakes up all threads that are waiting on this object's monitor.
    Returns a string representation of the object.
    final void
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
    final void
    wait(long timeoutMillis)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
    final void
    wait(long timeoutMillis, int nanos)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  • Constructor Details

    • CookieHandler

      public CookieHandler()
      Constructor for subclasses to call.
  • Method Details

    • getDefault

      public static CookieHandler getDefault()
      Gets the system-wide cookie handler.
      Returns:
      the system-wide cookie handler; A null return means there is no system-wide cookie handler currently set.
      See Also:
    • setDefault

      public static void setDefault(CookieHandler cHandler)
      Sets (or unsets) the system-wide cookie handler. Note: non-standard http protocol handlers may ignore this setting.
      Parameters:
      cHandler - The HTTP cookie handler, or null to unset.
      See Also:
    • get

      public abstract Map<String, List<String>> get(URI uri, Map<String, List<String>> requestHeaders) throws IOException
      Gets all the applicable cookies from a cookie cache for the specified uri in the request header.

      The URI passed as an argument specifies the intended use for the cookies. In particular the scheme should reflect whether the cookies will be sent over http, https or used in another context like javascript. The host part should reflect either the destination of the cookies or their origin in the case of javascript.

      It is up to the implementation to take into account the URI and the cookies attributes and security settings to determine which ones should be returned.

      HTTP protocol implementers should make sure that this method is called after all request headers related to choosing cookies are added, and before the request is sent.

      Parameters:
      uri - a URI representing the intended use for the cookies
      requestHeaders - a Map from request header field names to lists of field values representing the current request headers
      Returns:
      an immutable map from state management headers, with field names "Cookie" or "Cookie2" to a list of cookies containing state information
      Throws:
      IOException - if an I/O error occurs
      IllegalArgumentException - if either argument is null
      See Also:
    • put

      public abstract void put(URI uri, Map<String, List<String>> responseHeaders) throws IOException
      Sets all the applicable cookies, examples are response header fields that are named Set-Cookie2, present in the response headers into a cookie cache.
      Parameters:
      uri - a URI where the cookies come from
      responseHeaders - an immutable map from field names to lists of field values representing the response header fields returned
      Throws:
      IOException - if an I/O error occurs
      IllegalArgumentException - if either argument is null
      See Also: