01: /*
02: * $HeadURL:https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieAttributeHandler.java $
03: * $Revision:400312 $
04: * $Date:2006-05-06 14:49:41 +0200 (Sat, 06 May 2006) $
05: *
06: * ====================================================================
07: *
08: * Licensed to the Apache Software Foundation (ASF) under one or more
09: * contributor license agreements. See the NOTICE file distributed with
10: * this work for additional information regarding copyright ownership.
11: * The ASF licenses this file to You under the Apache License, Version 2.0
12: * (the "License"); you may not use this file except in compliance with
13: * the License. You may obtain a copy of the License at
14: *
15: * http://www.apache.org/licenses/LICENSE-2.0
16: *
17: * Unless required by applicable law or agreed to in writing, software
18: * distributed under the License is distributed on an "AS IS" BASIS,
19: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20: * See the License for the specific language governing permissions and
21: * limitations under the License.
22: * ====================================================================
23: *
24: * This software consists of voluntary contributions made by many
25: * individuals on behalf of the Apache Software Foundation. For more
26: * information on the Apache Software Foundation, please see
27: * <http://www.apache.org/>.
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: }
|