Home | History | Annotate | Download | only in http
      1 /*
      2  * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/NameValuePair.java $
      3  * $Revision: 496070 $
      4  * $Date: 2007-01-14 04:18:34 -0800 (Sun, 14 Jan 2007) $
      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;
     33 
     34 /**
     35  * A simple class encapsulating an attribute/value pair.
     36  * <p>
     37  *  This class comforms to the generic grammar and formatting rules outlined in the
     38  *  <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2">Section 2.2</a>
     39  *  and
     40  *  <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6">Section 3.6</a>
     41  *  of <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">RFC 2616</a>
     42  * </p>
     43  * <h>2.2 Basic Rules</h>
     44  * <p>
     45  *  The following rules are used throughout this specification to describe basic parsing constructs.
     46  *  The US-ASCII coded character set is defined by ANSI X3.4-1986.
     47  * </p>
     48  * <pre>
     49  *     OCTET          = <any 8-bit sequence of data>
     50  *     CHAR           = <any US-ASCII character (octets 0 - 127)>
     51  *     UPALPHA        = <any US-ASCII uppercase letter "A".."Z">
     52  *     LOALPHA        = <any US-ASCII lowercase letter "a".."z">
     53  *     ALPHA          = UPALPHA | LOALPHA
     54  *     DIGIT          = <any US-ASCII digit "0".."9">
     55  *     CTL            = <any US-ASCII control character
     56  *                      (octets 0 - 31) and DEL (127)>
     57  *     CR             = <US-ASCII CR, carriage return (13)>
     58  *     LF             = <US-ASCII LF, linefeed (10)>
     59  *     SP             = <US-ASCII SP, space (32)>
     60  *     HT             = <US-ASCII HT, horizontal-tab (9)>
     61  *     <">            = <US-ASCII double-quote mark (34)>
     62  * </pre>
     63  * <p>
     64  *  Many HTTP/1.1 header field values consist of words separated by LWS or special
     65  *  characters. These special characters MUST be in a quoted string to be used within
     66  *  a parameter value (as defined in section 3.6).
     67  * <p>
     68  * <pre>
     69  * token          = 1*<any CHAR except CTLs or separators>
     70  * separators     = "(" | ")" | "<" | ">" | "@"
     71  *                | "," | ";" | ":" | "\" | <">
     72  *                | "/" | "[" | "]" | "?" | "="
     73  *                | "{" | "}" | SP | HT
     74  * </pre>
     75  * <p>
     76  *  A string of text is parsed as a single word if it is quoted using double-quote marks.
     77  * </p>
     78  * <pre>
     79  * quoted-string  = ( <"> *(qdtext | quoted-pair ) <"> )
     80  * qdtext         = <any TEXT except <">>
     81  * </pre>
     82  * <p>
     83  *  The backslash character ("\") MAY be used as a single-character quoting mechanism only
     84  *  within quoted-string and comment constructs.
     85  * </p>
     86  * <pre>
     87  * quoted-pair    = "\" CHAR
     88  * </pre>
     89  * <h>3.6 Transfer Codings</h>
     90  * <p>
     91  *  Parameters are in the form of attribute/value pairs.
     92  * </p>
     93  * <pre>
     94  * parameter               = attribute "=" value
     95  * attribute               = token
     96  * value                   = token | quoted-string
     97  * </pre>
     98  *
     99  * @author <a href="mailto:oleg at ural.com">Oleg Kalnichevski</a>
    100  *
    101  */
    102 public interface NameValuePair {
    103 
    104     String getName();
    105 
    106     String getValue();
    107 
    108 }
    109