001 package ca.uhn.hl7v2.conf.spec.message;
002
003 import ca.uhn.hl7v2.conf.ProfileException;
004
005 /**
006 * An explicit data value specified in a message profile.
007 * @author Bryan Tripp
008 */
009 public class DataValue {
010
011 /** Holds value of property exValue. */
012 private String exValue;
013
014 /** Utility field used by bound properties. */
015 private java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
016
017 /** Utility field used by constrained properties. */
018 private java.beans.VetoableChangeSupport vetoableChangeSupport = new java.beans.VetoableChangeSupport(this);
019
020 /** Creates a new instance of DataValue */
021 public DataValue() {
022 }
023
024 /** Adds a PropertyChangeListener to the listener list.
025 * @param l The listener to add.
026 */
027 public void addPropertyChangeListener(java.beans.PropertyChangeListener l) {
028 propertyChangeSupport.addPropertyChangeListener(l);
029 }
030
031 /** Removes a PropertyChangeListener from the listener list.
032 * @param l The listener to remove.
033 */
034 public void removePropertyChangeListener(java.beans.PropertyChangeListener l) {
035 propertyChangeSupport.removePropertyChangeListener(l);
036 }
037
038 /** Adds a VetoableChangeListener to the listener list.
039 * @param l The listener to add.
040 */
041 public void addVetoableChangeListener(java.beans.VetoableChangeListener l) {
042 vetoableChangeSupport.addVetoableChangeListener(l);
043 }
044
045 /** Removes a VetoableChangeListener from the listener list.
046 * @param l The listener to remove.
047 */
048 public void removeVetoableChangeListener(java.beans.VetoableChangeListener l) {
049 vetoableChangeSupport.removeVetoableChangeListener(l);
050 }
051
052 /** Getter for property exValue.
053 * @return Value of property exValue.
054 */
055 public String getExValue() {
056 return this.exValue;
057 }
058
059 /** Setter for property exValue.
060 * @param exValue New value of property exValue.
061 *
062 * @throws ProfileException
063 */
064 public void setExValue(String exValue) throws ProfileException {
065 String oldExValue = this.exValue;
066 try {
067 vetoableChangeSupport.fireVetoableChange("exValue", oldExValue, exValue);
068 } catch (Exception e) {
069 throw new ProfileException(null, e);
070 }
071 this.exValue = exValue;
072 propertyChangeSupport.firePropertyChange("exValue", oldExValue, exValue);
073 }
074
075 }