Home | History | Annotate | Download | only in cookie
      1 /*
      2  * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/cookie/SetCookie.java $
      3  * $Revision: 617193 $
      4  * $Date: 2008-01-31 11:26:47 -0800 (Thu, 31 Jan 2008) $
      5  *
      6  * ====================================================================
      7  * Licensed to the Apache Software Foundation (ASF) under one
      8  * or more contributor license agreements.  See the NOTICE file
      9  * distributed with this work for additional information
     10  * regarding copyright ownership.  The ASF licenses this file
     11  * to you under the Apache License, Version 2.0 (the
     12  * "License"); you may not use this file except in compliance
     13  * with 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,
     18  * software distributed under the License is distributed on an
     19  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     20  * KIND, either express or implied.  See the License for the
     21  * specific language governing permissions and limitations
     22  * under the License.
     23  * ====================================================================
     24  *
     25  * This software consists of voluntary contributions made by many
     26  * individuals on behalf of the Apache Software Foundation.  For more
     27  * information on the Apache Software Foundation, please see
     28  * <http://www.apache.org/>.
     29  *
     30  */
     31 
     32 package org.apache.http.cookie;
     33 
     34 import java.util.Date;
     35 
     36 /**
     37  * This interface represents a <code>SetCookie</code> response header sent by the
     38  * origin server to the HTTP agent in order to maintain a conversational state.
     39  *
     40  * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
     41  *
     42  * @since 4.0
     43  */
     44 public interface SetCookie extends Cookie {
     45 
     46     void setValue(String value);
     47 
     48     /**
     49      * If a user agent (web browser) presents this cookie to a user, the
     50      * cookie's purpose will be described using this comment.
     51      *
     52      * @param comment
     53      *
     54      * @see #getComment()
     55      */
     56     void setComment(String comment);
     57 
     58     /**
     59      * Sets expiration date.
     60      * <p><strong>Note:</strong> the object returned by this method is considered
     61      * immutable. Changing it (e.g. using setTime()) could result in undefined
     62      * behaviour. Do so at your peril.</p>
     63      *
     64      * @param expiryDate the {@link Date} after which this cookie is no longer valid.
     65      *
     66      * @see Cookie#getExpiryDate
     67      *
     68      */
     69     void setExpiryDate (Date expiryDate);
     70 
     71     /**
     72      * Sets the domain attribute.
     73      *
     74      * @param domain The value of the domain attribute
     75      *
     76      * @see Cookie#getDomain
     77      */
     78     void setDomain(String domain);
     79 
     80     /**
     81      * Sets the path attribute.
     82      *
     83      * @param path The value of the path attribute
     84      *
     85      * @see Cookie#getPath
     86      *
     87      */
     88     void setPath(String path);
     89 
     90     /**
     91      * Sets the secure attribute of the cookie.
     92      * <p>
     93      * When <tt>true</tt> the cookie should only be sent
     94      * using a secure protocol (https).  This should only be set when
     95      * the cookie's originating server used a secure protocol to set the
     96      * cookie's value.
     97      *
     98      * @param secure The value of the secure attribute
     99      *
    100      * @see #isSecure()
    101      */
    102     void setSecure (boolean secure);
    103 
    104     /**
    105      * Sets the version of the cookie specification to which this
    106      * cookie conforms.
    107      *
    108      * @param version the version of the cookie.
    109      *
    110      * @see Cookie#getVersion
    111      */
    112     void setVersion(int version);
    113 
    114 }
    115 
    116