1
2
3
4
5
6
7 package BusinessDomainDsl.impl;
8
9 import BusinessDomainDsl.BusinessDomainDslPackage;
10 import BusinessDomainDsl.DateTimeAccuracy;
11 import BusinessDomainDsl.DateTimeProperty;
12
13 import org.eclipse.emf.common.notify.Notification;
14
15 import org.eclipse.emf.ecore.EClass;
16
17 import org.eclipse.emf.ecore.impl.ENotificationImpl;
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public class DateTimePropertyImpl extends PropertyImpl implements DateTimeProperty {
34
35
36
37
38
39
40
41
42 protected static final DateTimeAccuracy ACCURACY_EDEFAULT = DateTimeAccuracy.MILLISECOND;
43
44
45
46
47
48
49
50
51
52 protected DateTimeAccuracy accuracy = ACCURACY_EDEFAULT;
53
54
55
56
57
58
59
60
61
62 protected static final String DEFAULT_VALUE_EDEFAULT = "";
63
64
65
66
67
68
69
70
71
72 protected String defaultValue = DEFAULT_VALUE_EDEFAULT;
73
74
75
76
77
78
79 protected DateTimePropertyImpl() {
80 super();
81 }
82
83
84
85
86
87
88 @Override
89 protected EClass eStaticClass() {
90 return BusinessDomainDslPackage.Literals.DATE_TIME_PROPERTY;
91 }
92
93
94
95
96
97
98 public DateTimeAccuracy getAccuracy() {
99 return accuracy;
100 }
101
102
103
104
105
106
107 public void setAccuracy(DateTimeAccuracy newAccuracy) {
108 DateTimeAccuracy oldAccuracy = accuracy;
109 accuracy = newAccuracy == null ? ACCURACY_EDEFAULT : newAccuracy;
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY, oldAccuracy, accuracy));
112 }
113
114
115
116
117
118
119 public String getDefaultValue() {
120 return defaultValue;
121 }
122
123
124
125
126
127
128 public void setDefaultValue(String newDefaultValue) {
129 String oldDefaultValue = defaultValue;
130 defaultValue = newDefaultValue;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE, oldDefaultValue, defaultValue));
133 }
134
135
136
137
138
139
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
144 return getAccuracy();
145 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
146 return getDefaultValue();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151
152
153
154
155
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
160 setAccuracy((DateTimeAccuracy)newValue);
161 return;
162 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
163 setDefaultValue((String)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169
170
171
172
173
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
178 setAccuracy(ACCURACY_EDEFAULT);
179 return;
180 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
181 setDefaultValue(DEFAULT_VALUE_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187
188
189
190
191
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
196 return accuracy != ACCURACY_EDEFAULT;
197 case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
198 return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null : !DEFAULT_VALUE_EDEFAULT.equals(defaultValue);
199 }
200 return super.eIsSet(featureID);
201 }
202
203
204
205
206
207
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuffer result = new StringBuffer(super.toString());
213 result.append(" (accuracy: ");
214 result.append(accuracy);
215 result.append(", defaultValue: ");
216 result.append(defaultValue);
217 result.append(')');
218 return result.toString();
219 }
220
221 }