Java™ Platform
Standard Ed. 6

java.net
Class CookieHandler

java.lang.Object
  extended by 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 that to used by the HTTP 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

Constructor Summary
CookieHandler()
           
 
Method Summary
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.
static CookieHandler getDefault()
          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 setDefault(CookieHandler cHandler)
          Sets (or unsets) the system-wide cookie handler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CookieHandler

public CookieHandler()
Method Detail

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.
Throws:
SecurityException - If a security manager has been installed and it denies NetPermission("getCookieHandler")
See Also:
setDefault(CookieHandler)

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.
Throws:
SecurityException - If a security manager has been installed and it denies NetPermission("setCookieHandler")
See Also:
getDefault()

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. 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 to send cookies to in a request
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(URI, Map)

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:
get(URI, Map)

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.