]> WPIA git - gigi.git/blob - lib/jetty/org/eclipse/jetty/http/HttpField.java
updating jetty to jetty-9.2.16.v2016040
[gigi.git] / lib / jetty / org / eclipse / jetty / http / HttpField.java
1 //
2 //  ========================================================================
3 //  Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd.
4 //  ------------------------------------------------------------------------
5 //  All rights reserved. This program and the accompanying materials
6 //  are made available under the terms of the Eclipse Public License v1.0
7 //  and Apache License v2.0 which accompanies this distribution.
8 //
9 //      The Eclipse Public License is available at
10 //      http://www.eclipse.org/legal/epl-v10.html
11 //
12 //      The Apache License v2.0 is available at
13 //      http://www.opensource.org/licenses/apache2.0.php
14 //
15 //  You may elect to redistribute this code under either of these licenses.
16 //  ========================================================================
17 //
18
19 package org.eclipse.jetty.http;
20
21
22 /* ------------------------------------------------------------ */
23 /** A HTTP Field
24  */
25 public class HttpField
26 {
27     private final HttpHeader _header;
28     private final String _name;
29     private final String _value;
30         
31     public HttpField(HttpHeader header, String name, String value)
32     {
33         _header = header;
34         _name = name;
35         _value = value;
36     }  
37     
38     public HttpField(HttpHeader header, String value)
39     {
40         this(header,header.asString(),value);
41     }
42     
43     public HttpField(HttpHeader header, HttpHeaderValue value)
44     {
45         this(header,header.asString(),value.asString());
46     }
47     
48     public HttpField(String name, String value)
49     {
50         this(HttpHeader.CACHE.get(name),name,value);
51     }
52
53     public HttpHeader getHeader()
54     {
55         return _header;
56     }
57
58     public String getName()
59     {
60         return _name;
61     }
62
63     public String getValue()
64     {
65         return _value;
66     }
67     
68     @Override
69     public String toString()
70     {
71         String v=getValue();
72         return getName() + ": " + (v==null?"":v);
73     }
74
75     public boolean isSame(HttpField field)
76     {
77         if (field==null)
78             return false;
79         if (field==this)
80             return true;
81         if (_header!=null && _header==field.getHeader())
82             return true;
83         if (_name.equalsIgnoreCase(field.getName()))
84             return true;
85         return false;
86     }
87     
88     
89 }