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.EDataTypeUniqueEList; 019 import org.eclipse.emf.ecore.util.EObjectContainmentEList; 020 import org.eclipse.emf.ecore.util.EObjectResolvingEList; 021 import org.eclipse.emf.ecore.util.InternalEList; 022 023 import com.hammurapi.config.Factory; 024 import com.hammurapi.config.Path; 025 import com.hammurapi.review.InspectorSet; 026 import com.hammurapi.review.Module; 027 import com.hammurapi.review.ReviewPackage; 028 029 /** 030 * <!-- begin-user-doc --> 031 * An implementation of the model object '<em><b>Module</b></em>'. 032 * <!-- end-user-doc --> 033 * <p> 034 * The following features are implemented: 035 * <ul> 036 * <li>{@link com.hammurapi.review.impl.ModuleImpl#getInspectorSet <em>Inspector Set</em>}</li> 037 * <li>{@link com.hammurapi.review.impl.ModuleImpl#getName <em>Name</em>}</li> 038 * <li>{@link com.hammurapi.review.impl.ModuleImpl#getDescription <em>Description</em>}</li> 039 * <li>{@link com.hammurapi.review.impl.ModuleImpl#getSource <em>Source</em>}</li> 040 * <li>{@link com.hammurapi.review.impl.ModuleImpl#getClassPath <em>Class Path</em>}</li> 041 * <li>{@link com.hammurapi.review.impl.ModuleImpl#getModel <em>Model</em>}</li> 042 * </ul> 043 * </p> 044 * 045 * @generated 046 */ 047 public class ModuleImpl extends EObjectImpl implements Module { 048 /** 049 * The cached value of the '{@link #getInspectorSet() <em>Inspector Set</em>}' reference list. 050 * <!-- begin-user-doc --> 051 * <!-- end-user-doc --> 052 * @see #getInspectorSet() 053 * @generated 054 * @ordered 055 */ 056 protected EList<InspectorSet> inspectorSet; 057 058 /** 059 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 060 * <!-- begin-user-doc --> 061 * <!-- end-user-doc --> 062 * @see #getName() 063 * @generated 064 * @ordered 065 */ 066 protected static final String NAME_EDEFAULT = null; 067 068 /** 069 * The cached value of the '{@link #getName() <em>Name</em>}' attribute. 070 * <!-- begin-user-doc --> 071 * <!-- end-user-doc --> 072 * @see #getName() 073 * @generated 074 * @ordered 075 */ 076 protected String name = NAME_EDEFAULT; 077 078 /** 079 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. 080 * <!-- begin-user-doc --> 081 * <!-- end-user-doc --> 082 * @see #getDescription() 083 * @generated 084 * @ordered 085 */ 086 protected static final String DESCRIPTION_EDEFAULT = null; 087 088 /** 089 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. 090 * <!-- begin-user-doc --> 091 * <!-- end-user-doc --> 092 * @see #getDescription() 093 * @generated 094 * @ordered 095 */ 096 protected String description = DESCRIPTION_EDEFAULT; 097 098 /** 099 * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference list. 100 * <!-- begin-user-doc --> 101 * <!-- end-user-doc --> 102 * @see #getSource() 103 * @generated 104 * @ordered 105 */ 106 protected EList<Factory> source; 107 108 /** 109 * The cached value of the '{@link #getClassPath() <em>Class Path</em>}' containment reference list. 110 * <!-- begin-user-doc --> 111 * <!-- end-user-doc --> 112 * @see #getClassPath() 113 * @generated 114 * @ordered 115 */ 116 protected EList<Path> classPath; 117 118 /** 119 * The cached value of the '{@link #getModel() <em>Model</em>}' attribute list. 120 * <!-- begin-user-doc --> 121 * <!-- end-user-doc --> 122 * @see #getModel() 123 * @generated 124 * @ordered 125 */ 126 protected EList<Object> model; 127 128 /** 129 * <!-- begin-user-doc --> 130 * <!-- end-user-doc --> 131 * @generated 132 */ 133 protected ModuleImpl() { 134 super(); 135 } 136 137 /** 138 * <!-- begin-user-doc --> 139 * <!-- end-user-doc --> 140 * @generated 141 */ 142 @Override 143 protected EClass eStaticClass() { 144 return ReviewPackage.Literals.MODULE; 145 } 146 147 /** 148 * <!-- begin-user-doc --> 149 * <!-- end-user-doc --> 150 * @generated 151 */ 152 public EList<InspectorSet> getInspectorSet() { 153 if (inspectorSet == null) { 154 inspectorSet = new EObjectResolvingEList<InspectorSet>(InspectorSet.class, this, ReviewPackage.MODULE__INSPECTOR_SET); 155 } 156 return inspectorSet; 157 } 158 159 /** 160 * <!-- begin-user-doc --> 161 * <!-- end-user-doc --> 162 * @generated 163 */ 164 public String getName() { 165 return name; 166 } 167 168 /** 169 * <!-- begin-user-doc --> 170 * <!-- end-user-doc --> 171 * @generated 172 */ 173 public void setName(String newName) { 174 String oldName = name; 175 name = newName; 176 if (eNotificationRequired()) 177 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.MODULE__NAME, oldName, name)); 178 } 179 180 /** 181 * <!-- begin-user-doc --> 182 * <!-- end-user-doc --> 183 * @generated 184 */ 185 public String getDescription() { 186 return description; 187 } 188 189 /** 190 * <!-- begin-user-doc --> 191 * <!-- end-user-doc --> 192 * @generated 193 */ 194 public void setDescription(String newDescription) { 195 String oldDescription = description; 196 description = newDescription; 197 if (eNotificationRequired()) 198 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.MODULE__DESCRIPTION, oldDescription, description)); 199 } 200 201 /** 202 * <!-- begin-user-doc --> 203 * <!-- end-user-doc --> 204 * @generated 205 */ 206 public EList<Factory> getSource() { 207 if (source == null) { 208 source = new EObjectContainmentEList<Factory>(Factory.class, this, ReviewPackage.MODULE__SOURCE); 209 } 210 return source; 211 } 212 213 /** 214 * <!-- begin-user-doc --> 215 * <!-- end-user-doc --> 216 * @generated 217 */ 218 public EList<Path> getClassPath() { 219 if (classPath == null) { 220 classPath = new EObjectContainmentEList<Path>(Path.class, this, ReviewPackage.MODULE__CLASS_PATH); 221 } 222 return classPath; 223 } 224 225 /** 226 * <!-- begin-user-doc --> 227 * <!-- end-user-doc --> 228 * @generated 229 */ 230 public EList<Object> getModel() { 231 if (model == null) { 232 model = new EDataTypeUniqueEList<Object>(Object.class, this, ReviewPackage.MODULE__MODEL); 233 } 234 return model; 235 } 236 237 /** 238 * <!-- begin-user-doc --> 239 * <!-- end-user-doc --> 240 * @generated 241 */ 242 @Override 243 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 244 switch (featureID) { 245 case ReviewPackage.MODULE__SOURCE: 246 return ((InternalEList<?>)getSource()).basicRemove(otherEnd, msgs); 247 case ReviewPackage.MODULE__CLASS_PATH: 248 return ((InternalEList<?>)getClassPath()).basicRemove(otherEnd, msgs); 249 } 250 return super.eInverseRemove(otherEnd, featureID, msgs); 251 } 252 253 /** 254 * <!-- begin-user-doc --> 255 * <!-- end-user-doc --> 256 * @generated 257 */ 258 @Override 259 public Object eGet(int featureID, boolean resolve, boolean coreType) { 260 switch (featureID) { 261 case ReviewPackage.MODULE__INSPECTOR_SET: 262 return getInspectorSet(); 263 case ReviewPackage.MODULE__NAME: 264 return getName(); 265 case ReviewPackage.MODULE__DESCRIPTION: 266 return getDescription(); 267 case ReviewPackage.MODULE__SOURCE: 268 return getSource(); 269 case ReviewPackage.MODULE__CLASS_PATH: 270 return getClassPath(); 271 case ReviewPackage.MODULE__MODEL: 272 return getModel(); 273 } 274 return super.eGet(featureID, resolve, coreType); 275 } 276 277 /** 278 * <!-- begin-user-doc --> 279 * <!-- end-user-doc --> 280 * @generated 281 */ 282 @SuppressWarnings("unchecked") 283 @Override 284 public void eSet(int featureID, Object newValue) { 285 switch (featureID) { 286 case ReviewPackage.MODULE__INSPECTOR_SET: 287 getInspectorSet().clear(); 288 getInspectorSet().addAll((Collection<? extends InspectorSet>)newValue); 289 return; 290 case ReviewPackage.MODULE__NAME: 291 setName((String)newValue); 292 return; 293 case ReviewPackage.MODULE__DESCRIPTION: 294 setDescription((String)newValue); 295 return; 296 case ReviewPackage.MODULE__SOURCE: 297 getSource().clear(); 298 getSource().addAll((Collection<? extends Factory>)newValue); 299 return; 300 case ReviewPackage.MODULE__CLASS_PATH: 301 getClassPath().clear(); 302 getClassPath().addAll((Collection<? extends Path>)newValue); 303 return; 304 case ReviewPackage.MODULE__MODEL: 305 getModel().clear(); 306 getModel().addAll((Collection<? extends Object>)newValue); 307 return; 308 } 309 super.eSet(featureID, newValue); 310 } 311 312 /** 313 * <!-- begin-user-doc --> 314 * <!-- end-user-doc --> 315 * @generated 316 */ 317 @Override 318 public void eUnset(int featureID) { 319 switch (featureID) { 320 case ReviewPackage.MODULE__INSPECTOR_SET: 321 getInspectorSet().clear(); 322 return; 323 case ReviewPackage.MODULE__NAME: 324 setName(NAME_EDEFAULT); 325 return; 326 case ReviewPackage.MODULE__DESCRIPTION: 327 setDescription(DESCRIPTION_EDEFAULT); 328 return; 329 case ReviewPackage.MODULE__SOURCE: 330 getSource().clear(); 331 return; 332 case ReviewPackage.MODULE__CLASS_PATH: 333 getClassPath().clear(); 334 return; 335 case ReviewPackage.MODULE__MODEL: 336 getModel().clear(); 337 return; 338 } 339 super.eUnset(featureID); 340 } 341 342 /** 343 * <!-- begin-user-doc --> 344 * <!-- end-user-doc --> 345 * @generated 346 */ 347 @Override 348 public boolean eIsSet(int featureID) { 349 switch (featureID) { 350 case ReviewPackage.MODULE__INSPECTOR_SET: 351 return inspectorSet != null && !inspectorSet.isEmpty(); 352 case ReviewPackage.MODULE__NAME: 353 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); 354 case ReviewPackage.MODULE__DESCRIPTION: 355 return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); 356 case ReviewPackage.MODULE__SOURCE: 357 return source != null && !source.isEmpty(); 358 case ReviewPackage.MODULE__CLASS_PATH: 359 return classPath != null && !classPath.isEmpty(); 360 case ReviewPackage.MODULE__MODEL: 361 return model != null && !model.isEmpty(); 362 } 363 return super.eIsSet(featureID); 364 } 365 366 /** 367 * <!-- begin-user-doc --> 368 * <!-- end-user-doc --> 369 * @generated 370 */ 371 @Override 372 public String toString() { 373 if (eIsProxy()) return super.toString(); 374 375 StringBuffer result = new StringBuffer(super.toString()); 376 result.append(" (name: "); 377 result.append(name); 378 result.append(", description: "); 379 result.append(description); 380 result.append(", model: "); 381 result.append(model); 382 result.append(')'); 383 return result.toString(); 384 } 385 386 } //ModuleImpl