View Javadoc

1   /*
2    * ====================================================================
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   * ====================================================================
20   *
21   * This software consists of voluntary contributions made by many
22   * individuals on behalf of the Apache Software Foundation.  For more
23   * information on the Apache Software Foundation, please see
24   * <http://www.apache.org/>.
25   *
26   */
27  
28  package org.apache.http.cookie;
29  
30  import java.util.Date;
31  
32  import org.apache.http.annotation.Obsolete;
33  
34  /**
35   * This interface represents a {@code Set-Cookie} response header sent by the
36   * origin server to the HTTP agent in order to maintain a conversational state.
37   * <p>
38   * Please do not use methods marked as @Obsolete. They have been rendered
39   * obsolete by RFC 6265
40   *
41   * @since 4.0
42   */
43  public interface SetCookie extends Cookie {
44  
45      void setValue(String value);
46  
47      /**
48       * If a user agent (web browser) presents this cookie to a user, the
49       * cookie's purpose will be described using this comment.
50       *
51       * @param comment
52       *
53       * @see #getComment()
54       */
55      @Obsolete
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 {@code true} 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     @Obsolete
113     void setVersion(int version);
114 
115 }
116