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.hc.core5.http.message;
29
30 import java.io.Serializable;
31 import java.util.Locale;
32
33 import org.apache.hc.core5.annotation.Contract;
34 import org.apache.hc.core5.annotation.ThreadingBehavior;
35 import org.apache.hc.core5.http.NameValuePair;
36 import org.apache.hc.core5.util.Args;
37 import org.apache.hc.core5.util.LangUtils;
38
39
40
41
42
43
44 @Contract(threading = ThreadingBehavior.IMMUTABLE)
45 public class BasicNameValuePair implements NameValuePair, Serializable {
46
47 private static final long serialVersionUID = -6437800749411518984L;
48
49 private final String name;
50 private final String value;
51
52
53
54
55
56
57
58 public BasicNameValuePair(final String name, final String value) {
59 super();
60 this.name = Args.notNull(name, "Name");
61 this.value = value;
62 }
63
64 @Override
65 public String getName() {
66 return this.name;
67 }
68
69 @Override
70 public String getValue() {
71 return this.value;
72 }
73
74 @Override
75 public String toString() {
76
77
78 if (this.value == null) {
79 return name;
80 }
81 final int len = this.name.length() + 1 + this.value.length();
82 final StringBuilder buffer = new StringBuilder(len);
83 buffer.append(this.name);
84 buffer.append("=");
85 buffer.append(this.value);
86 return buffer.toString();
87 }
88
89 @Override
90 public boolean equals(final Object obj) {
91 if (this == obj) {
92 return true;
93 }
94 if (obj instanceof BasicNameValuePair) {
95 final BasicNameValuePair./../../org/apache/hc/core5/http/message/BasicNameValuePair.html#BasicNameValuePair">BasicNameValuePair that = (BasicNameValuePair) obj;
96 return this.name.equalsIgnoreCase(that.name) && 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.toLowerCase(Locale.ROOT));
105 hash = LangUtils.hashCode(hash, this.value);
106 return hash;
107 }
108
109 }