public EObject create(EClass eClass) { InternalEObject result = new EStoreEObjectImpl(eClass, this); return result; } }
@Override public int eContainerFeatureID() { if (eContainer == EUNINITIALIZED_CONTAINER) { eInitializeContainer(); } return eContainerFeatureID; }
public Object dynamicGet(int dynamicFeatureID) { Object result = eSettings[dynamicFeatureID]; if (result == null) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (!eStructuralFeature.isTransient()) { if (FeatureMapUtil.isFeatureMap(eStructuralFeature)) { eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature); } else if (eStructuralFeature.isMany()) { eSettings[dynamicFeatureID] = result = createList(eStructuralFeature); } else { result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX); if (eIsCaching()) { eSettings[dynamicFeatureID] = result; } } } } return result; }
@Override protected boolean eDynamicIsSet(int dynamicFeatureID, EStructuralFeature eFeature) { return dynamicFeatureID < 0 ? eOpenIsSet(eFeature) : eFeature.isTransient() ? eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), dynamicFeatureID) : eStore().isSet(this, eFeature); }
public void dynamicSet(int dynamicFeatureID, Object value) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (eStructuralFeature.isTransient()) { eSettings[dynamicFeatureID] = value; } else { eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value); if (eIsCaching()) { eSettings[dynamicFeatureID] = value; } } }
@Override protected EStructuralFeature.Internal.DynamicValueHolder eSettings() { if (eSettings == null) { int size = eClass().getFeatureCount() - eStaticFeatureCount(); eSettings = size == 0 ? ENO_SETTINGS : new Object [size]; } return this; }
public void dynamicUnset(int dynamicFeatureID) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (eStructuralFeature.isTransient()) { eSettings[dynamicFeatureID] = null; } else { eStore().unset(this, eStructuralFeature); eSettings[dynamicFeatureID] = null; } }
protected void eInitializeContainer() { eContainer = eStore().getContainer(this); if (eContainer != null) { EStructuralFeature eContainingFeature = eStore().getContainingFeature(this); if (eContainingFeature instanceof EReference) { EReference eContainingReference = (EReference)eContainingFeature; EReference eOpposite = eContainingReference.getEOpposite(); if (eOpposite != null) { eContainerFeatureID = eClass().getFeatureID(eOpposite); return; } } eContainerFeatureID = EOPPOSITE_FEATURE_BASE - eContainer.eClass().getFeatureID(eContainingFeature); } }
@Override protected EList<?> createList(EStructuralFeature eStructuralFeature) { if (isMap(eStructuralFeature)) { return createMap(eStructuralFeature); } return super.createList(eStructuralFeature); }
@Override public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature) { return eClass().getFeatureID(eStructuralFeature); }
/** * Creates a store-based EObject. */ public EStoreEObjectImpl(InternalEObject.EStore eStore) { super(); eSetStore(eStore); eContainer = EUNINITIALIZED_CONTAINER; }
/** * Creates a store-based EObject. */ public EStoreEObjectImpl(EClass eClass) { super(); eSetClass(eClass); eContainer = EUNINITIALIZED_CONTAINER; }
public Object dynamicGet(int dynamicFeatureID) { Object result = eSettings[dynamicFeatureID]; if (result == null) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (!eStructuralFeature.isTransient()) { if (FeatureMapUtil.isFeatureMap(eStructuralFeature)) { eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature); } else if (eStructuralFeature.isMany()) { eSettings[dynamicFeatureID] = result = createList(eStructuralFeature); } else { result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX); if (eIsCaching()) { eSettings[dynamicFeatureID] = result; } } } } return result; }
@Override protected boolean eDynamicIsSet(int dynamicFeatureID, EStructuralFeature eFeature) { return dynamicFeatureID < 0 ? eOpenIsSet(eFeature) : eFeature.isTransient() ? eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), dynamicFeatureID) : eStore().isSet(this, eFeature); }
public void dynamicSet(int dynamicFeatureID, Object value) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (eStructuralFeature.isTransient()) { eSettings[dynamicFeatureID] = value; } else { eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value); if (eIsCaching()) { eSettings[dynamicFeatureID] = value; } } }
@Override protected EStructuralFeature.Internal.DynamicValueHolder eSettings() { if (eSettings == null) { int size = eClass().getFeatureCount() - eStaticFeatureCount(); eSettings = size == 0 ? ENO_SETTINGS : new Object [size]; } return this; }
public void dynamicUnset(int dynamicFeatureID) { EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID); if (eStructuralFeature.isTransient()) { eSettings[dynamicFeatureID] = null; } else { eStore().unset(this, eStructuralFeature); eSettings[dynamicFeatureID] = null; } }
protected void eInitializeContainer() { eContainer = eStore().getContainer(this); if (eContainer != null) { EStructuralFeature eContainingFeature = eStore().getContainingFeature(this); if (eContainingFeature instanceof EReference) { EReference eContainingReference = (EReference)eContainingFeature; EReference eOpposite = eContainingReference.getEOpposite(); if (eOpposite != null) { eContainerFeatureID = eClass().getFeatureID(eOpposite); return; } } eContainerFeatureID = EOPPOSITE_FEATURE_BASE - eContainer.eClass().getFeatureID(eContainingFeature); } }
@Override public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature) { return eClass().getFeatureID(eStructuralFeature); }