com.sun.grizzly.util.http
Class Cookies

java.lang.Object
  extended by com.sun.grizzly.util.http.Cookies

public final class Cookies
extends Object

A collection of cookies - reusable and tuned for server side performance. Based on RFC2965 ( and 2109 ) This class is not synchronized.

Author:
Costin Manolache, kevin seguin

Field Summary
static int INITIAL_SIZE
           
protected static boolean[] separators
           
static char[] SEPARATORS
           
 
Constructor Summary
Cookies()
          Construct a new uninitialized cookie collection.
Cookies(MimeHeaders headers)
          Construct a new cookie collection, that will extract the information from headers.
 
Method Summary
 ServerCookie addCookie()
          Register a new, unitialized cookie.
static boolean equals(String s, byte[] b, int start, int end)
           
 ServerCookie getCookie(int idx)
           
 int getCookieCount()
           
static int getQuotedValueEndPosition(byte[] bytes, int off, int end)
          Given a starting position after an initial quote chracter, this gets the position of the end quote.
static int getTokenEndPosition(byte[] bytes, int off, int end)
          Given the starting position of a token, this gets the end of the token, with no separator characters in between.
static int getTokenEndPosition(byte[] bytes, int off, int end, boolean parseAsVersion1)
           
static boolean isSeparator(byte c)
          Returns true if the byte is a separator character as defined in RFC2619.
static boolean isSeparator(byte c, boolean parseAsVersion1)
           
static boolean isWhiteSpace(byte c)
          Returns true if the byte is a whitespace character as defined in RFC2619.
 void log(String s)
           
 void processCookieHeader(byte[] bytes, int off, int len)
          Parses a cookie header after the initial "Cookie:" [WS][$]token[WS]=[WS](token|QV)[;|,] RFC 2965 JVK
 void processCookies(MimeHeaders headers)
          Add all Cookie found in the headers of a request.
 void recycle()
          Recycle.
 void setHeaders(MimeHeaders headers)
          Set the headers from which cookies will be pulled.
 String toString()
          EXPENSIVE!!! only for debugging.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INITIAL_SIZE

public static final int INITIAL_SIZE
See Also:
Constant Field Values

SEPARATORS

public static final char[] SEPARATORS

separators

protected static final boolean[] separators
Constructor Detail

Cookies

public Cookies(MimeHeaders headers)
Construct a new cookie collection, that will extract the information from headers.

Parameters:
headers - Cookies are lazy-evaluated and will extract the information from the provided headers.

Cookies

public Cookies()
Construct a new uninitialized cookie collection. Use setHeaders(com.sun.grizzly.util.http.MimeHeaders) to initialize.

Method Detail

setHeaders

public void setHeaders(MimeHeaders headers)
Set the headers from which cookies will be pulled. This has the side effect of recycling the object.

Parameters:
headers - Cookies are lazy-evaluated and will extract the information from the provided headers.

recycle

public void recycle()
Recycle.


toString

public String toString()
EXPENSIVE!!! only for debugging.

Overrides:
toString in class Object

getCookie

public ServerCookie getCookie(int idx)

getCookieCount

public int getCookieCount()

addCookie

public ServerCookie addCookie()
Register a new, unitialized cookie. Cookies are recycled, and most of the time an existing ServerCookie object is returned. The caller can set the name/value and attributes for the cookie


processCookies

public void processCookies(MimeHeaders headers)
Add all Cookie found in the headers of a request.


equals

public static boolean equals(String s,
                             byte[] b,
                             int start,
                             int end)

log

public void log(String s)

isSeparator

public static final boolean isSeparator(byte c)
Returns true if the byte is a separator character as defined in RFC2619. Since this is called often, this function should be organized with the most probable outcomes first.


isSeparator

public static final boolean isSeparator(byte c,
                                        boolean parseAsVersion1)

isWhiteSpace

public static final boolean isWhiteSpace(byte c)
Returns true if the byte is a whitespace character as defined in RFC2619.


processCookieHeader

public final void processCookieHeader(byte[] bytes,
                                      int off,
                                      int len)
Parses a cookie header after the initial "Cookie:" [WS][$]token[WS]=[WS](token|QV)[;|,] RFC 2965 JVK


getTokenEndPosition

public static final int getTokenEndPosition(byte[] bytes,
                                            int off,
                                            int end)
Given the starting position of a token, this gets the end of the token, with no separator characters in between. JVK


getTokenEndPosition

public static final int getTokenEndPosition(byte[] bytes,
                                            int off,
                                            int end,
                                            boolean parseAsVersion1)

getQuotedValueEndPosition

public static final int getQuotedValueEndPosition(byte[] bytes,
                                                  int off,
                                                  int end)
Given a starting position after an initial quote chracter, this gets the position of the end quote. This escapes anything after a '\' char JVK RFC 2616



Copyright © 2013 Oracle Corporation. All Rights Reserved.