1 28 29 package com.idaremedia.antx.helpers; 30 31 import java.io.Serializable ; 32 import java.util.Map ; 33 34 46 47 public final class NameValuePair implements Cloneable , Serializable , Map.Entry 48 { 49 53 public NameValuePair() 54 { 55 this("",""); 56 } 57 58 59 62 public NameValuePair(String k, Object v) 63 { 64 m_nam = k; 65 m_val = v; 66 } 67 68 69 74 public static final NameValuePair NONE = new NameValuePair(); 75 76 77 78 81 public String getName() 82 { 83 return m_nam; 84 } 85 86 87 90 public void setName(String k) 91 { 92 m_nam = k; 93 } 94 95 96 101 public final Object getKey() 102 { 103 return getName(); 104 } 105 106 107 110 public Object getValue() 111 { 112 return m_val; 113 } 114 115 116 120 public boolean getBoolean() 121 { 122 return m_val==Boolean.TRUE ? true : false; 123 } 124 125 126 129 public Object setValue(Object v) 130 { 131 Object old = m_val; 132 m_val = v; 133 return old; 134 } 135 136 137 142 public Object setValue(boolean b) 143 { 144 Object old = m_val; 145 m_val = b ? Boolean.TRUE : Boolean.FALSE; 146 return old; 147 } 148 149 150 154 public Object clone() 155 { 156 try { 157 return super.clone(); 158 } 159 catch (CloneNotSupportedException clnx) { 160 throw new Error (); 161 } 162 } 163 164 165 169 public boolean equals(Object o) 170 { 171 if (o==this) { 172 return true; 173 } 174 if (o!=null && o.getClass()==NameValuePair.class) { 175 NameValuePair it= (NameValuePair)o; 176 if (nameEquals(it.m_nam)) { 177 if (m_val==null) { 178 return it.m_val==null; 179 } 180 return m_val.equals(it.m_val); 181 } 182 } 183 return false; 184 } 185 186 187 191 public int hashCode() 192 { 193 int hc = 31; 194 if (m_nam!=null) { 195 hc = 31*hc + m_nam.hashCode(); 196 } 197 if (m_val!=null) { 198 hc = 31*hc + m_val.hashCode(); 199 } 200 return hc; 201 } 202 203 204 208 public boolean nameEquals(String othernam) 209 { 210 if (m_nam==null) { 211 return othernam==null; 212 } 213 if (othernam==null) { 214 return m_nam==null; 215 } 216 return m_nam.equals(othernam); 217 } 218 219 220 223 public String toString() 224 { 225 return m_nam; 226 } 227 228 private String m_nam; 229 private Object m_val; 230 } 231 232 233 | Popular Tags |