View Javadoc

    1   /*
    2    * Copyright 2012 The Netty Project
    3    *
    4    * The Netty Project licenses this file to you under the Apache License,
    5    * version 2.0 (the "License"); you may not use this file except in compliance
    6    * with the License. You may obtain a copy of the License at:
    7    *
    8    *   http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
    12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    13   * License for the specific language governing permissions and limitations
    14   * under the License.
    15   */
    16  package org.jboss.netty.handler.codec.http;
    17
    18  import java.util.Set;
    19
    20  /**
    21   * An HTTP <a href="http://en.wikipedia.org/wiki/HTTP_cookie">Cookie</a>.
    22   */
    23  public interface Cookie extends Comparable<Cookie> {
    24
    25      /**
    26       * Returns the name of this cookie.
    27       */
    28      String getName();
    29
    30      /**
    31       * Returns the value of this cookie.
    32       */
    33      String getValue();
    34
    35      /**
    36       * Sets the value of this cookie.
    37       */
    38      void setValue(String value);
    39
    40      /**
    41       * Returns the domain of this cookie.
    42       */
    43      String getDomain();
    44
    45      /**
    46       * Sets the domain of this cookie.
    47       */
    48      void setDomain(String domain);
    49
    50      /**
    51       * Returns the path of this cookie.
    52       */
    53      String getPath();
    54
    55      /**
    56       * Sets the path of this cookie.
    57       */
    58      void setPath(String path);
    59
    60      /**
    61       * Returns the comment of this cookie.
    62       */
    63      String getComment();
    64
    65      /**
    66       * Sets the comment of this cookie.
    67       */
    68      void setComment(String comment);
    69
    70      /**
    71       * Returns the max age of this cookie in seconds.
    72       */
    73      int getMaxAge();
    74
    75      /**
    76       * Sets the max age of this cookie in seconds.  If {@code 0} is specified,
    77       * this cookie will be removed by browser because it will be expired
    78       * immediately.  If {@link Integer#MIN_VALUE} is specified, this cookie will be removed
    79       * when a user terminates browser.
    80       */
    81      void setMaxAge(int maxAge);
    82
    83      /**
    84       * Returns the version of this cookie.
    85       */
    86      int getVersion();
    87
    88      /**
    89       * Sets the version of this cookie.
    90       */
    91      void setVersion(int version);
    92
    93      /**
    94       * Returns the secure flag of this cookie.
    95       */
    96      boolean isSecure();
    97
    98      /**
    99       * Sets the secure flag of this cookie.
    100      */
    101     void setSecure(boolean secure);
    102
    103     /**
    104      * Returns if this cookie cannot be accessed through client side script.
    105      * This flag works only if the browser supports it.  For more information,
    106      * see <a href="http://www.owasp.org/index.php/HTTPOnly">here</a>.
    107      */
    108     boolean isHttpOnly();
    109
    110     /**
    111      * Sets if this cookie cannot be accessed through client side script.
    112      * This flag works only if the browser supports it.  For more information,
    113      * see <a href="http://www.owasp.org/index.php/HTTPOnly">here</a>.
    114      */
    115     void setHttpOnly(boolean httpOnly);
    116
    117     /**
    118      * Returns the comment URL of this cookie.
    119      */
    120     String getCommentUrl();
    121
    122     /**
    123      * Sets the comment URL of this cookie.
    124      */
    125     void setCommentUrl(String commentUrl);
    126
    127     /**
    128      * Returns the discard flag of this cookie.
    129      */
    130     boolean isDiscard();
    131
    132     /**
    133      * Sets the discard flag of this cookie.
    134      */
    135     void setDiscard(boolean discard);
    136
    137     /**
    138      * Returns the ports of this cookie.
    139      */
    140     Set<Integer> getPorts();
    141
    142     /**
    143      * Sets the ports of this cookie.
    144      */
    145     void setPorts(int... ports);
    146
    147     /**
    148      * Sets the ports of this cookie.
    149      */
    150     void setPorts(Iterable<Integer> ports);
    151 }