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
10
11
12 public class Field extends AbstractComponent<Field> {
13
14
15 private final java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
16
17
18 private final java.beans.VetoableChangeSupport vetoableChangeSupport = new java.beans.VetoableChangeSupport(this);
19
20 private short min;
21 private short max;
22 private short itemNo;
23
24 private final List<Component> components = new ArrayList<>();
25
26
27 public Field() {
28 }
29
30
31
32
33 public void addPropertyChangeListener(java.beans.PropertyChangeListener l) {
34 propertyChangeSupport.addPropertyChangeListener(l);
35 }
36
37
38
39
40 public void removePropertyChangeListener(java.beans.PropertyChangeListener l) {
41 propertyChangeSupport.removePropertyChangeListener(l);
42 }
43
44
45
46
47 public void addVetoableChangeListener(java.beans.VetoableChangeListener l) {
48 vetoableChangeSupport.addVetoableChangeListener(l);
49 }
50
51
52
53
54 public void removeVetoableChangeListener(java.beans.VetoableChangeListener l) {
55 vetoableChangeSupport.removeVetoableChangeListener(l);
56 }
57
58
59
60
61 public short getMin() {
62 return this.min;
63 }
64
65
66
67
68
69
70 public void setMin(short min) throws ProfileException {
71 short oldMin = this.min;
72 try {
73 vetoableChangeSupport.fireVetoableChange("min", oldMin, min);
74 } catch (Exception e) {
75 throw new ProfileException(null, e);
76 }
77 this.min = min;
78 propertyChangeSupport.firePropertyChange("min", oldMin, min);
79 }
80
81
82
83
84 public short getMax() {
85 return this.max;
86 }
87
88
89
90
91
92
93 public void setMax(short max) throws ProfileException {
94 short oldMax = this.max;
95 try {
96 vetoableChangeSupport.fireVetoableChange("max", oldMax, max);
97 } catch (Exception e) {
98 throw new ProfileException(null, e);
99 }
100 this.max = max;
101 propertyChangeSupport.firePropertyChange("max", oldMax, max);
102 }
103
104
105
106
107 public short getItemNo() {
108 return this.itemNo;
109 }
110
111
112
113
114
115
116 public void setItemNo(short itemNo) throws ProfileException {
117 short oldItemNo = this.itemNo;
118 try {
119 vetoableChangeSupport.fireVetoableChange("itemNo", Short.valueOf(oldItemNo), Short.valueOf(itemNo));
120 } catch (Exception e) {
121 throw new ProfileException(null, e);
122 }
123 this.itemNo = itemNo;
124 propertyChangeSupport.firePropertyChange("itemNo", Short.valueOf(oldItemNo), Short.valueOf(itemNo));
125 }
126
127
128
129
130
131 public Component getComponent(int index) {
132 return this.components.get(index - 1);
133 }
134
135
136
137
138
139
140
141 public void setComponent(int index, Component component) throws ProfileException {
142 index--;
143 while (components.size() <= index) {
144 components.add(null);
145 }
146 Component oldComponent = this.components.get(index);
147 this.components.set(index, component);
148 try {
149 vetoableChangeSupport.fireVetoableChange("components", null, null );
150 }
151 catch(java.beans.PropertyVetoException vetoException ) {
152 this.components.set(index, oldComponent);
153 throw new ProfileException(null, vetoException);
154 }
155 propertyChangeSupport.firePropertyChange("components", null, null );
156 }
157
158
159
160 public int getComponents() {
161 return this.components.size();
162 }
163
164
165 public List<Component> getChildrenAsList() {
166 return (this.components);
167 }
168
169 }
170
171