/** */ package exhaustive.impl; import exhaustive.AbstractTest; import exhaustive.AttributesTest; import exhaustive.ExhaustivePackage; import exhaustive.GenericTest; import exhaustive.MultipleSuperTest; import exhaustive.OperationsTest; import exhaustive.ReferencesTest; import java.util.Collection; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EObjectResolvingEList; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>References Test</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link exhaustive.impl.ReferencesTestImpl#getChangeableYes <em>Changeable Yes</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getChangeableNo <em>Changeable No</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getContainmentYes <em>Containment Yes</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getReferenceToGenerics <em>Reference To Generics</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getOpposite1 <em>Opposite1</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getOrderedFalse <em>Ordered False</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getResolveProxiesFalse <em>Resolve Proxies False</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getTransientTrue <em>Transient True</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getUniqueFalse <em>Unique False</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getUnsettableTrue <em>Unsettable True</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getVolatileTrue <em>Volatile True</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getDerivedYes <em>Derived Yes</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getUpperBoundN <em>Upper Bound N</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getUpperBound2 <em>Upper Bound2</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getLowerBound1 <em>Lower Bound1</em>}</li> * <li>{@link exhaustive.impl.ReferencesTestImpl#getLowerBound2 <em>Lower Bound2</em>}</li> * </ul> * </p> * * @generated */ public class ReferencesTestImpl extends AbstractTestImpl implements ReferencesTest { /** * The cached value of the '{@link #getChangeableYes() <em>Changeable Yes</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getChangeableYes() * @generated * @ordered */ protected AbstractTest changeableYes; /** * The cached value of the '{@link #getChangeableNo() <em>Changeable No</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getChangeableNo() * @generated * @ordered */ protected AbstractTest changeableNo; /** * The cached value of the '{@link #getContainmentYes() <em>Containment Yes</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getContainmentYes() * @generated * @ordered */ protected MultipleSuperTest containmentYes; /** * The cached value of the '{@link #getReferenceToGenerics() <em>Reference To Generics</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getReferenceToGenerics() * @generated * @ordered */ protected GenericTest<AbstractTest, OperationsTest> referenceToGenerics; /** * The cached value of the '{@link #getOpposite1() <em>Opposite1</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOpposite1() * @generated * @ordered */ protected AttributesTest opposite1; /** * The cached value of the '{@link #getOrderedFalse() <em>Ordered False</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOrderedFalse() * @generated * @ordered */ protected AttributesTest orderedFalse; /** * The cached value of the '{@link #getResolveProxiesFalse() <em>Resolve Proxies False</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getResolveProxiesFalse() * @generated * @ordered */ protected AttributesTest resolveProxiesFalse; /** * The cached value of the '{@link #getTransientTrue() <em>Transient True</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTransientTrue() * @generated * @ordered */ protected AttributesTest transientTrue; /** * The cached value of the '{@link #getUniqueFalse() <em>Unique False</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUniqueFalse() * @generated * @ordered */ protected AttributesTest uniqueFalse; /** * The cached value of the '{@link #getUnsettableTrue() <em>Unsettable True</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUnsettableTrue() * @generated * @ordered */ protected AttributesTest unsettableTrue; /** * This is true if the Unsettable True reference has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean unsettableTrueESet; /** * The cached value of the '{@link #getDerivedYes() <em>Derived Yes</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDerivedYes() * @generated * @ordered */ protected AttributesTest derivedYes; /** * The cached value of the '{@link #getUpperBoundN() <em>Upper Bound N</em>}' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUpperBoundN() * @generated * @ordered */ protected EList<AttributesTest> upperBoundN; /** * The cached value of the '{@link #getUpperBound2() <em>Upper Bound2</em>}' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUpperBound2() * @generated * @ordered */ protected EList<AttributesTest> upperBound2; /** * The cached value of the '{@link #getLowerBound1() <em>Lower Bound1</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLowerBound1() * @generated * @ordered */ protected AttributesTest lowerBound1; /** * The cached value of the '{@link #getLowerBound2() <em>Lower Bound2</em>}' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLowerBound2() * @generated * @ordered */ protected EList<AttributesTest> lowerBound2; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ReferencesTestImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return ExhaustivePackage.Literals.REFERENCES_TEST; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AbstractTest getChangeableYes() { if (changeableYes != null && changeableYes.eIsProxy()) { InternalEObject oldChangeableYes = (InternalEObject)changeableYes; changeableYes = (AbstractTest)eResolveProxy(oldChangeableYes); if (changeableYes != oldChangeableYes) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_YES, oldChangeableYes, changeableYes)); } } return changeableYes; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AbstractTest basicGetChangeableYes() { return changeableYes; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setChangeableYes(AbstractTest newChangeableYes) { AbstractTest oldChangeableYes = changeableYes; changeableYes = newChangeableYes; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_YES, oldChangeableYes, changeableYes)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AbstractTest getChangeableNo() { if (changeableNo != null && changeableNo.eIsProxy()) { InternalEObject oldChangeableNo = (InternalEObject)changeableNo; changeableNo = (AbstractTest)eResolveProxy(oldChangeableNo); if (changeableNo != oldChangeableNo) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_NO, oldChangeableNo, changeableNo)); } } return changeableNo; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AbstractTest basicGetChangeableNo() { return changeableNo; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public MultipleSuperTest getContainmentYes() { return containmentYes; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NotificationChain basicSetContainmentYes(MultipleSuperTest newContainmentYes, NotificationChain msgs) { MultipleSuperTest oldContainmentYes = containmentYes; containmentYes = newContainmentYes; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES, oldContainmentYes, newContainmentYes); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setContainmentYes(MultipleSuperTest newContainmentYes) { if (newContainmentYes != containmentYes) { NotificationChain msgs = null; if (containmentYes != null) msgs = ((InternalEObject)containmentYes).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES, null, msgs); if (newContainmentYes != null) msgs = ((InternalEObject)newContainmentYes).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES, null, msgs); msgs = basicSetContainmentYes(newContainmentYes, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES, newContainmentYes, newContainmentYes)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @SuppressWarnings("unchecked") public GenericTest<AbstractTest, OperationsTest> getReferenceToGenerics() { if (referenceToGenerics != null && referenceToGenerics.eIsProxy()) { InternalEObject oldReferenceToGenerics = (InternalEObject)referenceToGenerics; referenceToGenerics = (GenericTest<AbstractTest, OperationsTest>)eResolveProxy(oldReferenceToGenerics); if (referenceToGenerics != oldReferenceToGenerics) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__REFERENCE_TO_GENERICS, oldReferenceToGenerics, referenceToGenerics)); } } return referenceToGenerics; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GenericTest<AbstractTest, OperationsTest> basicGetReferenceToGenerics() { return referenceToGenerics; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setReferenceToGenerics(GenericTest<AbstractTest, OperationsTest> newReferenceToGenerics) { GenericTest<AbstractTest, OperationsTest> oldReferenceToGenerics = referenceToGenerics; referenceToGenerics = newReferenceToGenerics; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__REFERENCE_TO_GENERICS, oldReferenceToGenerics, referenceToGenerics)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getOpposite1() { if (opposite1 != null && opposite1.eIsProxy()) { InternalEObject oldOpposite1 = (InternalEObject)opposite1; opposite1 = (AttributesTest)eResolveProxy(oldOpposite1); if (opposite1 != oldOpposite1) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__OPPOSITE1, oldOpposite1, opposite1)); } } return opposite1; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetOpposite1() { return opposite1; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NotificationChain basicSetOpposite1(AttributesTest newOpposite1, NotificationChain msgs) { AttributesTest oldOpposite1 = opposite1; opposite1 = newOpposite1; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__OPPOSITE1, oldOpposite1, newOpposite1); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setOpposite1(AttributesTest newOpposite1) { if (newOpposite1 != opposite1) { NotificationChain msgs = null; if (opposite1 != null) msgs = ((InternalEObject)opposite1).eInverseRemove(this, ExhaustivePackage.ATTRIBUTES_TEST__OPPOSITE2, AttributesTest.class, msgs); if (newOpposite1 != null) msgs = ((InternalEObject)newOpposite1).eInverseAdd(this, ExhaustivePackage.ATTRIBUTES_TEST__OPPOSITE2, AttributesTest.class, msgs); msgs = basicSetOpposite1(newOpposite1, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__OPPOSITE1, newOpposite1, newOpposite1)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getOrderedFalse() { if (orderedFalse != null && orderedFalse.eIsProxy()) { InternalEObject oldOrderedFalse = (InternalEObject)orderedFalse; orderedFalse = (AttributesTest)eResolveProxy(oldOrderedFalse); if (orderedFalse != oldOrderedFalse) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__ORDERED_FALSE, oldOrderedFalse, orderedFalse)); } } return orderedFalse; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetOrderedFalse() { return orderedFalse; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setOrderedFalse(AttributesTest newOrderedFalse) { AttributesTest oldOrderedFalse = orderedFalse; orderedFalse = newOrderedFalse; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__ORDERED_FALSE, oldOrderedFalse, orderedFalse)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getResolveProxiesFalse() { return resolveProxiesFalse; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setResolveProxiesFalse(AttributesTest newResolveProxiesFalse) { AttributesTest oldResolveProxiesFalse = resolveProxiesFalse; resolveProxiesFalse = newResolveProxiesFalse; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__RESOLVE_PROXIES_FALSE, oldResolveProxiesFalse, resolveProxiesFalse)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getTransientTrue() { if (transientTrue != null && transientTrue.eIsProxy()) { InternalEObject oldTransientTrue = (InternalEObject)transientTrue; transientTrue = (AttributesTest)eResolveProxy(oldTransientTrue); if (transientTrue != oldTransientTrue) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__TRANSIENT_TRUE, oldTransientTrue, transientTrue)); } } return transientTrue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetTransientTrue() { return transientTrue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setTransientTrue(AttributesTest newTransientTrue) { AttributesTest oldTransientTrue = transientTrue; transientTrue = newTransientTrue; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__TRANSIENT_TRUE, oldTransientTrue, transientTrue)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getUniqueFalse() { if (uniqueFalse != null && uniqueFalse.eIsProxy()) { InternalEObject oldUniqueFalse = (InternalEObject)uniqueFalse; uniqueFalse = (AttributesTest)eResolveProxy(oldUniqueFalse); if (uniqueFalse != oldUniqueFalse) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__UNIQUE_FALSE, oldUniqueFalse, uniqueFalse)); } } return uniqueFalse; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetUniqueFalse() { return uniqueFalse; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUniqueFalse(AttributesTest newUniqueFalse) { AttributesTest oldUniqueFalse = uniqueFalse; uniqueFalse = newUniqueFalse; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__UNIQUE_FALSE, oldUniqueFalse, uniqueFalse)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getUnsettableTrue() { if (unsettableTrue != null && unsettableTrue.eIsProxy()) { InternalEObject oldUnsettableTrue = (InternalEObject)unsettableTrue; unsettableTrue = (AttributesTest)eResolveProxy(oldUnsettableTrue); if (unsettableTrue != oldUnsettableTrue) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE, oldUnsettableTrue, unsettableTrue)); } } return unsettableTrue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetUnsettableTrue() { return unsettableTrue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUnsettableTrue(AttributesTest newUnsettableTrue) { AttributesTest oldUnsettableTrue = unsettableTrue; unsettableTrue = newUnsettableTrue; boolean oldUnsettableTrueESet = unsettableTrueESet; unsettableTrueESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE, oldUnsettableTrue, unsettableTrue, !oldUnsettableTrueESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetUnsettableTrue() { AttributesTest oldUnsettableTrue = unsettableTrue; boolean oldUnsettableTrueESet = unsettableTrueESet; unsettableTrue = null; unsettableTrueESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE, oldUnsettableTrue, null, oldUnsettableTrueESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetUnsettableTrue() { return unsettableTrueESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getVolatileTrue() { AttributesTest volatileTrue = basicGetVolatileTrue(); return volatileTrue != null && volatileTrue.eIsProxy() ? (AttributesTest)eResolveProxy((InternalEObject)volatileTrue) : volatileTrue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetVolatileTrue() { // TODO: implement this method to return the 'Volatile True' reference // -> do not perform proxy resolution // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setVolatileTrue(AttributesTest newVolatileTrue) { // TODO: implement this method to set the 'Volatile True' reference // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getDerivedYes() { if (derivedYes != null && derivedYes.eIsProxy()) { InternalEObject oldDerivedYes = (InternalEObject)derivedYes; derivedYes = (AttributesTest)eResolveProxy(oldDerivedYes); if (derivedYes != oldDerivedYes) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__DERIVED_YES, oldDerivedYes, derivedYes)); } } return derivedYes; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetDerivedYes() { return derivedYes; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDerivedYes(AttributesTest newDerivedYes) { AttributesTest oldDerivedYes = derivedYes; derivedYes = newDerivedYes; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__DERIVED_YES, oldDerivedYes, derivedYes)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<AttributesTest> getUpperBoundN() { if (upperBoundN == null) { upperBoundN = new EObjectResolvingEList<AttributesTest>(AttributesTest.class, this, ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND_N); } return upperBoundN; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<AttributesTest> getUpperBound2() { if (upperBound2 == null) { upperBound2 = new EObjectResolvingEList<AttributesTest>(AttributesTest.class, this, ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND2); } return upperBound2; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest getLowerBound1() { if (lowerBound1 != null && lowerBound1.eIsProxy()) { InternalEObject oldLowerBound1 = (InternalEObject)lowerBound1; lowerBound1 = (AttributesTest)eResolveProxy(oldLowerBound1); if (lowerBound1 != oldLowerBound1) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND1, oldLowerBound1, lowerBound1)); } } return lowerBound1; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AttributesTest basicGetLowerBound1() { return lowerBound1; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setLowerBound1(AttributesTest newLowerBound1) { AttributesTest oldLowerBound1 = lowerBound1; lowerBound1 = newLowerBound1; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND1, oldLowerBound1, lowerBound1)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<AttributesTest> getLowerBound2() { if (lowerBound2 == null) { lowerBound2 = new EObjectResolvingEList<AttributesTest>(AttributesTest.class, this, ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND2); } return lowerBound2; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case ExhaustivePackage.REFERENCES_TEST__OPPOSITE1: if (opposite1 != null) msgs = ((InternalEObject)opposite1).eInverseRemove(this, ExhaustivePackage.ATTRIBUTES_TEST__OPPOSITE2, AttributesTest.class, msgs); return basicSetOpposite1((AttributesTest)otherEnd, msgs); } return super.eInverseAdd(otherEnd, featureID, msgs); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES: return basicSetContainmentYes(null, msgs); case ExhaustivePackage.REFERENCES_TEST__OPPOSITE1: return basicSetOpposite1(null, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_YES: if (resolve) return getChangeableYes(); return basicGetChangeableYes(); case ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_NO: if (resolve) return getChangeableNo(); return basicGetChangeableNo(); case ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES: return getContainmentYes(); case ExhaustivePackage.REFERENCES_TEST__REFERENCE_TO_GENERICS: if (resolve) return getReferenceToGenerics(); return basicGetReferenceToGenerics(); case ExhaustivePackage.REFERENCES_TEST__OPPOSITE1: if (resolve) return getOpposite1(); return basicGetOpposite1(); case ExhaustivePackage.REFERENCES_TEST__ORDERED_FALSE: if (resolve) return getOrderedFalse(); return basicGetOrderedFalse(); case ExhaustivePackage.REFERENCES_TEST__RESOLVE_PROXIES_FALSE: return getResolveProxiesFalse(); case ExhaustivePackage.REFERENCES_TEST__TRANSIENT_TRUE: if (resolve) return getTransientTrue(); return basicGetTransientTrue(); case ExhaustivePackage.REFERENCES_TEST__UNIQUE_FALSE: if (resolve) return getUniqueFalse(); return basicGetUniqueFalse(); case ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE: if (resolve) return getUnsettableTrue(); return basicGetUnsettableTrue(); case ExhaustivePackage.REFERENCES_TEST__VOLATILE_TRUE: if (resolve) return getVolatileTrue(); return basicGetVolatileTrue(); case ExhaustivePackage.REFERENCES_TEST__DERIVED_YES: if (resolve) return getDerivedYes(); return basicGetDerivedYes(); case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND_N: return getUpperBoundN(); case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND2: return getUpperBound2(); case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND1: if (resolve) return getLowerBound1(); return basicGetLowerBound1(); case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND2: return getLowerBound2(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_YES: setChangeableYes((AbstractTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES: setContainmentYes((MultipleSuperTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__REFERENCE_TO_GENERICS: setReferenceToGenerics((GenericTest<AbstractTest, OperationsTest>)newValue); return; case ExhaustivePackage.REFERENCES_TEST__OPPOSITE1: setOpposite1((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__ORDERED_FALSE: setOrderedFalse((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__RESOLVE_PROXIES_FALSE: setResolveProxiesFalse((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__TRANSIENT_TRUE: setTransientTrue((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__UNIQUE_FALSE: setUniqueFalse((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE: setUnsettableTrue((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__VOLATILE_TRUE: setVolatileTrue((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__DERIVED_YES: setDerivedYes((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND_N: getUpperBoundN().clear(); getUpperBoundN().addAll((Collection<? extends AttributesTest>)newValue); return; case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND2: getUpperBound2().clear(); getUpperBound2().addAll((Collection<? extends AttributesTest>)newValue); return; case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND1: setLowerBound1((AttributesTest)newValue); return; case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND2: getLowerBound2().clear(); getLowerBound2().addAll((Collection<? extends AttributesTest>)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_YES: setChangeableYes((AbstractTest)null); return; case ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES: setContainmentYes((MultipleSuperTest)null); return; case ExhaustivePackage.REFERENCES_TEST__REFERENCE_TO_GENERICS: setReferenceToGenerics((GenericTest<AbstractTest, OperationsTest>)null); return; case ExhaustivePackage.REFERENCES_TEST__OPPOSITE1: setOpposite1((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__ORDERED_FALSE: setOrderedFalse((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__RESOLVE_PROXIES_FALSE: setResolveProxiesFalse((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__TRANSIENT_TRUE: setTransientTrue((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__UNIQUE_FALSE: setUniqueFalse((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE: unsetUnsettableTrue(); return; case ExhaustivePackage.REFERENCES_TEST__VOLATILE_TRUE: setVolatileTrue((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__DERIVED_YES: setDerivedYes((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND_N: getUpperBoundN().clear(); return; case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND2: getUpperBound2().clear(); return; case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND1: setLowerBound1((AttributesTest)null); return; case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND2: getLowerBound2().clear(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_YES: return changeableYes != null; case ExhaustivePackage.REFERENCES_TEST__CHANGEABLE_NO: return changeableNo != null; case ExhaustivePackage.REFERENCES_TEST__CONTAINMENT_YES: return containmentYes != null; case ExhaustivePackage.REFERENCES_TEST__REFERENCE_TO_GENERICS: return referenceToGenerics != null; case ExhaustivePackage.REFERENCES_TEST__OPPOSITE1: return opposite1 != null; case ExhaustivePackage.REFERENCES_TEST__ORDERED_FALSE: return orderedFalse != null; case ExhaustivePackage.REFERENCES_TEST__RESOLVE_PROXIES_FALSE: return resolveProxiesFalse != null; case ExhaustivePackage.REFERENCES_TEST__TRANSIENT_TRUE: return transientTrue != null; case ExhaustivePackage.REFERENCES_TEST__UNIQUE_FALSE: return uniqueFalse != null; case ExhaustivePackage.REFERENCES_TEST__UNSETTABLE_TRUE: return isSetUnsettableTrue(); case ExhaustivePackage.REFERENCES_TEST__VOLATILE_TRUE: return basicGetVolatileTrue() != null; case ExhaustivePackage.REFERENCES_TEST__DERIVED_YES: return derivedYes != null; case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND_N: return upperBoundN != null && !upperBoundN.isEmpty(); case ExhaustivePackage.REFERENCES_TEST__UPPER_BOUND2: return upperBound2 != null && !upperBound2.isEmpty(); case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND1: return lowerBound1 != null; case ExhaustivePackage.REFERENCES_TEST__LOWER_BOUND2: return lowerBound2 != null && !lowerBound2.isEmpty(); } return super.eIsSet(featureID); } } //ReferencesTestImpl