001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.review.impl;
008    
009    import com.hammurapi.config.Named;
010    import com.hammurapi.config.Factory;
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    
018    import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
019    import org.eclipse.emf.ecore.util.EObjectResolvingEList;
020    import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
021    import org.eclipse.emf.ecore.util.EcoreUtil;
022    import org.eclipse.emf.ecore.util.InternalEList;
023    import com.hammurapi.config.impl.NamedObjectDefinitionImpl;
024    import com.hammurapi.review.Inspector;
025    import com.hammurapi.review.InspectorCategory;
026    import com.hammurapi.review.InspectorRelationship;
027    import com.hammurapi.review.InspectorSet;
028    import com.hammurapi.review.ReviewPackage;
029    import com.hammurapi.review.ToolVersion;
030    import java.util.Collection;
031    import java.util.concurrent.atomic.AtomicInteger;
032    
033    /**
034     * <!-- begin-user-doc -->
035     * An implementation of the model object '<em><b>Inspector</b></em>'.
036     * <!-- end-user-doc -->
037     * <p>
038     * The following features are implemented:
039     * <ul>
040     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getLanguageModules <em>Language Modules</em>}</li>
041     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getEnforcedBy <em>Enforced By</em>}</li>
042     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getCategory <em>Category</em>}</li>
043     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getUid <em>Uid</em>}</li>
044     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getSeverity <em>Severity</em>}</li>
045     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getMessageTemplate <em>Message Template</em>}</li>
046     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getInspectorSet <em>Inspector Set</em>}</li>
047     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getOutboundRelationships <em>Outbound Relationships</em>}</li>
048     *   <li>{@link com.hammurapi.review.impl.InspectorImpl#getInboundRelationships <em>Inbound Relationships</em>}</li>
049     * </ul>
050     * </p>
051     *
052     * @generated
053     */
054    public class InspectorImpl extends NamedObjectDefinitionImpl implements Inspector {
055            /**
056             * The cached value of the '{@link #getLanguageModules() <em>Language Modules</em>}' reference list.
057             * <!-- begin-user-doc -->
058             * <!-- end-user-doc -->
059             * @see #getLanguageModules()
060             * @generated
061             * @ordered
062             */
063            protected EList<Named> languageModules;
064    
065            /**
066             * The cached value of the '{@link #getEnforcedBy() <em>Enforced By</em>}' reference list.
067             * <!-- begin-user-doc -->
068             * <!-- end-user-doc -->
069             * @see #getEnforcedBy()
070             * @generated
071             * @ordered
072             */
073            protected EList<ToolVersion> enforcedBy;
074    
075            /**
076             * The cached value of the '{@link #getCategory() <em>Category</em>}' reference.
077             * <!-- begin-user-doc -->
078             * <!-- end-user-doc -->
079             * @see #getCategory()
080             * @generated
081             * @ordered
082             */
083            protected InspectorCategory category;
084    
085            /**
086             * The default value of the '{@link #getUid() <em>Uid</em>}' attribute.
087             * <!-- begin-user-doc -->
088             * <!-- end-user-doc -->
089             * @see #getUid()
090             * @generated
091             * @ordered
092             */
093            protected static final String UID_EDEFAULT = null;
094    
095            /**
096             * The cached value of the '{@link #getUid() <em>Uid</em>}' attribute.
097             * <!-- begin-user-doc -->
098             * <!-- end-user-doc -->
099             * @see #getUid()
100             * @generated
101             * @ordered
102             */
103            protected String uid = UID_EDEFAULT;
104    
105            /**
106             * The default value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
107             * <!-- begin-user-doc -->
108             * <!-- end-user-doc -->
109             * @see #getSeverity()
110             * @generated
111             * @ordered
112             */
113            protected static final Integer SEVERITY_EDEFAULT = null;
114    
115            /**
116             * The cached value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
117             * <!-- begin-user-doc -->
118             * <!-- end-user-doc -->
119             * @see #getSeverity()
120             * @generated
121             * @ordered
122             */
123            protected Integer severity = SEVERITY_EDEFAULT;
124    
125            /**
126             * The default value of the '{@link #getMessageTemplate() <em>Message Template</em>}' attribute.
127             * <!-- begin-user-doc -->
128             * <!-- end-user-doc -->
129             * @see #getMessageTemplate()
130             * @generated
131             * @ordered
132             */
133            protected static final String MESSAGE_TEMPLATE_EDEFAULT = null;
134    
135            /**
136             * The cached value of the '{@link #getMessageTemplate() <em>Message Template</em>}' attribute.
137             * <!-- begin-user-doc -->
138             * <!-- end-user-doc -->
139             * @see #getMessageTemplate()
140             * @generated
141             * @ordered
142             */
143            protected String messageTemplate = MESSAGE_TEMPLATE_EDEFAULT;
144    
145            /**
146             * The cached value of the '{@link #getOutboundRelationships() <em>Outbound Relationships</em>}' containment reference list.
147             * <!-- begin-user-doc -->
148             * <!-- end-user-doc -->
149             * @see #getOutboundRelationships()
150             * @generated
151             * @ordered
152             */
153            protected EList<InspectorRelationship> outboundRelationships;
154    
155            /**
156             * The cached value of the '{@link #getInboundRelationships() <em>Inbound Relationships</em>}' reference list.
157             * <!-- begin-user-doc -->
158             * <!-- end-user-doc -->
159             * @see #getInboundRelationships()
160             * @generated
161             * @ordered
162             */
163            protected EList<InspectorRelationship> inboundRelationships;
164    
165            private static AtomicInteger counter = new AtomicInteger();
166    
167            /**
168             * <!-- begin-user-doc -->
169             * <!-- end-user-doc -->
170             * @generated NOT
171             */
172            protected InspectorImpl() {
173                    super();
174                    if (getUid()==null) {
175                            setUid("INSPECTOR-"+Integer.toString(counter.incrementAndGet(), Character.MAX_RADIX)+"-"+Long.toString(System.currentTimeMillis(), Character.MAX_RADIX));
176                    }
177            }
178    
179            /**
180             * <!-- begin-user-doc -->
181             * <!-- end-user-doc -->
182             * @generated
183             */
184            @Override
185            protected EClass eStaticClass() {
186                    return ReviewPackage.Literals.INSPECTOR;
187            }
188    
189            /**
190             * <!-- begin-user-doc -->
191             * <!-- end-user-doc -->
192             * @generated
193             */
194            public EList<Named> getLanguageModules() {
195                    if (languageModules == null) {
196                            languageModules = new EObjectResolvingEList<Named>(Named.class, this, ReviewPackage.INSPECTOR__LANGUAGE_MODULES);
197                    }
198                    return languageModules;
199            }
200    
201            /**
202             * <!-- begin-user-doc -->
203             * <!-- end-user-doc -->
204             * @generated
205             */
206            public EList<ToolVersion> getEnforcedBy() {
207                    if (enforcedBy == null) {
208                            enforcedBy = new EObjectWithInverseResolvingEList.ManyInverse<ToolVersion>(ToolVersion.class, this, ReviewPackage.INSPECTOR__ENFORCED_BY, ReviewPackage.TOOL_VERSION__ENFORCES);
209                    }
210                    return enforcedBy;
211            }
212    
213            /**
214             * <!-- begin-user-doc -->
215             * <!-- end-user-doc -->
216             * @generated
217             */
218            public InspectorCategory getCategory() {
219                    if (category != null && category.eIsProxy()) {
220                            InternalEObject oldCategory = (InternalEObject)category;
221                            category = (InspectorCategory)eResolveProxy(oldCategory);
222                            if (category != oldCategory) {
223                                    if (eNotificationRequired())
224                                            eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReviewPackage.INSPECTOR__CATEGORY, oldCategory, category));
225                            }
226                    }
227                    return category;
228            }
229    
230            /**
231             * <!-- begin-user-doc -->
232             * <!-- end-user-doc -->
233             * @generated
234             */
235            public InspectorCategory basicGetCategory() {
236                    return category;
237            }
238    
239            /**
240             * <!-- begin-user-doc -->
241             * <!-- end-user-doc -->
242             * @generated
243             */
244            public NotificationChain basicSetCategory(InspectorCategory newCategory, NotificationChain msgs) {
245                    InspectorCategory oldCategory = category;
246                    category = newCategory;
247                    if (eNotificationRequired()) {
248                            ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR__CATEGORY, oldCategory, newCategory);
249                            if (msgs == null) msgs = notification; else msgs.add(notification);
250                    }
251                    return msgs;
252            }
253    
254            /**
255             * <!-- begin-user-doc -->
256             * <!-- end-user-doc -->
257             * @generated
258             */
259            public void setCategory(InspectorCategory newCategory) {
260                    if (newCategory != category) {
261                            NotificationChain msgs = null;
262                            if (category != null)
263                                    msgs = ((InternalEObject)category).eInverseRemove(this, ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS, InspectorCategory.class, msgs);
264                            if (newCategory != null)
265                                    msgs = ((InternalEObject)newCategory).eInverseAdd(this, ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS, InspectorCategory.class, msgs);
266                            msgs = basicSetCategory(newCategory, msgs);
267                            if (msgs != null) msgs.dispatch();
268                    }
269                    else if (eNotificationRequired())
270                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR__CATEGORY, newCategory, newCategory));
271            }
272    
273            /**
274             * <!-- begin-user-doc -->
275             * <!-- end-user-doc -->
276             * @generated
277             */
278            public String getUid() {
279                    return uid;
280            }
281    
282            /**
283             * <!-- begin-user-doc -->
284             * <!-- end-user-doc -->
285             * @generated
286             */
287            public void setUid(String newUid) {
288                    String oldUid = uid;
289                    uid = newUid;
290                    if (eNotificationRequired())
291                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR__UID, oldUid, uid));
292            }
293    
294            /**
295             * <!-- begin-user-doc -->
296             * <!-- end-user-doc -->
297             * @generated
298             */
299            public Integer getSeverity() {
300                    return severity;
301            }
302    
303            /**
304             * <!-- begin-user-doc -->
305             * <!-- end-user-doc -->
306             * @generated
307             */
308            public void setSeverity(Integer newSeverity) {
309                    Integer oldSeverity = severity;
310                    severity = newSeverity;
311                    if (eNotificationRequired())
312                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR__SEVERITY, oldSeverity, severity));
313            }
314    
315            /**
316             * <!-- begin-user-doc -->
317             * <!-- end-user-doc -->
318             * @generated
319             */
320            public String getMessageTemplate() {
321                    return messageTemplate;
322            }
323    
324            /**
325             * <!-- begin-user-doc -->
326             * <!-- end-user-doc -->
327             * @generated
328             */
329            public void setMessageTemplate(String newMessageTemplate) {
330                    String oldMessageTemplate = messageTemplate;
331                    messageTemplate = newMessageTemplate;
332                    if (eNotificationRequired())
333                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR__MESSAGE_TEMPLATE, oldMessageTemplate, messageTemplate));
334            }
335    
336            /**
337             * <!-- begin-user-doc -->
338             * <!-- end-user-doc -->
339             * @generated
340             */
341            public InspectorSet getInspectorSet() {
342                    if (eContainerFeatureID() != ReviewPackage.INSPECTOR__INSPECTOR_SET) return null;
343                    return (InspectorSet)eContainer();
344            }
345    
346            /**
347             * <!-- begin-user-doc -->
348             * <!-- end-user-doc -->
349             * @generated
350             */
351            public NotificationChain basicSetInspectorSet(InspectorSet newInspectorSet, NotificationChain msgs) {
352                    msgs = eBasicSetContainer((InternalEObject)newInspectorSet, ReviewPackage.INSPECTOR__INSPECTOR_SET, msgs);
353                    return msgs;
354            }
355    
356            /**
357             * <!-- begin-user-doc -->
358             * <!-- end-user-doc -->
359             * @generated
360             */
361            public void setInspectorSet(InspectorSet newInspectorSet) {
362                    if (newInspectorSet != eInternalContainer() || (eContainerFeatureID() != ReviewPackage.INSPECTOR__INSPECTOR_SET && newInspectorSet != null)) {
363                            if (EcoreUtil.isAncestor(this, newInspectorSet))
364                                    throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
365                            NotificationChain msgs = null;
366                            if (eInternalContainer() != null)
367                                    msgs = eBasicRemoveFromContainer(msgs);
368                            if (newInspectorSet != null)
369                                    msgs = ((InternalEObject)newInspectorSet).eInverseAdd(this, ReviewPackage.INSPECTOR_SET__INSPECTORS, InspectorSet.class, msgs);
370                            msgs = basicSetInspectorSet(newInspectorSet, msgs);
371                            if (msgs != null) msgs.dispatch();
372                    }
373                    else if (eNotificationRequired())
374                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.INSPECTOR__INSPECTOR_SET, newInspectorSet, newInspectorSet));
375            }
376    
377            /**
378             * <!-- begin-user-doc -->
379             * <!-- end-user-doc -->
380             * @generated
381             */
382            public EList<InspectorRelationship> getOutboundRelationships() {
383                    if (outboundRelationships == null) {
384                            outboundRelationships = new EObjectContainmentWithInverseEList<InspectorRelationship>(InspectorRelationship.class, this, ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS, ReviewPackage.INSPECTOR_RELATIONSHIP__SOURCE);
385                    }
386                    return outboundRelationships;
387            }
388    
389            /**
390             * <!-- begin-user-doc -->
391             * <!-- end-user-doc -->
392             * @generated
393             */
394            public EList<InspectorRelationship> getInboundRelationships() {
395                    if (inboundRelationships == null) {
396                            inboundRelationships = new EObjectWithInverseResolvingEList<InspectorRelationship>(InspectorRelationship.class, this, ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS, ReviewPackage.INSPECTOR_RELATIONSHIP__TARGET);
397                    }
398                    return inboundRelationships;
399            }
400    
401            /**
402             * <!-- begin-user-doc -->
403             * <!-- end-user-doc -->
404             * @generated
405             */
406            @SuppressWarnings("unchecked")
407            @Override
408            public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
409                    switch (featureID) {
410                            case ReviewPackage.INSPECTOR__ENFORCED_BY:
411                                    return ((InternalEList<InternalEObject>)(InternalEList<?>)getEnforcedBy()).basicAdd(otherEnd, msgs);
412                            case ReviewPackage.INSPECTOR__CATEGORY:
413                                    if (category != null)
414                                            msgs = ((InternalEObject)category).eInverseRemove(this, ReviewPackage.INSPECTOR_CATEGORY__INSPECTORS, InspectorCategory.class, msgs);
415                                    return basicSetCategory((InspectorCategory)otherEnd, msgs);
416                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
417                                    if (eInternalContainer() != null)
418                                            msgs = eBasicRemoveFromContainer(msgs);
419                                    return basicSetInspectorSet((InspectorSet)otherEnd, msgs);
420                            case ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS:
421                                    return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutboundRelationships()).basicAdd(otherEnd, msgs);
422                            case ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS:
423                                    return ((InternalEList<InternalEObject>)(InternalEList<?>)getInboundRelationships()).basicAdd(otherEnd, msgs);
424                    }
425                    return super.eInverseAdd(otherEnd, featureID, msgs);
426            }
427    
428            /**
429             * <!-- begin-user-doc -->
430             * <!-- end-user-doc -->
431             * @generated
432             */
433            @Override
434            public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
435                    switch (featureID) {
436                            case ReviewPackage.INSPECTOR__ENFORCED_BY:
437                                    return ((InternalEList<?>)getEnforcedBy()).basicRemove(otherEnd, msgs);
438                            case ReviewPackage.INSPECTOR__CATEGORY:
439                                    return basicSetCategory(null, msgs);
440                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
441                                    return basicSetInspectorSet(null, msgs);
442                            case ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS:
443                                    return ((InternalEList<?>)getOutboundRelationships()).basicRemove(otherEnd, msgs);
444                            case ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS:
445                                    return ((InternalEList<?>)getInboundRelationships()).basicRemove(otherEnd, msgs);
446                    }
447                    return super.eInverseRemove(otherEnd, featureID, msgs);
448            }
449    
450            /**
451             * <!-- begin-user-doc -->
452             * <!-- end-user-doc -->
453             * @generated
454             */
455            @Override
456            public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
457                    switch (eContainerFeatureID()) {
458                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
459                                    return eInternalContainer().eInverseRemove(this, ReviewPackage.INSPECTOR_SET__INSPECTORS, InspectorSet.class, msgs);
460                    }
461                    return super.eBasicRemoveFromContainerFeature(msgs);
462            }
463    
464            /**
465             * <!-- begin-user-doc -->
466             * <!-- end-user-doc -->
467             * @generated
468             */
469            @Override
470            public Object eGet(int featureID, boolean resolve, boolean coreType) {
471                    switch (featureID) {
472                            case ReviewPackage.INSPECTOR__LANGUAGE_MODULES:
473                                    return getLanguageModules();
474                            case ReviewPackage.INSPECTOR__ENFORCED_BY:
475                                    return getEnforcedBy();
476                            case ReviewPackage.INSPECTOR__CATEGORY:
477                                    if (resolve) return getCategory();
478                                    return basicGetCategory();
479                            case ReviewPackage.INSPECTOR__UID:
480                                    return getUid();
481                            case ReviewPackage.INSPECTOR__SEVERITY:
482                                    return getSeverity();
483                            case ReviewPackage.INSPECTOR__MESSAGE_TEMPLATE:
484                                    return getMessageTemplate();
485                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
486                                    return getInspectorSet();
487                            case ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS:
488                                    return getOutboundRelationships();
489                            case ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS:
490                                    return getInboundRelationships();
491                    }
492                    return super.eGet(featureID, resolve, coreType);
493            }
494    
495            /**
496             * <!-- begin-user-doc -->
497             * <!-- end-user-doc -->
498             * @generated
499             */
500            @SuppressWarnings("unchecked")
501            @Override
502            public void eSet(int featureID, Object newValue) {
503                    switch (featureID) {
504                            case ReviewPackage.INSPECTOR__LANGUAGE_MODULES:
505                                    getLanguageModules().clear();
506                                    getLanguageModules().addAll((Collection<? extends Named>)newValue);
507                                    return;
508                            case ReviewPackage.INSPECTOR__ENFORCED_BY:
509                                    getEnforcedBy().clear();
510                                    getEnforcedBy().addAll((Collection<? extends ToolVersion>)newValue);
511                                    return;
512                            case ReviewPackage.INSPECTOR__CATEGORY:
513                                    setCategory((InspectorCategory)newValue);
514                                    return;
515                            case ReviewPackage.INSPECTOR__UID:
516                                    setUid((String)newValue);
517                                    return;
518                            case ReviewPackage.INSPECTOR__SEVERITY:
519                                    setSeverity((Integer)newValue);
520                                    return;
521                            case ReviewPackage.INSPECTOR__MESSAGE_TEMPLATE:
522                                    setMessageTemplate((String)newValue);
523                                    return;
524                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
525                                    setInspectorSet((InspectorSet)newValue);
526                                    return;
527                            case ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS:
528                                    getOutboundRelationships().clear();
529                                    getOutboundRelationships().addAll((Collection<? extends InspectorRelationship>)newValue);
530                                    return;
531                            case ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS:
532                                    getInboundRelationships().clear();
533                                    getInboundRelationships().addAll((Collection<? extends InspectorRelationship>)newValue);
534                                    return;
535                    }
536                    super.eSet(featureID, newValue);
537            }
538    
539            /**
540             * <!-- begin-user-doc -->
541             * <!-- end-user-doc -->
542             * @generated
543             */
544            @Override
545            public void eUnset(int featureID) {
546                    switch (featureID) {
547                            case ReviewPackage.INSPECTOR__LANGUAGE_MODULES:
548                                    getLanguageModules().clear();
549                                    return;
550                            case ReviewPackage.INSPECTOR__ENFORCED_BY:
551                                    getEnforcedBy().clear();
552                                    return;
553                            case ReviewPackage.INSPECTOR__CATEGORY:
554                                    setCategory((InspectorCategory)null);
555                                    return;
556                            case ReviewPackage.INSPECTOR__UID:
557                                    setUid(UID_EDEFAULT);
558                                    return;
559                            case ReviewPackage.INSPECTOR__SEVERITY:
560                                    setSeverity(SEVERITY_EDEFAULT);
561                                    return;
562                            case ReviewPackage.INSPECTOR__MESSAGE_TEMPLATE:
563                                    setMessageTemplate(MESSAGE_TEMPLATE_EDEFAULT);
564                                    return;
565                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
566                                    setInspectorSet((InspectorSet)null);
567                                    return;
568                            case ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS:
569                                    getOutboundRelationships().clear();
570                                    return;
571                            case ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS:
572                                    getInboundRelationships().clear();
573                                    return;
574                    }
575                    super.eUnset(featureID);
576            }
577    
578            /**
579             * <!-- begin-user-doc -->
580             * <!-- end-user-doc -->
581             * @generated
582             */
583            @Override
584            public boolean eIsSet(int featureID) {
585                    switch (featureID) {
586                            case ReviewPackage.INSPECTOR__LANGUAGE_MODULES:
587                                    return languageModules != null && !languageModules.isEmpty();
588                            case ReviewPackage.INSPECTOR__ENFORCED_BY:
589                                    return enforcedBy != null && !enforcedBy.isEmpty();
590                            case ReviewPackage.INSPECTOR__CATEGORY:
591                                    return category != null;
592                            case ReviewPackage.INSPECTOR__UID:
593                                    return UID_EDEFAULT == null ? uid != null : !UID_EDEFAULT.equals(uid);
594                            case ReviewPackage.INSPECTOR__SEVERITY:
595                                    return SEVERITY_EDEFAULT == null ? severity != null : !SEVERITY_EDEFAULT.equals(severity);
596                            case ReviewPackage.INSPECTOR__MESSAGE_TEMPLATE:
597                                    return MESSAGE_TEMPLATE_EDEFAULT == null ? messageTemplate != null : !MESSAGE_TEMPLATE_EDEFAULT.equals(messageTemplate);
598                            case ReviewPackage.INSPECTOR__INSPECTOR_SET:
599                                    return getInspectorSet() != null;
600                            case ReviewPackage.INSPECTOR__OUTBOUND_RELATIONSHIPS:
601                                    return outboundRelationships != null && !outboundRelationships.isEmpty();
602                            case ReviewPackage.INSPECTOR__INBOUND_RELATIONSHIPS:
603                                    return inboundRelationships != null && !inboundRelationships.isEmpty();
604                    }
605                    return super.eIsSet(featureID);
606            }
607    
608            /**
609             * <!-- begin-user-doc -->
610             * <!-- end-user-doc -->
611             * @generated
612             */
613            @Override
614            public String toString() {
615                    if (eIsProxy()) return super.toString();
616    
617                    StringBuffer result = new StringBuffer(super.toString());
618                    result.append(" (uid: ");
619                    result.append(uid);
620                    result.append(", severity: ");
621                    result.append(severity);
622                    result.append(", messageTemplate: ");
623                    result.append(messageTemplate);
624                    result.append(')');
625                    return result.toString();
626            }
627    
628    } //InspectorImpl