001package ca.uhn.hl7v2.conf.spec;
002
003import java.beans.PropertyVetoException;
004
005/**
006 * An implementation note.  
007 * @author Bryan Tripp
008 */
009public class ImpNote {
010    
011    /** Holds value of property text. */
012    private String text;
013    
014    /** Utility field used by bound properties. */
015    private final java.beans.PropertyChangeSupport propertyChangeSupport =  new java.beans.PropertyChangeSupport(this);
016    
017    /** Utility field used by constrained properties. */
018    private final java.beans.VetoableChangeSupport vetoableChangeSupport =  new java.beans.VetoableChangeSupport(this);
019    
020    /** Creates a new instance of ImpNote */
021    public ImpNote() {
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 text.
053     * @return Value of property text.
054     */
055    public String getText() {
056        return this.text;
057    }
058    
059    /** Setter for property text.
060     * @param text New value of property text.
061     *
062     * @throws PropertyVetoException
063     */
064    public void setText(String text) throws PropertyVetoException {
065        String oldText = this.text;
066        vetoableChangeSupport.fireVetoableChange("text", oldText, text);
067        this.text = text;
068        propertyChangeSupport.firePropertyChange("text", oldText, text);
069    }
070    
071}