1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.http.message;
29
30 import java.io.Serializable;
31
32 import org.apache.http.NameValuePair;
33 import org.apache.http.annotation.ThreadingBehavior;
34 import org.apache.http.annotation.Contract;
35 import org.apache.http.util.Args;
36 import org.apache.http.util.LangUtils;
37
38
39
40
41
42
43 @Contract(threading = ThreadingBehavior.IMMUTABLE)
44 public class BasicNameValuePair implements NameValuePair, Cloneable, Serializable {
45
46 private static final long serialVersionUID = -6437800749411518984L;
47
48 private final String name;
49 private final String value;
50
51
52
53
54
55
56
57 public BasicNameValuePair(final String name, final String value) {
58 super();
59 this.name = Args.notNull(name, "Name");
60 this.value = value;
61 }
62
63 @Override
64 public String getName() {
65 return this.name;
66 }
67
68 @Override
69 public String getValue() {
70 return this.value;
71 }
72
73 @Override
74 public String toString() {
75
76
77 if (this.value == null) {
78 return name;
79 }
80 final int len = this.name.length() + 1 + this.value.length();
81 final StringBuilder buffer = new StringBuilder(len);
82 buffer.append(this.name);
83 buffer.append("=");
84 buffer.append(this.value);
85 return buffer.toString();
86 }
87
88 @Override
89 public boolean equals(final Object object) {
90 if (this == object) {
91 return true;
92 }
93 if (object instanceof NameValuePair) {
94 final BasicNameValuePair./org/apache/http/message/BasicNameValuePair.html#BasicNameValuePair">BasicNameValuePair that = (BasicNameValuePair) object;
95 return this.name.equals(that.name)
96 && LangUtils.equals(this.value, that.value);
97 }
98 return false;
99 }
100
101 @Override
102 public int hashCode() {
103 int hash = LangUtils.HASH_SEED;
104 hash = LangUtils.hashCode(hash, this.name);
105 hash = LangUtils.hashCode(hash, this.value);
106 return hash;
107 }
108
109 @Override
110 public Object clone() throws CloneNotSupportedException {
111 return super.clone();
112 }
113
114 }