Coverage Report - ca.uhn.hl7v2.conf.spec.message.Seg
 
Classes in this File Line Coverage Branch Coverage Complexity
Seg
68%
75/110
100%
2/2
1.75
 
 1  
 package ca.uhn.hl7v2.conf.spec.message;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.List;
 5  
 
 6  
 import ca.uhn.hl7v2.conf.ProfileException;
 7  
 
 8  
 /**
 9  
  * A specification for a message segment in a conformance profile.  
 10  
  * @author Bryan Tripp
 11  
  */
 12  
 public class Seg implements ProfileStructure {
 13  
     
 14  
     
 15  
     /** Utility field used by bound properties. */
 16  102
     private java.beans.PropertyChangeSupport propertyChangeSupport =  new java.beans.PropertyChangeSupport(this);
 17  
     
 18  
     /** Utility field used by constrained properties. */
 19  102
     private java.beans.VetoableChangeSupport vetoableChangeSupport =  new java.beans.VetoableChangeSupport(this);
 20  
     
 21  
     private String impNote;    
 22  
     private String description;
 23  
     private String reference;
 24  
     private String predicate;
 25  102
     private final List<Field> fields = new ArrayList<Field>();
 26  
     private String name;
 27  
     private String longName;
 28  
     private String usage;
 29  
     private short min;
 30  
     private short max;
 31  
     
 32  
     /** Creates a new instance of Segment */
 33  102
     public Seg() {
 34  102
     }
 35  
     
 36  
     /** Adds a PropertyChangeListener to the listener list.
 37  
      * @param l The listener to add.
 38  
      */
 39  
     public void addPropertyChangeListener(java.beans.PropertyChangeListener l) {
 40  0
         propertyChangeSupport.addPropertyChangeListener(l);
 41  0
     }
 42  
     
 43  
     /** Removes a PropertyChangeListener from the listener list.
 44  
      * @param l The listener to remove.
 45  
      */
 46  
     public void removePropertyChangeListener(java.beans.PropertyChangeListener l) {
 47  0
         propertyChangeSupport.removePropertyChangeListener(l);
 48  0
     }
 49  
     
 50  
     /** Adds a VetoableChangeListener to the listener list.
 51  
      * @param l The listener to add.
 52  
      */
 53  
     public void addVetoableChangeListener(java.beans.VetoableChangeListener l) {
 54  0
         vetoableChangeSupport.addVetoableChangeListener(l);
 55  0
     }
 56  
     
 57  
     /** Removes a VetoableChangeListener from the listener list.
 58  
      * @param l The listener to remove.
 59  
      */
 60  
     public void removeVetoableChangeListener(java.beans.VetoableChangeListener l) {
 61  0
         vetoableChangeSupport.removeVetoableChangeListener(l);
 62  0
     }
 63  
     
 64  
     /** Getter for property impNote.
 65  
      * @return Value of property impNote.
 66  
      */
 67  
     public String getImpNote() {
 68  0
         return this.impNote;
 69  
     }
 70  
     
 71  
     /** Setter for property impNote.
 72  
      * @param impNote New value of property impNote.
 73  
      *
 74  
      * @throws ProfileException
 75  
      */
 76  
     public void setImpNote(String impNote) throws ProfileException {
 77  102
         String oldImpNote = this.impNote;
 78  
         try {
 79  102
             vetoableChangeSupport.fireVetoableChange("impNote", oldImpNote, impNote);
 80  0
         } catch (Exception e) {
 81  0
             throw new ProfileException(null, e);
 82  102
         }
 83  102
         this.impNote = impNote;
 84  102
         propertyChangeSupport.firePropertyChange("impNote", oldImpNote, impNote);
 85  102
     }
 86  
     
 87  
     /** Getter for property description.
 88  
      * @return Value of property description.
 89  
      */
 90  
     public String getDescription() {
 91  0
         return this.description;
 92  
     }
 93  
     
 94  
     /** Setter for property description.
 95  
      * @param description New value of property description.
 96  
      *
 97  
      * @throws ProfileException
 98  
      */
 99  
     public void setDescription(String description) throws ProfileException {
 100  102
         String oldDescription = this.description;
 101  
         try {
 102  102
             vetoableChangeSupport.fireVetoableChange("description", oldDescription, description);
 103  0
         } catch (Exception e) {
 104  0
             throw new ProfileException(null, e);
 105  102
         }
 106  102
         this.description = description;
 107  102
         propertyChangeSupport.firePropertyChange("description", oldDescription, description);
 108  102
     }
 109  
     
 110  
     /** Getter for property reference.
 111  
      * @return Value of property reference.
 112  
      */
 113  
     public String getReference() {
 114  0
         return this.reference;
 115  
     }
 116  
     
 117  
     /** Setter for property reference.
 118  
      * @param reference New value of property reference.
 119  
      *
 120  
      * @throws ProfileException
 121  
      */
 122  
     public void setReference(String reference) throws ProfileException {
 123  102
         String oldReference = this.reference;
 124  
         try {
 125  102
             vetoableChangeSupport.fireVetoableChange("reference", oldReference, reference);
 126  0
         } catch (Exception e) {
 127  0
             throw new ProfileException(null, e);
 128  102
         }
 129  102
         this.reference = reference;
 130  102
         propertyChangeSupport.firePropertyChange("reference", oldReference, reference);
 131  102
     }
 132  
     
 133  
     /** Getter for property predicate.
 134  
      * @return Value of property predicate.
 135  
      */
 136  
     public String getPredicate() {
 137  0
         return this.predicate;
 138  
     }
 139  
     
 140  
     /** Setter for property predicate.
 141  
      * @param predicate New value of property predicate.
 142  
      *
 143  
      * @throws ProfileException
 144  
      */
 145  
     public void setPredicate(String predicate) throws ProfileException {
 146  102
         String oldPredicate = this.predicate;
 147  
         try {
 148  102
             vetoableChangeSupport.fireVetoableChange("predicate", oldPredicate, predicate);
 149  0
         } catch (Exception e) {
 150  0
             throw new ProfileException(null, e);
 151  102
         }
 152  102
         this.predicate = predicate;
 153  102
         propertyChangeSupport.firePropertyChange("predicate", oldPredicate, predicate);
 154  102
     }
 155  
     
 156  
     /** Indexed getter for property field (index starts at 1 following HL7 convention).
 157  
      * @param index Index of the property (starts at 1 following HL7 convention).
 158  
      * @return Value of the property at <CODE>index</CODE>.
 159  
      */
 160  
     public Field getField(int index) {
 161  536
         return this.fields.get(index - 1);
 162  
     }
 163  
     
 164  
     /** Indexed setter for property field (index starts at 1 following HL7 convention).
 165  
      * @param index Index of the property (starts at 1 following HL7 convention).
 166  
      * @param field New value of the property at <CODE>index</CODE>.
 167  
      *
 168  
      * @throws ProfileException
 169  
      */
 170  
     public void setField(int index, Field field) throws ProfileException {
 171  1586
         index--;
 172  3172
         while (fields.size() <= index) {
 173  1586
                 fields.add(null);
 174  
         }
 175  1586
         Field oldField = this.fields.get(index);
 176  1586
         this.fields.set(index,field);
 177  
         try {
 178  1586
             vetoableChangeSupport.fireVetoableChange("fields", null, null );
 179  
         }
 180  0
         catch(java.beans.PropertyVetoException vetoException ) {
 181  0
             this.fields.set(index, oldField);
 182  0
             throw new ProfileException(null, vetoException);
 183  1586
         }
 184  1586
         propertyChangeSupport.firePropertyChange("fields", null, null );
 185  1586
     }
 186  
     
 187  
     /** Getter for property name.
 188  
      * @return Value of property name.
 189  
      */
 190  
     public String getName() {
 191  456
         return this.name;
 192  
     }
 193  
     
 194  
     /** Setter for property name.
 195  
      * @param name New value of property name.
 196  
      *
 197  
      * @throws ProfileException
 198  
      */
 199  
     public void setName(String name) throws ProfileException {
 200  102
         String oldName = this.name;
 201  
         try {
 202  102
             vetoableChangeSupport.fireVetoableChange("name", oldName, name);
 203  0
         } catch (Exception e) {
 204  0
             throw new ProfileException(null, e);
 205  102
         }
 206  102
         this.name = name;
 207  102
         propertyChangeSupport.firePropertyChange("name", oldName, name);
 208  102
     }
 209  
     
 210  
     /** Getter for property longName.
 211  
      * @return Value of property longName.
 212  
      */
 213  
     public String getLongName() {
 214  1
         return this.longName;
 215  
     }
 216  
     
 217  
     /** Setter for property longName.
 218  
      * @param longName New value of property longName.
 219  
      *
 220  
      * @throws ProfileException
 221  
      */
 222  
     public void setLongName(String longName) throws ProfileException {
 223  102
         String oldLongName = this.longName;
 224  
         try {
 225  102
             vetoableChangeSupport.fireVetoableChange("longName", oldLongName, longName);
 226  0
         } catch (Exception e) {
 227  0
             throw new ProfileException(null, e);
 228  102
         }
 229  102
         this.longName = longName;
 230  102
         propertyChangeSupport.firePropertyChange("longName", oldLongName, longName);
 231  102
     }
 232  
     
 233  
     /** Getter for property usage.
 234  
      * @return Value of property usage.
 235  
      */
 236  
     public String getUsage() {
 237  131
         return this.usage;
 238  
     }
 239  
     
 240  
     /** Setter for property usage.
 241  
      * @param optionality New value of property usage.
 242  
      *
 243  
      * @throws ProfileException
 244  
      */
 245  
     public void setUsage(String usage) throws ProfileException {
 246  102
         String oldUsage = this.usage;
 247  
         try {
 248  102
             vetoableChangeSupport.fireVetoableChange("usage", oldUsage, usage);
 249  0
         } catch (Exception e) {
 250  0
             throw new ProfileException(null, e);
 251  102
         }            
 252  102
         this.usage = usage;
 253  102
         propertyChangeSupport.firePropertyChange("usage", oldUsage, usage);
 254  102
     }
 255  
     
 256  
     /** Getter for property min.
 257  
      * @return Value of property min.
 258  
      */
 259  
     public short getMin() {
 260  65
         return this.min;
 261  
     }
 262  
     
 263  
     /** Setter for property min.
 264  
      * @param min New value of property min.
 265  
      *
 266  
      * @throws ProfileException
 267  
      */
 268  
     public void setMin(short min) throws ProfileException {
 269  102
         short oldMin = this.min;
 270  
         try {
 271  102
             vetoableChangeSupport.fireVetoableChange("min", new Short(oldMin), new Short(min));
 272  0
         } catch (Exception e) {
 273  0
             throw new ProfileException(null, e);
 274  102
         }            
 275  102
         this.min = min;
 276  102
         propertyChangeSupport.firePropertyChange("min", new Short(oldMin), new Short(min));
 277  102
     }
 278  
     
 279  
     /** Getter for property max.
 280  
      * @return Value of property max.
 281  
      */
 282  
     public short getMax() {
 283  65
         return this.max;
 284  
     }
 285  
     
 286  
     /** Setter for property max.
 287  
      * @param max New value of property max.
 288  
      *
 289  
      * @throws ProfileException
 290  
      */
 291  
     public void setMax(short max) throws ProfileException {
 292  102
         short oldMax = this.max;
 293  
         try {
 294  102
             vetoableChangeSupport.fireVetoableChange("max", new Short(oldMax), new Short(max));
 295  0
         } catch (Exception e) {
 296  0
             throw new ProfileException(null, e);
 297  102
         }
 298  102
         this.max = max;
 299  102
         propertyChangeSupport.firePropertyChange("max", new Short(oldMax), new Short(max));
 300  102
     }
 301  
     
 302  
 
 303  
     /** Returns the number of fields in the segment */
 304  
     public int getFields() {
 305  567
         return this.fields.size();
 306  
     }
 307  
 
 308  
     /** Returns the number of fields in the segment */
 309  
     public List<Field> getFieldsAsList() {
 310  0
         return (this.fields);
 311  
     }
 312  
 
 313  
     /** Returns the number of fields in the segment */
 314  
     public List<Field> getChildrenAsList() {
 315  0
         return (this.fields);
 316  
     }
 317  
 
 318  
 }