View Javadoc

    1   /*
    2    * $HeadURL:https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieAttributeHandler.java $
    3    * $Revision:400312 $
    4    * $Date:2006-05-06 14:49:41 +0200 (Sat, 06 May 2006) $
    5    *
    6    * ====================================================================
    7    *
    8    *  Licensed to the Apache Software Foundation (ASF) under one or more
    9    *  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  }