1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.itracker.model;
20
21 import java.io.Serializable;
22 import java.util.Comparator;
23
24 import org.apache.commons.lang.builder.ToStringBuilder;
25
26
27
28
29
30
31 public class NameValuePair extends AbstractEntity {
32
33
34
35
36 private static final long serialVersionUID = 1L;
37
38 private String name = "";
39
40 private String value = "";
41
42 private static final class NameComparator implements Comparator<NameValuePair>, Serializable {
43
44
45
46 private static final long serialVersionUID = 1L;
47 public int compare(NameValuePair o1, NameValuePair o2) {
48
49 return o1.name.compareTo(o2.name);
50 };
51 }
52 private static final class ValueComparator implements Comparator<NameValuePair>, Serializable {
53
54
55
56 private static final long serialVersionUID = 1L;
57 public int compare(NameValuePair o1, NameValuePair o2) {
58 return o1.value.compareTo(o2.value);
59 };
60 }
61 public static final Comparator<NameValuePair> KEY_COMPARATOR = new NameComparator();
62 public static final Comparator<NameValuePair> VALUE_COMPARATOR = new ValueComparator();
63
64 public NameValuePair(String name, String value) {
65 setName(name);
66 setValue(value);
67 }
68
69
70
71
72 public String getName() {
73 return name;
74 }
75
76
77
78
79 public void setName(String name) {
80 if (name == null) {
81 name = "";
82 }
83 this.name = name;
84 }
85
86
87
88
89 public String getValue() {
90 return value;
91 }
92
93
94
95
96 public void setValue(String value) {
97 this.value = value;
98 }
99
100 public int compareKeyTo(NameValuePair other) {
101 return KEY_COMPARATOR.compare(this, other);
102 }
103
104 public int compareValueTo(NameValuePair other) {
105 return VALUE_COMPARATOR.compare(this, other);
106 }
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131 @Override
132 public String toString() {
133 return new ToStringBuilder(this).append("name", name).append("value",
134 value).toString();
135 }
136
137 }