001 /**
002 * <copyright>
003 * </copyright>
004 *
005 * $Id$
006 */
007 package com.hammurapi.review.impl;
008
009 import com.hammurapi.party.PartyPackage;
010 import com.hammurapi.party.Role;
011 import com.hammurapi.review.Inspector;
012 import java.util.Collection;
013 import java.util.concurrent.atomic.AtomicInteger;
014
015 import org.eclipse.emf.common.notify.Notification;
016 import org.eclipse.emf.common.notify.NotificationChain;
017 import org.eclipse.emf.common.util.EList;
018 import org.eclipse.emf.ecore.EClass;
019 import org.eclipse.emf.ecore.InternalEObject;
020 import org.eclipse.emf.ecore.impl.ENotificationImpl;
021 import org.eclipse.emf.ecore.impl.EObjectImpl;
022 import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
023 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
024 import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
025 import org.eclipse.emf.ecore.util.EcoreUtil;
026 import org.eclipse.emf.ecore.util.InternalEList;
027
028 import com.hammurapi.review.InspectorCategory;
029 import com.hammurapi.review.ReviewPackage;
030 import com.hammurapi.review.ToolVersion;
031
032 /**
033 * <!-- begin-user-doc -->
034 * An implementation of the model object '<em><b>Inspector Category</b></em>'.
035 * <!-- end-user-doc -->
036 * <p>
037 * The following features are implemented:
038 * <ul>
039 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getRoles <em>Roles</em>}</li>
040 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getUid <em>Uid</em>}</li>
041 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getName <em>Name</em>}</li>
042 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getDescription <em>Description</em>}</li>
043 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getReferences <em>References</em>}</li>
044 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getHomePage <em>Home Page</em>}</li>
045 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getSubCategory <em>Sub Category</em>}</li>
046 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getParentCategory <em>Parent Category</em>}</li>
047 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getExternalParent <em>External Parent</em>}</li>
048 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getGovernedBy <em>Governed By</em>}</li>
049 * <li>{@link com.hammurapi.review.impl.InspectorCategoryImpl#getInspectors <em>Inspectors</em>}</li>
050 * </ul>
051 * </p>
052 *
053 * @generated
054 */
055 public class InspectorCategoryImpl extends EObjectImpl implements InspectorCategory {
056 /**
057 * The cached value of the '{@link #getRoles() <em>Roles</em>}' containment reference list.
058 * <!-- begin-user-doc -->
059 * <!-- end-user-doc -->
060 * @see #getRoles()
061 * @generated
062 * @ordered
063 */
064 protected EList<Role> roles;
065
066 /**
067 * The default value of the '{@link #getUid() <em>Uid</em>}' attribute.
068 * <!-- begin-user-doc -->
069 * <!-- end-user-doc -->
070 * @see #getUid()
071 * @generated
072 * @ordered
073 */
074 protected static final String UID_EDEFAULT = null;
075
076 /**
077 * The cached value of the '{@link #getUid() <em>Uid</em>}' attribute.
078 * <!-- begin-user-doc -->
079 * <!-- end-user-doc -->
080 * @see #getUid()
081 * @generated
082 * @ordered
083 */
084 protected String uid = UID_EDEFAULT;
085
086 /**
087 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
088 * <!-- begin-user-doc -->
089 * <!-- end-user-doc -->
090 * @see #getName()
091 * @generated
092 * @ordered
093 */
094 protected static final String NAME_EDEFAULT = null;
095
096 /**
097 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
098 * <!-- begin-user-doc -->
099 * <!-- end-user-doc -->
100 * @see #getName()
101 * @generated
102 * @ordered
103 */
104 protected String name = NAME_EDEFAULT;
105
106 /**
107 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @see #getDescription()
111 * @generated
112 * @ordered
113 */
114 protected static final String DESCRIPTION_EDEFAULT = null;
115
116 /**
117 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #getDescription()
121 * @generated
122 * @ordered
123 */
124 protected String description = DESCRIPTION_EDEFAULT;
125
126 /**
127 * The cached value of the '{@link #getReferences() <em>References</em>}' attribute list.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @see #getReferences()
131 * @generated
132 * @ordered
133 */
134 protected EList<String> references;
135
136 /**
137 * The default value of the '{@link #getHomePage() <em>Home Page</em>}' attribute.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @see #getHomePage()
141 * @generated
142 * @ordered
143 */
144 protected static final String HOME_PAGE_EDEFAULT = null;
145
146 /**
147 * The cached value of the '{@link #getHomePage() <em>Home Page</em>}' attribute.
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @see #getHomePage()
151 * @generated
152 * @ordered
153 */
154 protected String homePage = HOME_PAGE_EDEFAULT;
155
156 /**
157 * The cached value of the '{@link #getSubCategory() <em>Sub Category</em>}' containment reference list.
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @see #getSubCategory()
161 * @generated
162 * @ordered
163 */
164 protected EList<InspectorCategory> subCategory;
165
166 /**
167 * The cached value of the '{@link #getExternalParent() <em>External Parent</em>}' reference.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @see #getExternalParent()
171 * @generated
172 * @ordered
173 */
174 protected InspectorCategory externalParent;
175
176 /**
177 * The cached value of the '{@link #getGovernedBy() <em>Governed By</em>}' reference list.
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @see #getGovernedBy()
181 * @generated
182 * @ordered
183 */
184 protected EList<ToolVersion> governedBy;
185
186 /**
187 * The cached value of the '{@link #getInspectors() <em>Inspectors</em>}' reference list.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @see #getInspectors()
191 * @generated
192 * @ordered
193 */
194 protected EList<Inspector> inspectors;
195
196 private static AtomicInteger counter = new AtomicInteger();
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated NOT
202 */
203 protected InspectorCategoryImpl() {
204 super();
205 if (getUid()==null) {
206 setUid("CAT-"+Integer.toString(counter.incrementAndGet(), Character.MAX_RADIX)+"-"+Long.toString(System.currentTimeMillis(), Character.MAX_RADIX));
207 }
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 protected EClass eStaticClass() {
217 return ReviewPackage.Literals.INSPECTOR_CATEGORY;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 public EList<Role> getRoles() {
226 if (roles == null) {
227 roles = new EObjectContainmentWithInverseEList<Role>(Role.class, this, ReviewPackage.INSPECTOR_CATEGORY__ROLES, PartyPackage.ROLE__OWNER);
228 }
229 return roles;
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 public String getUid() {
238 return uid;
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 public void setUid(String newUid) {
247 String oldUid = uid;
248 uid = newUid;
249 if (eNotificationRequired())
250 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR_CATEGORY__UID, oldUid, uid));
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 public String getName() {
259 return name;
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 public void setName(String newName) {
268 String oldName = name;
269 name = newName;
270 if (eNotificationRequired())
271 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR_CATEGORY__NAME, oldName, name));
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 public String getDescription() {
280 return description;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 public void setDescription(String newDescription) {
289 String oldDescription = description;
290 description = newDescription;
291 if (eNotificationRequired())
292 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR_CATEGORY__DESCRIPTION, oldDescription, description));
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 public EList<String> getReferences() {
301 if (references == null) {
302 references = new EDataTypeUniqueEList<String>(String.class, this, ReviewPackage.INSPECTOR_CATEGORY__REFERENCES);
303 }
304 return references;
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 public String getHomePage() {
313 return homePage;
314 }
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 public void setHomePage(String newHomePage) {
322 String oldHomePage = homePage;
323 homePage = newHomePage;
324 if (eNotificationRequired())
325 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR_CATEGORY__HOME_PAGE, oldHomePage, homePage));
326 }
327
328 /**
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 */
333 public EList<InspectorCategory> getSubCategory() {
334 if (subCategory == null) {
335 subCategory = new EObjectContainmentWithInverseEList<InspectorCategory>(InspectorCategory.class, this, ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY, ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY);
336 }
337 return subCategory;
338 }
339
340 /**
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 */
345 public InspectorCategory getParentCategory() {
346 if (eContainerFeatureID() != ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY) return null;
347 return (InspectorCategory)eContainer();
348 }
349
350 /**
351 * <!-- begin-user-doc -->
352 * <!-- end-user-doc -->
353 * @generated
354 */
355 public NotificationChain basicSetParentCategory(InspectorCategory newParentCategory, NotificationChain msgs) {
356 msgs = eBasicSetContainer((InternalEObject)newParentCategory, ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY, msgs);
357 return msgs;
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 public void setParentCategory(InspectorCategory newParentCategory) {
366 if (newParentCategory != eInternalContainer() || (eContainerFeatureID() != ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY && newParentCategory != null)) {
367 if (EcoreUtil.isAncestor(this, newParentCategory))
368 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
369 NotificationChain msgs = null;
370 if (eInternalContainer() != null)
371 msgs = eBasicRemoveFromContainer(msgs);
372 if (newParentCategory != null)
373 msgs = ((InternalEObject)newParentCategory).eInverseAdd(this, ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY, InspectorCategory.class, msgs);
374 msgs = basicSetParentCategory(newParentCategory, msgs);
375 if (msgs != null) msgs.dispatch();
376 }
377 else if (eNotificationRequired())
378 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY, newParentCategory, newParentCategory));
379 }
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 public InspectorCategory getExternalParent() {
387 if (externalParent != null && externalParent.eIsProxy()) {
388 InternalEObject oldExternalParent = (InternalEObject)externalParent;
389 externalParent = (InspectorCategory)eResolveProxy(oldExternalParent);
390 if (externalParent != oldExternalParent) {
391 if (eNotificationRequired())
392 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReviewPackage.INSPECTOR_CATEGORY__EXTERNAL_PARENT, oldExternalParent, externalParent));
393 }
394 }
395 return externalParent;
396 }
397
398 /**
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 public InspectorCategory basicGetExternalParent() {
404 return externalParent;
405 }
406
407 /**
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 public void setExternalParent(InspectorCategory newExternalParent) {
413 InspectorCategory oldExternalParent = externalParent;
414 externalParent = newExternalParent;
415 if (eNotificationRequired())
416 eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR_CATEGORY__EXTERNAL_PARENT, oldExternalParent, externalParent));
417 }
418
419 /**
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 */
424 public EList<ToolVersion> getGovernedBy() {
425 if (governedBy == null) {
426 governedBy = new EObjectWithInverseResolvingEList.ManyInverse<ToolVersion>(ToolVersion.class, this, ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY, ReviewPackage.TOOL_VERSION__GOVERNS);
427 }
428 return governedBy;
429 }
430
431 /**
432 * <!-- begin-user-doc -->
433 * <!-- end-user-doc -->
434 * @generated
435 */
436 public EList<Inspector> getInspectors() {
437 if (inspectors == null) {
438 inspectors = new EObjectWithInverseResolvingEList<Inspector>(Inspector.class, this, ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS, ReviewPackage.INSPECTOR__CATEGORY);
439 }
440 return inspectors;
441 }
442
443 /**
444 * <!-- begin-user-doc -->
445 * <!-- end-user-doc -->
446 * @generated NOT
447 */
448 public String getPath() {
449 if (getParentCategory()==null) {
450 if (getExternalParent()==null) {
451 return getName();
452 }
453 return getExternalParent().getPath()+"/"+getName();
454 }
455 return getParentCategory().getPath()+"/"+getName();
456 }
457
458 /**
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @generated
462 */
463 @SuppressWarnings("unchecked")
464 @Override
465 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
466 switch (featureID) {
467 case ReviewPackage.INSPECTOR_CATEGORY__ROLES:
468 return ((InternalEList<InternalEObject>)(InternalEList<?>)getRoles()).basicAdd(otherEnd, msgs);
469 case ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY:
470 return ((InternalEList<InternalEObject>)(InternalEList<?>)getSubCategory()).basicAdd(otherEnd, msgs);
471 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
472 if (eInternalContainer() != null)
473 msgs = eBasicRemoveFromContainer(msgs);
474 return basicSetParentCategory((InspectorCategory)otherEnd, msgs);
475 case ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY:
476 return ((InternalEList<InternalEObject>)(InternalEList<?>)getGovernedBy()).basicAdd(otherEnd, msgs);
477 case ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS:
478 return ((InternalEList<InternalEObject>)(InternalEList<?>)getInspectors()).basicAdd(otherEnd, msgs);
479 }
480 return super.eInverseAdd(otherEnd, featureID, msgs);
481 }
482
483 /**
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 */
488 @Override
489 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
490 switch (featureID) {
491 case ReviewPackage.INSPECTOR_CATEGORY__ROLES:
492 return ((InternalEList<?>)getRoles()).basicRemove(otherEnd, msgs);
493 case ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY:
494 return ((InternalEList<?>)getSubCategory()).basicRemove(otherEnd, msgs);
495 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
496 return basicSetParentCategory(null, msgs);
497 case ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY:
498 return ((InternalEList<?>)getGovernedBy()).basicRemove(otherEnd, msgs);
499 case ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS:
500 return ((InternalEList<?>)getInspectors()).basicRemove(otherEnd, msgs);
501 }
502 return super.eInverseRemove(otherEnd, featureID, msgs);
503 }
504
505 /**
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @generated
509 */
510 @Override
511 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
512 switch (eContainerFeatureID()) {
513 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
514 return eInternalContainer().eInverseRemove(this, ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY, InspectorCategory.class, msgs);
515 }
516 return super.eBasicRemoveFromContainerFeature(msgs);
517 }
518
519 /**
520 * <!-- begin-user-doc -->
521 * <!-- end-user-doc -->
522 * @generated
523 */
524 @Override
525 public Object eGet(int featureID, boolean resolve, boolean coreType) {
526 switch (featureID) {
527 case ReviewPackage.INSPECTOR_CATEGORY__ROLES:
528 return getRoles();
529 case ReviewPackage.INSPECTOR_CATEGORY__UID:
530 return getUid();
531 case ReviewPackage.INSPECTOR_CATEGORY__NAME:
532 return getName();
533 case ReviewPackage.INSPECTOR_CATEGORY__DESCRIPTION:
534 return getDescription();
535 case ReviewPackage.INSPECTOR_CATEGORY__REFERENCES:
536 return getReferences();
537 case ReviewPackage.INSPECTOR_CATEGORY__HOME_PAGE:
538 return getHomePage();
539 case ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY:
540 return getSubCategory();
541 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
542 return getParentCategory();
543 case ReviewPackage.INSPECTOR_CATEGORY__EXTERNAL_PARENT:
544 if (resolve) return getExternalParent();
545 return basicGetExternalParent();
546 case ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY:
547 return getGovernedBy();
548 case ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS:
549 return getInspectors();
550 }
551 return super.eGet(featureID, resolve, coreType);
552 }
553
554 /**
555 * <!-- begin-user-doc -->
556 * <!-- end-user-doc -->
557 * @generated
558 */
559 @SuppressWarnings("unchecked")
560 @Override
561 public void eSet(int featureID, Object newValue) {
562 switch (featureID) {
563 case ReviewPackage.INSPECTOR_CATEGORY__ROLES:
564 getRoles().clear();
565 getRoles().addAll((Collection<? extends Role>)newValue);
566 return;
567 case ReviewPackage.INSPECTOR_CATEGORY__UID:
568 setUid((String)newValue);
569 return;
570 case ReviewPackage.INSPECTOR_CATEGORY__NAME:
571 setName((String)newValue);
572 return;
573 case ReviewPackage.INSPECTOR_CATEGORY__DESCRIPTION:
574 setDescription((String)newValue);
575 return;
576 case ReviewPackage.INSPECTOR_CATEGORY__REFERENCES:
577 getReferences().clear();
578 getReferences().addAll((Collection<? extends String>)newValue);
579 return;
580 case ReviewPackage.INSPECTOR_CATEGORY__HOME_PAGE:
581 setHomePage((String)newValue);
582 return;
583 case ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY:
584 getSubCategory().clear();
585 getSubCategory().addAll((Collection<? extends InspectorCategory>)newValue);
586 return;
587 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
588 setParentCategory((InspectorCategory)newValue);
589 return;
590 case ReviewPackage.INSPECTOR_CATEGORY__EXTERNAL_PARENT:
591 setExternalParent((InspectorCategory)newValue);
592 return;
593 case ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY:
594 getGovernedBy().clear();
595 getGovernedBy().addAll((Collection<? extends ToolVersion>)newValue);
596 return;
597 case ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS:
598 getInspectors().clear();
599 getInspectors().addAll((Collection<? extends Inspector>)newValue);
600 return;
601 }
602 super.eSet(featureID, newValue);
603 }
604
605 /**
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 */
610 @Override
611 public void eUnset(int featureID) {
612 switch (featureID) {
613 case ReviewPackage.INSPECTOR_CATEGORY__ROLES:
614 getRoles().clear();
615 return;
616 case ReviewPackage.INSPECTOR_CATEGORY__UID:
617 setUid(UID_EDEFAULT);
618 return;
619 case ReviewPackage.INSPECTOR_CATEGORY__NAME:
620 setName(NAME_EDEFAULT);
621 return;
622 case ReviewPackage.INSPECTOR_CATEGORY__DESCRIPTION:
623 setDescription(DESCRIPTION_EDEFAULT);
624 return;
625 case ReviewPackage.INSPECTOR_CATEGORY__REFERENCES:
626 getReferences().clear();
627 return;
628 case ReviewPackage.INSPECTOR_CATEGORY__HOME_PAGE:
629 setHomePage(HOME_PAGE_EDEFAULT);
630 return;
631 case ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY:
632 getSubCategory().clear();
633 return;
634 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
635 setParentCategory((InspectorCategory)null);
636 return;
637 case ReviewPackage.INSPECTOR_CATEGORY__EXTERNAL_PARENT:
638 setExternalParent((InspectorCategory)null);
639 return;
640 case ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY:
641 getGovernedBy().clear();
642 return;
643 case ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS:
644 getInspectors().clear();
645 return;
646 }
647 super.eUnset(featureID);
648 }
649
650 /**
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 */
655 @Override
656 public boolean eIsSet(int featureID) {
657 switch (featureID) {
658 case ReviewPackage.INSPECTOR_CATEGORY__ROLES:
659 return roles != null && !roles.isEmpty();
660 case ReviewPackage.INSPECTOR_CATEGORY__UID:
661 return UID_EDEFAULT == null ? uid != null : !UID_EDEFAULT.equals(uid);
662 case ReviewPackage.INSPECTOR_CATEGORY__NAME:
663 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
664 case ReviewPackage.INSPECTOR_CATEGORY__DESCRIPTION:
665 return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
666 case ReviewPackage.INSPECTOR_CATEGORY__REFERENCES:
667 return references != null && !references.isEmpty();
668 case ReviewPackage.INSPECTOR_CATEGORY__HOME_PAGE:
669 return HOME_PAGE_EDEFAULT == null ? homePage != null : !HOME_PAGE_EDEFAULT.equals(homePage);
670 case ReviewPackage.INSPECTOR_CATEGORY__SUB_CATEGORY:
671 return subCategory != null && !subCategory.isEmpty();
672 case ReviewPackage.INSPECTOR_CATEGORY__PARENT_CATEGORY:
673 return getParentCategory() != null;
674 case ReviewPackage.INSPECTOR_CATEGORY__EXTERNAL_PARENT:
675 return externalParent != null;
676 case ReviewPackage.INSPECTOR_CATEGORY__GOVERNED_BY:
677 return governedBy != null && !governedBy.isEmpty();
678 case ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS:
679 return inspectors != null && !inspectors.isEmpty();
680 }
681 return super.eIsSet(featureID);
682 }
683
684 /**
685 * <!-- begin-user-doc -->
686 * <!-- end-user-doc -->
687 * @generated
688 */
689 @Override
690 public String toString() {
691 if (eIsProxy()) return super.toString();
692
693 StringBuffer result = new StringBuffer(super.toString());
694 result.append(" (uid: ");
695 result.append(uid);
696 result.append(", name: ");
697 result.append(name);
698 result.append(", description: ");
699 result.append(description);
700 result.append(", references: ");
701 result.append(references);
702 result.append(", homePage: ");
703 result.append(homePage);
704 result.append(')');
705 return result.toString();
706 }
707
708 } //InspectorCategoryImpl