View Javadoc

1   /*
2    * $HeadURL: https://svn.apache.org/repos/asf/httpcomponents/oac.hc3x/trunk/src/java/org/apache/commons/httpclient/NameValuePair.java $
3    * $Revision$
4    * $Date$
5    *
6    * ====================================================================
7    *
8    *  Licensed to the Apache Software Foundation (ASF) under one or more
9    *  contributor license agreements.  See the NOTICE file distributed with
10   *  this work for additional information regarding copyright ownership.
11   *  The ASF licenses this file to You under the Apache License, Version 2.0
12   *  (the "License"); you may not use this file except in compliance with
13   *  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, software
18   *  distributed under the License is distributed on an "AS IS" BASIS,
19   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20   *  See the License for the specific language governing permissions and
21   *  limitations under the License.
22   * ====================================================================
23   *
24   * This software consists of voluntary contributions made by many
25   * individuals on behalf of the Apache Software Foundation.  For more
26   * information on the Apache Software Foundation, please see
27   * <http://www.apache.org/>.
28   *
29   */
30  
31  package org.apache.commons.httpclient;
32  
33  import java.io.Serializable;
34  
35  import org.apache.commons.httpclient.util.LangUtils;
36  
37  /***
38   * <p>A simple class encapsulating a name/value pair.</p>
39   * 
40   * @author <a href="mailto:bcholmes@interlog.com">B.C. Holmes</a>
41   * @author Sean C. Sullivan
42   * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
43   * 
44   * @version $Revision$ $Date$
45   * 
46   */
47  public class NameValuePair implements Serializable {
48  
49      // ----------------------------------------------------------- Constructors
50  
51      /***
52       * Default constructor.
53       * 
54       */
55      public NameValuePair() {
56          this (null, null);
57      }
58  
59      /***
60       * Constructor.
61       * @param name The name.
62       * @param value The value.
63       */
64      public NameValuePair(String name, String value) {
65          this.name = name;
66          this.value = value;
67      }
68  
69      // ----------------------------------------------------- Instance Variables
70  
71      /***
72       * Name.
73       */
74      private String name = null;
75  
76      /***
77       * Value.
78       */
79      private String value = null;
80  
81      // ------------------------------------------------------------- Properties
82  
83      /***
84       * Set the name.
85       *
86       * @param name The new name
87       * @see #getName()
88       */
89      public void setName(String name) {
90          this.name = name;
91      }
92  
93  
94      /***
95       * Return the name.
96       *
97       * @return String name The name
98       * @see #setName(String)
99       */
100     public String getName() {
101         return name;
102     }
103 
104 
105     /***
106      * Set the value.
107      *
108      * @param value The new value.
109      */
110     public void setValue(String value) {
111         this.value = value;
112     }
113 
114 
115     /***
116      * Return the current value.
117      *
118      * @return String value The current value.
119      */
120     public String getValue() {
121         return value;
122     }
123 
124     // --------------------------------------------------------- Public Methods
125 
126     /***
127      * Get a String representation of this pair.
128      * @return A string representation.
129      */
130     public String toString() {
131         return ("name=" + name + ", " + "value=" + value);
132     }
133 
134     public boolean equals(final Object object) {
135         if (object == null) return false;
136         if (this == object) return true;
137         if (object instanceof NameValuePair) {
138             NameValuePair that = (NameValuePair) object;
139             return LangUtils.equals(this.name, that.name)
140                   && LangUtils.equals(this.value, that.value);
141         } else {
142             return false;
143         }
144     }
145 
146     public int hashCode() {
147         int hash = LangUtils.HASH_SEED;
148         hash = LangUtils.hashCode(hash, this.name);
149         hash = LangUtils.hashCode(hash, this.value);
150         return hash;
151     }
152 }