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