001 /**
002 * <copyright>
003 * </copyright>
004 *
005 * $Id$
006 */
007 package com.hammurapi.review.impl;
008
009 import java.util.Collection;
010
011 import org.eclipse.emf.common.notify.Notification;
012 import org.eclipse.emf.common.notify.NotificationChain;
013 import org.eclipse.emf.common.util.EList;
014 import org.eclipse.emf.ecore.EClass;
015 import org.eclipse.emf.ecore.InternalEObject;
016 import org.eclipse.emf.ecore.impl.ENotificationImpl;
017 import org.eclipse.emf.ecore.impl.EObjectImpl;
018 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
019 import org.eclipse.emf.ecore.util.InternalEList;
020
021 import com.hammurapi.review.Observation;
022 import com.hammurapi.review.ReviewPackage;
023 import com.hammurapi.review.Revision;
024
025 /**
026 * <!-- begin-user-doc -->
027 * An implementation of the model object '<em><b>Revision</b></em>'.
028 * <!-- end-user-doc -->
029 * <p>
030 * The following features are implemented:
031 * <ul>
032 * <li>{@link com.hammurapi.review.impl.RevisionImpl#getObservations <em>Observations</em>}</li>
033 * <li>{@link com.hammurapi.review.impl.RevisionImpl#getName <em>Name</em>}</li>
034 * <li>{@link com.hammurapi.review.impl.RevisionImpl#getSize <em>Size</em>}</li>
035 * <li>{@link com.hammurapi.review.impl.RevisionImpl#getChecksum <em>Checksum</em>}</li>
036 * <li>{@link com.hammurapi.review.impl.RevisionImpl#getTimestamp <em>Timestamp</em>}</li>
037 * <li>{@link com.hammurapi.review.impl.RevisionImpl#getChecksumAlgorithm <em>Checksum Algorithm</em>}</li>
038 * </ul>
039 * </p>
040 *
041 * @generated
042 */
043 public class RevisionImpl extends EObjectImpl implements Revision {
044 /**
045 * The cached value of the '{@link #getObservations() <em>Observations</em>}' containment reference list.
046 * <!-- begin-user-doc -->
047 * <!-- end-user-doc -->
048 * @see #getObservations()
049 * @generated
050 * @ordered
051 */
052 protected EList<Observation> observations;
053
054 /**
055 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
056 * <!-- begin-user-doc -->
057 * <!-- end-user-doc -->
058 * @see #getName()
059 * @generated
060 * @ordered
061 */
062 protected static final String NAME_EDEFAULT = null;
063
064 /**
065 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
066 * <!-- begin-user-doc -->
067 * <!-- end-user-doc -->
068 * @see #getName()
069 * @generated
070 * @ordered
071 */
072 protected String name = NAME_EDEFAULT;
073
074 /**
075 * The default value of the '{@link #getSize() <em>Size</em>}' attribute.
076 * <!-- begin-user-doc -->
077 * <!-- end-user-doc -->
078 * @see #getSize()
079 * @generated
080 * @ordered
081 */
082 protected static final long SIZE_EDEFAULT = 0L;
083
084 /**
085 * The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
086 * <!-- begin-user-doc -->
087 * <!-- end-user-doc -->
088 * @see #getSize()
089 * @generated
090 * @ordered
091 */
092 protected long size = SIZE_EDEFAULT;
093
094 /**
095 * The default value of the '{@link #getChecksum() <em>Checksum</em>}' attribute.
096 * <!-- begin-user-doc -->
097 * <!-- end-user-doc -->
098 * @see #getChecksum()
099 * @generated
100 * @ordered
101 */
102 protected static final String CHECKSUM_EDEFAULT = null;
103
104 /**
105 * The cached value of the '{@link #getChecksum() <em>Checksum</em>}' attribute.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see #getChecksum()
109 * @generated
110 * @ordered
111 */
112 protected String checksum = CHECKSUM_EDEFAULT;
113
114 /**
115 * The default value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @see #getTimestamp()
119 * @generated
120 * @ordered
121 */
122 protected static final long TIMESTAMP_EDEFAULT = 0L;
123
124 /**
125 * The cached value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @see #getTimestamp()
129 * @generated
130 * @ordered
131 */
132 protected long timestamp = TIMESTAMP_EDEFAULT;
133
134 /**
135 * The default value of the '{@link #getChecksumAlgorithm() <em>Checksum Algorithm</em>}' attribute.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @see #getChecksumAlgorithm()
139 * @generated
140 * @ordered
141 */
142 protected static final String CHECKSUM_ALGORITHM_EDEFAULT = null;
143
144 /**
145 * The cached value of the '{@link #getChecksumAlgorithm() <em>Checksum Algorithm</em>}' attribute.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @see #getChecksumAlgorithm()
149 * @generated
150 * @ordered
151 */
152 protected String checksumAlgorithm = CHECKSUM_ALGORITHM_EDEFAULT;
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 protected RevisionImpl() {
160 super();
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 protected EClass eStaticClass() {
170 return ReviewPackage.Literals.REVISION;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 public EList<Observation> getObservations() {
179 if (observations == null) {
180 observations = new EObjectContainmentWithInverseEList<Observation>(Observation.class, this, ReviewPackage.REVISION__OBSERVATIONS, ReviewPackage.OBSERVATION__SOURCE);
181 }
182 return observations;
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 public String getName() {
191 return name;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public void setName(String newName) {
200 String oldName = name;
201 name = newName;
202 if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.REVISION__NAME, oldName, name));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 public long getSize() {
212 return size;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 public void setSize(long newSize) {
221 long oldSize = size;
222 size = newSize;
223 if (eNotificationRequired())
224 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.REVISION__SIZE, oldSize, size));
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 public String getChecksum() {
233 return checksum;
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 public void setChecksum(String newChecksum) {
242 String oldChecksum = checksum;
243 checksum = newChecksum;
244 if (eNotificationRequired())
245 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.REVISION__CHECKSUM, oldChecksum, checksum));
246 }
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 public long getTimestamp() {
254 return timestamp;
255 }
256
257 /**
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @generated
261 */
262 public void setTimestamp(long newTimestamp) {
263 long oldTimestamp = timestamp;
264 timestamp = newTimestamp;
265 if (eNotificationRequired())
266 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.REVISION__TIMESTAMP, oldTimestamp, timestamp));
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 public String getChecksumAlgorithm() {
275 return checksumAlgorithm;
276 }
277
278 /**
279 * <!-- begin-user-doc -->
280 * <!-- end-user-doc -->
281 * @generated
282 */
283 public void setChecksumAlgorithm(String newChecksumAlgorithm) {
284 String oldChecksumAlgorithm = checksumAlgorithm;
285 checksumAlgorithm = newChecksumAlgorithm;
286 if (eNotificationRequired())
287 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.REVISION__CHECKSUM_ALGORITHM, oldChecksumAlgorithm, checksumAlgorithm));
288 }
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 public String getSignature() {
296 // TODO: implement this method
297 // Ensure that you remove @generated or mark it @generated NOT
298 throw new UnsupportedOperationException();
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 @SuppressWarnings("unchecked")
307 @Override
308 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
309 switch (featureID) {
310 case ReviewPackage.REVISION__OBSERVATIONS:
311 return ((InternalEList<InternalEObject>)(InternalEList<?>)getObservations()).basicAdd(otherEnd, msgs);
312 }
313 return super.eInverseAdd(otherEnd, featureID, msgs);
314 }
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 @Override
322 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
323 switch (featureID) {
324 case ReviewPackage.REVISION__OBSERVATIONS:
325 return ((InternalEList<?>)getObservations()).basicRemove(otherEnd, msgs);
326 }
327 return super.eInverseRemove(otherEnd, featureID, msgs);
328 }
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 @Override
336 public Object eGet(int featureID, boolean resolve, boolean coreType) {
337 switch (featureID) {
338 case ReviewPackage.REVISION__OBSERVATIONS:
339 return getObservations();
340 case ReviewPackage.REVISION__NAME:
341 return getName();
342 case ReviewPackage.REVISION__SIZE:
343 return getSize();
344 case ReviewPackage.REVISION__CHECKSUM:
345 return getChecksum();
346 case ReviewPackage.REVISION__TIMESTAMP:
347 return getTimestamp();
348 case ReviewPackage.REVISION__CHECKSUM_ALGORITHM:
349 return getChecksumAlgorithm();
350 }
351 return super.eGet(featureID, resolve, coreType);
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 @SuppressWarnings("unchecked")
360 @Override
361 public void eSet(int featureID, Object newValue) {
362 switch (featureID) {
363 case ReviewPackage.REVISION__OBSERVATIONS:
364 getObservations().clear();
365 getObservations().addAll((Collection<? extends Observation>)newValue);
366 return;
367 case ReviewPackage.REVISION__NAME:
368 setName((String)newValue);
369 return;
370 case ReviewPackage.REVISION__SIZE:
371 setSize((Long)newValue);
372 return;
373 case ReviewPackage.REVISION__CHECKSUM:
374 setChecksum((String)newValue);
375 return;
376 case ReviewPackage.REVISION__TIMESTAMP:
377 setTimestamp((Long)newValue);
378 return;
379 case ReviewPackage.REVISION__CHECKSUM_ALGORITHM:
380 setChecksumAlgorithm((String)newValue);
381 return;
382 }
383 super.eSet(featureID, newValue);
384 }
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 @Override
392 public void eUnset(int featureID) {
393 switch (featureID) {
394 case ReviewPackage.REVISION__OBSERVATIONS:
395 getObservations().clear();
396 return;
397 case ReviewPackage.REVISION__NAME:
398 setName(NAME_EDEFAULT);
399 return;
400 case ReviewPackage.REVISION__SIZE:
401 setSize(SIZE_EDEFAULT);
402 return;
403 case ReviewPackage.REVISION__CHECKSUM:
404 setChecksum(CHECKSUM_EDEFAULT);
405 return;
406 case ReviewPackage.REVISION__TIMESTAMP:
407 setTimestamp(TIMESTAMP_EDEFAULT);
408 return;
409 case ReviewPackage.REVISION__CHECKSUM_ALGORITHM:
410 setChecksumAlgorithm(CHECKSUM_ALGORITHM_EDEFAULT);
411 return;
412 }
413 super.eUnset(featureID);
414 }
415
416 /**
417 * <!-- begin-user-doc -->
418 * <!-- end-user-doc -->
419 * @generated
420 */
421 @Override
422 public boolean eIsSet(int featureID) {
423 switch (featureID) {
424 case ReviewPackage.REVISION__OBSERVATIONS:
425 return observations != null && !observations.isEmpty();
426 case ReviewPackage.REVISION__NAME:
427 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
428 case ReviewPackage.REVISION__SIZE:
429 return size != SIZE_EDEFAULT;
430 case ReviewPackage.REVISION__CHECKSUM:
431 return CHECKSUM_EDEFAULT == null ? checksum != null : !CHECKSUM_EDEFAULT.equals(checksum);
432 case ReviewPackage.REVISION__TIMESTAMP:
433 return timestamp != TIMESTAMP_EDEFAULT;
434 case ReviewPackage.REVISION__CHECKSUM_ALGORITHM:
435 return CHECKSUM_ALGORITHM_EDEFAULT == null ? checksumAlgorithm != null : !CHECKSUM_ALGORITHM_EDEFAULT.equals(checksumAlgorithm);
436 }
437 return super.eIsSet(featureID);
438 }
439
440 /**
441 * <!-- begin-user-doc -->
442 * <!-- end-user-doc -->
443 * @generated
444 */
445 @Override
446 public String toString() {
447 if (eIsProxy()) return super.toString();
448
449 StringBuffer result = new StringBuffer(super.toString());
450 result.append(" (name: ");
451 result.append(name);
452 result.append(", size: ");
453 result.append(size);
454 result.append(", checksum: ");
455 result.append(checksum);
456 result.append(", timestamp: ");
457 result.append(timestamp);
458 result.append(", checksumAlgorithm: ");
459 result.append(checksumAlgorithm);
460 result.append(')');
461 return result.toString();
462 }
463
464 } //RevisionImpl