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