001 package ca.uhn.hl7v2.conf.spec;
002
003 import ca.uhn.hl7v2.conf.spec.usecase.UseCase;
004 import ca.uhn.hl7v2.conf.spec.message.StaticDef;
005
006 /**
007 * A conformance specification (see HL7 2.5 section 2.12).
008 * @author Bryan Tripp
009 */
010 public class Specification {
011
012 private ImpNote impNote;
013 private UseCase useCase;
014 private Conformance conformance;
015 private Encoding[] encodings;
016 private StaticDef messageProfile;
017
018 /** Utility field used by bound properties. */
019 private java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
020
021 /** Utility field used by constrained properties. */
022 private java.beans.VetoableChangeSupport vetoableChangeSupport = new java.beans.VetoableChangeSupport(this);
023
024 /** Holds value of property message. */
025 private StaticDef message;
026
027 /** Holds value of property specName. */
028 private String specName;
029
030 /** Holds value of property orgName. */
031 private String orgName;
032
033 /** Holds value of property HL7Version. */
034 private String HL7Version;
035
036 /** Holds value of property specVersion. */
037 private String specVersion;
038
039 /** Holds value of property status. */
040 private String status;
041
042 /** Holds value of property role. */
043 private String role;
044
045 /** Holds value of property HL7OID. */
046 private String HL7OID;
047
048 /** Holds value of property conformanceType. */
049 private String conformanceType;
050
051 /** Creates a new instance of Specification */
052 public Specification() {
053 }
054
055 /** Adds a PropertyChangeListener to the listener list.
056 * @param l The listener to add.
057 */
058 public void addPropertyChangeListener(java.beans.PropertyChangeListener l) {
059 propertyChangeSupport.addPropertyChangeListener(l);
060 }
061
062 /** Removes a PropertyChangeListener from the listener list.
063 * @param l The listener to remove.
064 */
065 public void removePropertyChangeListener(java.beans.PropertyChangeListener l) {
066 propertyChangeSupport.removePropertyChangeListener(l);
067 }
068
069 /** Adds a VetoableChangeListener to the listener list.
070 * @param l The listener to add.
071 */
072 public void addVetoableChangeListener(java.beans.VetoableChangeListener l) {
073 vetoableChangeSupport.addVetoableChangeListener(l);
074 }
075
076 /** Removes a VetoableChangeListener from the listener list.
077 * @param l The listener to remove.
078 */
079 public void removeVetoableChangeListener(java.beans.VetoableChangeListener l) {
080 vetoableChangeSupport.removeVetoableChangeListener(l);
081 }
082
083 /** Getter for property impNote.
084 * @return Value of property impNote.
085 */
086 public ImpNote getImpNote() {
087 return this.impNote;
088 }
089
090 /** Setter for property impNote.
091 * @param impNote New value of property impNote.
092 *
093 * @throws PropertyVetoException
094 */
095 public void setImpNote(ImpNote impNote) throws java.beans.PropertyVetoException {
096 ImpNote oldImpNote = this.impNote;
097 vetoableChangeSupport.fireVetoableChange("impNote", oldImpNote, impNote);
098 this.impNote = impNote;
099 propertyChangeSupport.firePropertyChange("impNote", oldImpNote, impNote);
100 }
101
102 /** Getter for property useCase.
103 * @return Value of property useCase.
104 */
105 public UseCase getUseCase() {
106 return this.useCase;
107 }
108
109 /** Setter for property useCase.
110 * @param useCase New value of property useCase.
111 *
112 * @throws PropertyVetoException
113 */
114 public void setUseCase(UseCase useCase) throws java.beans.PropertyVetoException {
115 UseCase oldUseCase = this.useCase;
116 vetoableChangeSupport.fireVetoableChange("useCase", oldUseCase, useCase);
117 this.useCase = useCase;
118 propertyChangeSupport.firePropertyChange("useCase", oldUseCase, useCase);
119 }
120
121 /** Getter for property conformance.
122 * @return Value of property conformance.
123 */
124 public Conformance getConformance() {
125 return this.conformance;
126 }
127
128 /** Setter for property conformance.
129 * @param conformance New value of property conformance.
130 *
131 * @throws PropertyVetoException
132 */
133 public void setConformance(Conformance conformance) throws java.beans.PropertyVetoException {
134 Conformance oldConformance = this.conformance;
135 vetoableChangeSupport.fireVetoableChange("conformance", oldConformance, conformance);
136 this.conformance = conformance;
137 propertyChangeSupport.firePropertyChange("conformance", oldConformance, conformance);
138 }
139
140 /** Indexed getter for property encodings.
141 * @param index Index of the property.
142 * @return Value of the property at <CODE>index</CODE>.
143 */
144 public Encoding getEncodings(int index) {
145 return this.encodings[index];
146 }
147
148 /** Indexed setter for property encodings.
149 * @param index Index of the property.
150 * @param encodings New value of the property at <CODE>index</CODE>.
151 *
152 * @throws PropertyVetoException
153 */
154 public void setEncodings(int index, Encoding encodings) throws java.beans.PropertyVetoException {
155 Encoding oldEncodings = this.encodings[index];
156 this.encodings[index] = encodings;
157 try {
158 vetoableChangeSupport.fireVetoableChange("encodings", null, null );
159 }
160 catch(java.beans.PropertyVetoException vetoException ) {
161 this.encodings[index] = oldEncodings;
162 throw vetoException;
163 }
164 propertyChangeSupport.firePropertyChange("encodings", null, null );
165 }
166
167 /** Getter for property message.
168 * @return Value of property message.
169 */
170 public StaticDef getMessage() {
171 return this.message;
172 }
173
174 /** Setter for property message.
175 * @param message New value of property message.
176 *
177 * @throws PropertyVetoException
178 */
179 public void setMessage(StaticDef message) throws java.beans.PropertyVetoException {
180 StaticDef oldMessage = this.message;
181 vetoableChangeSupport.fireVetoableChange("message", oldMessage, message);
182 this.message = message;
183 propertyChangeSupport.firePropertyChange("message", oldMessage, message);
184 }
185
186 /** Getter for property specName.
187 * @return Value of property specName.
188 */
189 public String getSpecName() {
190 return this.specName;
191 }
192
193 /** Setter for property specName.
194 * @param specName New value of property specName.
195 *
196 * @throws PropertyVetoException
197 */
198 public void setSpecName(String specName) throws java.beans.PropertyVetoException {
199 String oldSpecName = this.specName;
200 vetoableChangeSupport.fireVetoableChange("specName", oldSpecName, specName);
201 this.specName = specName;
202 propertyChangeSupport.firePropertyChange("specName", oldSpecName, specName);
203 }
204
205 /** Getter for property orgName.
206 * @return Value of property orgName.
207 */
208 public String getOrgName() {
209 return this.orgName;
210 }
211
212 /** Setter for property orgName.
213 * @param orgName New value of property orgName.
214 *
215 * @throws PropertyVetoException
216 */
217 public void setOrgName(String orgName) throws java.beans.PropertyVetoException {
218 String oldOrgName = this.orgName;
219 vetoableChangeSupport.fireVetoableChange("orgName", oldOrgName, orgName);
220 this.orgName = orgName;
221 propertyChangeSupport.firePropertyChange("orgName", oldOrgName, orgName);
222 }
223
224 /** Getter for property HL7Version.
225 * @return Value of property HL7Version.
226 */
227 public String getHL7Version() {
228 return this.HL7Version;
229 }
230
231 /** Setter for property HL7Version.
232 * @param HL7Version New value of property HL7Version.
233 *
234 * @throws PropertyVetoException
235 */
236 public void setHL7Version(String HL7Version) throws java.beans.PropertyVetoException {
237 String oldHL7Version = this.HL7Version;
238 vetoableChangeSupport.fireVetoableChange("HL7Version", oldHL7Version, HL7Version);
239 this.HL7Version = HL7Version;
240 propertyChangeSupport.firePropertyChange("HL7Version", oldHL7Version, HL7Version);
241 }
242
243 /** Getter for property specVersion.
244 * @return Value of property specVersion.
245 */
246 public String getSpecVersion() {
247 return this.specVersion;
248 }
249
250 /** Setter for property specVersion.
251 * @param specVersion New value of property specVersion.
252 *
253 * @throws PropertyVetoException
254 */
255 public void setSpecVersion(String specVersion) throws java.beans.PropertyVetoException {
256 String oldSpecVersion = this.specVersion;
257 vetoableChangeSupport.fireVetoableChange("specVersion", oldSpecVersion, specVersion);
258 this.specVersion = specVersion;
259 propertyChangeSupport.firePropertyChange("specVersion", oldSpecVersion, specVersion);
260 }
261
262 /** Getter for property status.
263 * @return Value of property status.
264 */
265 public String getStatus() {
266 return this.status;
267 }
268
269 /** Setter for property status.
270 * @param status New value of property status.
271 *
272 * @throws PropertyVetoException
273 */
274 public void setStatus(String status) throws java.beans.PropertyVetoException {
275 String oldStatus = this.status;
276 vetoableChangeSupport.fireVetoableChange("status", oldStatus, status);
277 this.status = status;
278 propertyChangeSupport.firePropertyChange("status", oldStatus, status);
279 }
280
281 /** Getter for property role.
282 * @return Value of property role.
283 */
284 public String getRole() {
285 return this.role;
286 }
287
288 /** Setter for property role.
289 * @param role New value of property role.
290 *
291 * @throws PropertyVetoException
292 */
293 public void setRole(String role) throws java.beans.PropertyVetoException {
294 String oldRole = this.role;
295 vetoableChangeSupport.fireVetoableChange("role", oldRole, role);
296 this.role = role;
297 propertyChangeSupport.firePropertyChange("role", oldRole, role);
298 }
299
300 /** Getter for property HL7OID.
301 * @return Value of property HL7OID.
302 */
303 public String getHL7OID() {
304 return this.HL7OID;
305 }
306
307 /** Setter for property HL7OID.
308 * @param HL7OID New value of property HL7OID.
309 *
310 * @throws PropertyVetoException
311 */
312 public void setHL7OID(String HL7OID) throws java.beans.PropertyVetoException {
313 String oldHL7OID = this.HL7OID;
314 vetoableChangeSupport.fireVetoableChange("HL7OID", oldHL7OID, HL7OID);
315 this.HL7OID = HL7OID;
316 propertyChangeSupport.firePropertyChange("HL7OID", oldHL7OID, HL7OID);
317 }
318
319 /** Getter for property conformanceType.
320 * @return Value of property conformanceType.
321 */
322 public String getConformanceType() {
323 return this.conformanceType;
324 }
325
326 /** Setter for property conformanceType.
327 * @param conformanceType New value of property conformanceType.
328 *
329 * @throws PropertyVetoException
330 */
331 public void setConformanceType(String conformanceType) throws java.beans.PropertyVetoException {
332 String oldConformanceType = this.conformanceType;
333 vetoableChangeSupport.fireVetoableChange("conformanceType", oldConformanceType, conformanceType);
334 this.conformanceType = conformanceType;
335 propertyChangeSupport.firePropertyChange("conformanceType", oldConformanceType, conformanceType);
336 }
337
338 }