001 package ca.uhn.hl7v2.conf.spec.usecase;
002
003 /**
004 * The use case portion of a conformance specification.
005 * @author Bryan Tripp
006 */
007 public class UseCase {
008
009 /** Holds value of property actor. */
010 private Actor actor;
011
012 /** Utility field used by bound properties. */
013 private java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
014
015 /** Utility field used by constrained properties. */
016 private java.beans.VetoableChangeSupport vetoableChangeSupport = new java.beans.VetoableChangeSupport(this);
017
018 /** Holds value of property preCondition. */
019 private PreCondition preCondition;
020
021 /** Holds value of property postCondition. */
022 private PostCondition postCondition;
023
024 /** Holds value of property eventFlow. */
025 private EventFlow eventFlow;
026
027 /** Holds value of property derivativeEvent. */
028 private DerivativeEvent derivativeEvent;
029
030 /** Creates a new instance of UseCase */
031 public UseCase() {
032 }
033
034 /** Adds a PropertyChangeListener to the listener list.
035 * @param l The listener to add.
036 */
037 public void addPropertyChangeListener(java.beans.PropertyChangeListener l) {
038 propertyChangeSupport.addPropertyChangeListener(l);
039 }
040
041 /** Removes a PropertyChangeListener from the listener list.
042 * @param l The listener to remove.
043 */
044 public void removePropertyChangeListener(java.beans.PropertyChangeListener l) {
045 propertyChangeSupport.removePropertyChangeListener(l);
046 }
047
048 /** Adds a VetoableChangeListener to the listener list.
049 * @param l The listener to add.
050 */
051 public void addVetoableChangeListener(java.beans.VetoableChangeListener l) {
052 vetoableChangeSupport.addVetoableChangeListener(l);
053 }
054
055 /** Removes a VetoableChangeListener from the listener list.
056 * @param l The listener to remove.
057 */
058 public void removeVetoableChangeListener(java.beans.VetoableChangeListener l) {
059 vetoableChangeSupport.removeVetoableChangeListener(l);
060 }
061
062 /** Getter for property actor.
063 * @return Value of property actor.
064 */
065 public Actor getActor() {
066 return this.actor;
067 }
068
069 /** Setter for property actor.
070 * @param actor New value of property actor.
071 *
072 * @throws PropertyVetoException
073 */
074 public void setActor(Actor actor) throws java.beans.PropertyVetoException {
075 Actor oldActor = this.actor;
076 vetoableChangeSupport.fireVetoableChange("actor", oldActor, actor);
077 this.actor = actor;
078 propertyChangeSupport.firePropertyChange("actor", oldActor, actor);
079 }
080
081 /** Getter for property preCondition.
082 * @return Value of property preCondition.
083 */
084 public PreCondition getPreCondition() {
085 return this.preCondition;
086 }
087
088 /** Setter for property preCondition.
089 * @param preCondition New value of property preCondition.
090 *
091 * @throws PropertyVetoException
092 */
093 public void setPreCondition(PreCondition preCondition) throws java.beans.PropertyVetoException {
094 PreCondition oldPreCondition = this.preCondition;
095 vetoableChangeSupport.fireVetoableChange("preCondition", oldPreCondition, preCondition);
096 this.preCondition = preCondition;
097 propertyChangeSupport.firePropertyChange("preCondition", oldPreCondition, preCondition);
098 }
099
100 /** Getter for property postCondition.
101 * @return Value of property postCondition.
102 */
103 public PostCondition getPostCondition() {
104 return this.postCondition;
105 }
106
107 /** Setter for property postCondition.
108 * @param postCondition New value of property postCondition.
109 *
110 * @throws PropertyVetoException
111 */
112 public void setPostCondition(PostCondition postCondition) throws java.beans.PropertyVetoException {
113 PostCondition oldPostCondition = this.postCondition;
114 vetoableChangeSupport.fireVetoableChange("postCondition", oldPostCondition, postCondition);
115 this.postCondition = postCondition;
116 propertyChangeSupport.firePropertyChange("postCondition", oldPostCondition, postCondition);
117 }
118
119 /** Getter for property eventFlow.
120 * @return Value of property eventFlow.
121 */
122 public EventFlow getEventFlow() {
123 return this.eventFlow;
124 }
125
126 /** Setter for property eventFlow.
127 * @param eventFlow New value of property eventFlow.
128 *
129 * @throws PropertyVetoException
130 */
131 public void setEventFlow(EventFlow eventFlow) throws java.beans.PropertyVetoException {
132 EventFlow oldEventFlow = this.eventFlow;
133 vetoableChangeSupport.fireVetoableChange("eventFlow", oldEventFlow, eventFlow);
134 this.eventFlow = eventFlow;
135 propertyChangeSupport.firePropertyChange("eventFlow", oldEventFlow, eventFlow);
136 }
137
138 /** Getter for property derivativeEvent.
139 * @return Value of property derivativeEvent.
140 */
141 public DerivativeEvent getDerivativeEvent() {
142 return this.derivativeEvent;
143 }
144
145 /** Setter for property derivativeEvent.
146 * @param derivativeEvent New value of property derivativeEvent.
147 *
148 * @throws PropertyVetoException
149 */
150 public void setDerivativeEvent(DerivativeEvent derivativeEvent) throws java.beans.PropertyVetoException {
151 DerivativeEvent oldDerivativeEvent = this.derivativeEvent;
152 vetoableChangeSupport.fireVetoableChange("derivativeEvent", oldDerivativeEvent, derivativeEvent);
153 this.derivativeEvent = derivativeEvent;
154 propertyChangeSupport.firePropertyChange("derivativeEvent", oldDerivativeEvent, derivativeEvent);
155 }
156
157 }