1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 package org.apache.commons.httpclient.cookie;
30
31 import org.apache.commons.httpclient.Cookie;
32
33 /***
34 * Ths interface represents a cookie attribute handler responsible
35 * for parsing, validating, and matching a specific cookie attribute,
36 * such as path, domain, port, etc.
37 *
38 * Different cookie specifications can provide a specific
39 * implementation for this class based on their cookie handling
40 * rules.
41 *
42 * @author jain.samit@gmail.com (Samit Jain)
43 *
44 * @since 3.1
45 */
46 public interface CookieAttributeHandler {
47
48 /***
49 * Parse the given cookie attribute value and update the corresponding
50 * {@link org.apache.commons.httpclient.Cookie} property.
51 *
52 * @param cookie {@link org.apache.commons.httpclient.Cookie} to be updated
53 * @param value cookie attribute value from the cookie response header
54 */
55 void parse(Cookie cookie, String value)
56 throws MalformedCookieException;
57
58 /***
59 * Peforms cookie validation for the given attribute value.
60 *
61 * @param cookie {@link org.apache.commons.httpclient.Cookie} to validate
62 * @param origin the cookie source to validate against
63 * @throws MalformedCookieException if cookie validation fails for this attribute
64 */
65 void validate(Cookie cookie, CookieOrigin origin)
66 throws MalformedCookieException;
67
68 /***
69 * Matches the given value (property of the destination host where request is being
70 * submitted) with the corresponding cookie attribute.
71 *
72 * @param cookie {@link org.apache.commons.httpclient.Cookie} to match
73 * @param origin the cookie source to match against
74 * @return <tt>true</tt> if the match is successful; <tt>false</tt> otherwise
75 */
76 boolean match(Cookie cookie, CookieOrigin origin);
77
78 }