Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register
Show
Ignore:
Timestamp:
05/28/08 05:16:52 (8 months ago)
Author:
bmckown
Message:

complex_obs branch: Merging trunk to complex-obs [3891] [4378] TODO: sqldiff.

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  
    2323import org.openmrs.util.OpenmrsClassLoader; 
    2424import org.openmrs.util.OpenmrsUtil; 
     25import org.simpleframework.xml.Attribute; 
     26import org.simpleframework.xml.Element; 
     27import org.simpleframework.xml.Root; 
    2528 
    2629/** 
     
    3942 * @see org.openmrs.Attributable 
    4043 */ 
     44@Root(strict=false) 
    4145public class PersonAttribute implements java.io.Serializable, Comparable<PersonAttribute> { 
    4246         
     
    7882                this.attributeType = type; 
    7983                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; 
    80115        } 
    81116 
     
    151186         * @return Returns the creator. 
    152187         */ 
     188        @Element(required=true) 
    153189        public User getCreator() { 
    154190                return creator; 
     
    158194         * @param creator The creator to set. 
    159195         */ 
     196        @Element(required=true) 
    160197        public void setCreator(User creator) { 
    161198                this.creator = creator; 
     
    165202         * @return Returns the dateCreated. 
    166203         */ 
     204        @Element(required=true) 
    167205        public Date getDateCreated() { 
    168206                return dateCreated; 
     
    172210         * @param dateCreated The dateCreated to set. 
    173211         */ 
     212        @Element(required=true) 
    174213        public void setDateCreated(Date dateCreated) { 
    175214                this.dateCreated = dateCreated; 
     
    179218         * @return Returns the dateVoided. 
    180219         */ 
     220        @Element(required=false) 
    181221        public Date getDateVoided() { 
    182222                return dateVoided; 
     
    186226         * @param dateVoided The dateVoided to set. 
    187227         */ 
     228        @Element(required=false) 
    188229        public void setDateVoided(Date dateVoided) { 
    189230                this.dateVoided = dateVoided; 
     
    193234         * @return Returns the person. 
    194235         */ 
     236        @Element(required=true) 
    195237        public Person getPerson() { 
    196238                return person; 
     
    200242         * @param person The person to set. 
    201243         */ 
     244        @Element(required=true) 
    202245        public void setPerson(Person person) { 
    203246                this.person = person; 
     
    211254        } 
    212255         
     256        @Attribute(required=true) 
    213257        public Boolean getVoided() { 
    214258                return isVoided(); 
     
    218262         * @param voided The voided to set. 
    219263         */ 
     264        @Attribute(required=true) 
    220265        public void setVoided(Boolean voided) { 
    221266                this.voided = voided; 
     
    225270         * @return Returns the voidedBy. 
    226271         */ 
     272        @Element(required=false) 
    227273        public User getVoidedBy() { 
    228274                return voidedBy; 
     
    232278         * @param voidedBy The voidedBy to set. 
    233279         */ 
     280        @Element(required=false) 
    234281        public void setVoidedBy(User voidedBy) { 
    235282                this.voidedBy = voidedBy; 
     
    239286         * @return Returns the voidReason. 
    240287         */ 
     288        @Element(data=true,required=false) 
    241289        public String getVoidReason() { 
    242290                return voidReason; 
     
    246294         * @param voidReason The voidReason to set. 
    247295         */ 
     296        @Element(data=true,required=false) 
    248297        public void setVoidReason(String voidReason) { 
    249298                this.voidReason = voidReason; 
     
    253302         * @return the attributeType 
    254303         */ 
     304        @Element(required=true) 
    255305        public PersonAttributeType getAttributeType() { 
    256306                return attributeType; 
     
    260310         * @param attributeType the attributeType to set 
    261311         */ 
     312        @Element(required=true) 
    262313        public void setAttributeType(PersonAttributeType attributeType) { 
    263314                this.attributeType = attributeType; 
     
    267318         * @return the changedBy 
    268319         */ 
     320        @Element(required=false) 
    269321        public User getChangedBy() { 
    270322                return changedBy; 
     
    274326         * @param changedBy the changedBy to set 
    275327         */ 
     328        @Element(required=false) 
    276329        public void setChangedBy(User changedBy) { 
    277330                this.changedBy = changedBy; 
     
    281334         * @return the dateChanged 
    282335         */ 
     336        @Element(required=false) 
    283337        public Date getDateChanged() { 
    284338                return dateChanged; 
     
    288342         * @param dateChanged the dateChanged to set 
    289343         */ 
     344        @Element(required=false) 
    290345        public void setDateChanged(Date dateChanged) { 
    291346                this.dateChanged = dateChanged; 
     
    295350         * @return the value 
    296351         */ 
     352        @Element(data=true,required=false) 
    297353        public String getValue() { 
    298354                return value; 
     
    302358         * @param value the value to set 
    303359         */ 
     360        @Element(data=true,required=false) 
    304361        public void setValue(String value) { 
    305362                this.value = value; 
    306363        } 
    307364 
     365        /** 
     366         * @see java.lang.Object#toString() 
     367         */ 
    308368        public String toString() { 
    309369                Object o = getHydratedObject(); 
    310370                if (o instanceof Attributable) 
    311                         return "" + o
     371                        return ((Attributable)o).getDisplayString()
    312372                 
    313373                return this.value; 
     
    317377         * @return the personAttributeId 
    318378         */ 
     379        @Attribute(required=true) 
    319380        public Integer getPersonAttributeId() { 
    320381                return personAttributeId; 
     
    324385         * @param personAttributeId the personAttributeId to set 
    325386         */ 
     387        @Attribute(required=true) 
    326388        public void setPersonAttributeId(Integer personAttributeId) { 
    327389                this.personAttributeId = personAttributeId;