- Timestamp:
- 05/28/08 05:16:52 (8 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs/branches/complex-obs/src/api/org/openmrs/PersonAttribute.java
- Property svn:eol-style set to CRLF
r2965 r4417 23 23 import org.openmrs.util.OpenmrsClassLoader; 24 24 import org.openmrs.util.OpenmrsUtil; 25 import org.simpleframework.xml.Attribute; 26 import org.simpleframework.xml.Element; 27 import org.simpleframework.xml.Root; 25 28 26 29 /** … … 39 42 * @see org.openmrs.Attributable 40 43 */ 44 @Root(strict=false) 41 45 public class PersonAttribute implements java.io.Serializable, Comparable<PersonAttribute> { 42 46 … … 78 82 this.attributeType = type; 79 83 this.value = value; 84 } 85 86 /** 87 * Shallow copy of this PersonAttribute. Does NOT copy personAttributeId 88 * 89 * @return a shallows copy of <code>this</code> 90 */ 91 public PersonAttribute copy() { 92 return copyHelper(new PersonAttribute()); 93 } 94 95 /** 96 * The purpose of this method is to allow subclasses of PersonAttribute to delegate a portion of 97 * their copy() method back to the superclass, in case the base class implementation changes. 98 * 99 * @param ret a PersonAttribute that will have the state of <code>this</code> copied into it 100 * @return the PersonAttribute that was passed in, with state copied into it 101 */ 102 protected PersonAttribute copyHelper(PersonAttribute target) { 103 target.setPerson(getPerson()); 104 target.setAttributeType(getAttributeType()); 105 target.setValue(getValue()); 106 target.setCreator(getCreator()); 107 target.setDateCreated(getDateCreated()); 108 target.setChangedBy(getChangedBy()); 109 target.setDateChanged(getDateChanged()); 110 target.setVoidedBy(getVoidedBy()); 111 target.setVoided(getVoided()); 112 target.setDateVoided(getDateVoided()); 113 target.setVoidReason(getVoidReason()); 114 return target; 80 115 } 81 116 … … 151 186 * @return Returns the creator. 152 187 */ 188 @Element(required=true) 153 189 public User getCreator() { 154 190 return creator; … … 158 194 * @param creator The creator to set. 159 195 */ 196 @Element(required=true) 160 197 public void setCreator(User creator) { 161 198 this.creator = creator; … … 165 202 * @return Returns the dateCreated. 166 203 */ 204 @Element(required=true) 167 205 public Date getDateCreated() { 168 206 return dateCreated; … … 172 210 * @param dateCreated The dateCreated to set. 173 211 */ 212 @Element(required=true) 174 213 public void setDateCreated(Date dateCreated) { 175 214 this.dateCreated = dateCreated; … … 179 218 * @return Returns the dateVoided. 180 219 */ 220 @Element(required=false) 181 221 public Date getDateVoided() { 182 222 return dateVoided; … … 186 226 * @param dateVoided The dateVoided to set. 187 227 */ 228 @Element(required=false) 188 229 public void setDateVoided(Date dateVoided) { 189 230 this.dateVoided = dateVoided; … … 193 234 * @return Returns the person. 194 235 */ 236 @Element(required=true) 195 237 public Person getPerson() { 196 238 return person; … … 200 242 * @param person The person to set. 201 243 */ 244 @Element(required=true) 202 245 public void setPerson(Person person) { 203 246 this.person = person; … … 211 254 } 212 255 256 @Attribute(required=true) 213 257 public Boolean getVoided() { 214 258 return isVoided(); … … 218 262 * @param voided The voided to set. 219 263 */ 264 @Attribute(required=true) 220 265 public void setVoided(Boolean voided) { 221 266 this.voided = voided; … … 225 270 * @return Returns the voidedBy. 226 271 */ 272 @Element(required=false) 227 273 public User getVoidedBy() { 228 274 return voidedBy; … … 232 278 * @param voidedBy The voidedBy to set. 233 279 */ 280 @Element(required=false) 234 281 public void setVoidedBy(User voidedBy) { 235 282 this.voidedBy = voidedBy; … … 239 286 * @return Returns the voidReason. 240 287 */ 288 @Element(data=true,required=false) 241 289 public String getVoidReason() { 242 290 return voidReason; … … 246 294 * @param voidReason The voidReason to set. 247 295 */ 296 @Element(data=true,required=false) 248 297 public void setVoidReason(String voidReason) { 249 298 this.voidReason = voidReason; … … 253 302 * @return the attributeType 254 303 */ 304 @Element(required=true) 255 305 public PersonAttributeType getAttributeType() { 256 306 return attributeType; … … 260 310 * @param attributeType the attributeType to set 261 311 */ 312 @Element(required=true) 262 313 public void setAttributeType(PersonAttributeType attributeType) { 263 314 this.attributeType = attributeType; … … 267 318 * @return the changedBy 268 319 */ 320 @Element(required=false) 269 321 public User getChangedBy() { 270 322 return changedBy; … … 274 326 * @param changedBy the changedBy to set 275 327 */ 328 @Element(required=false) 276 329 public void setChangedBy(User changedBy) { 277 330 this.changedBy = changedBy; … … 281 334 * @return the dateChanged 282 335 */ 336 @Element(required=false) 283 337 public Date getDateChanged() { 284 338 return dateChanged; … … 288 342 * @param dateChanged the dateChanged to set 289 343 */ 344 @Element(required=false) 290 345 public void setDateChanged(Date dateChanged) { 291 346 this.dateChanged = dateChanged; … … 295 350 * @return the value 296 351 */ 352 @Element(data=true,required=false) 297 353 public String getValue() { 298 354 return value; … … 302 358 * @param value the value to set 303 359 */ 360 @Element(data=true,required=false) 304 361 public void setValue(String value) { 305 362 this.value = value; 306 363 } 307 364 365 /** 366 * @see java.lang.Object#toString() 367 */ 308 368 public String toString() { 309 369 Object o = getHydratedObject(); 310 370 if (o instanceof Attributable) 311 return "" + o;371 return ((Attributable)o).getDisplayString(); 312 372 313 373 return this.value; … … 317 377 * @return the personAttributeId 318 378 */ 379 @Attribute(required=true) 319 380 public Integer getPersonAttributeId() { 320 381 return personAttributeId; … … 324 385 * @param personAttributeId the personAttributeId to set 325 386 */ 387 @Attribute(required=true) 326 388 public void setPersonAttributeId(Integer personAttributeId) { 327 389 this.personAttributeId = personAttributeId;