## org.eclipse.emf.ecore
Interface InternalEObject

All Superinterfaces:
  EObject, Notifier

All Known Subinterfaces:
  EStructuralFeature.Internal

All Known Implementing Classes:
  AnyTypeImpl, BasicEObjectImpl, BasicFeatureMap.FeatureMapEObjectImpl, ChangeDescriptionImpl, ChangeFactoryImpl, ChangePackageImpl, ComplexTypeConverterImpl, DelegatingFeatureMap.FeatureMapEObjectImpl, DynamicEObjectImpl, DynamicEObjectImpl.BasicEMapEntry, DynamicEStoreEObjectImpl, EAnnotationImpl, EAttributeImpl, EClassifierImpl, EClassImpl, Ecore2EcoreFactoryImpl, Ecore2EcoreMappingRootImpl, Ecore2EcorePackageImpl, Ecore2XMLFactoryImpl, Ecore2XMLPackageImpl, EcoreFactoryImpl, EcorePackageImpl, EDataTypeImpl, EEnumImpl, EEnumLiteralImpl, EFactoryImpl, EGenericTypeImpl, EModelElementImpl, ENamedElementImpl, ENamedElementToXMLInfoMapEntryImpl, EObjectImpl, EObjectToChangesMapEntryImpl, EOperationImpl, EPackageImpl, EParameterImpl, EReferenceImpl, EStoreEObjectImpl, EStringToStringMapEntryImpl, EStructuralFeatureImpl, ETypedElementImpl, ETypeParameterImpl, FeatureChangeImpl, FeatureMapEntryImpl, FlatEObjectImpl, FunctionNamePairImpl, FunctionPairImpl, GenAnnotationImpl, GenBaseImpl, GenClassifierImpl, GenClassImpl, GenDataTypeImpl, GenEnumImpl, GenEnumLiteralImpl, GenFeatureImpl, GenModelFactoryImpl, GenModelImpl, GenModelPackageImpl, GenOperationImpl, GenPackageImpl, GenParameterImpl, GenTypedElementImpl, GenTypeParameterImpl, ListChangeImpl, MappingFactoryImpl, MappingHelperImpl, MappingImpl, MappingPackageImpl, MappingRootImpl, MappingStrategyImpl, MinimalEObjectImpl, MinimalEObjectImpl.Container, MinimalEObjectImpl.Container.Dynamic, MinimalEObjectImpl.Container.Dynamic.BasicEMapEntry, ProcessingInstructionImpl, ResourceChangeImpl, SimpleAnyTypeImpl, TreeFactoryImpl, TreeNodeImpl, TreePackageImpl, TypeConverterImpl, XMLInfoImpl, XMLMapImpl, XMLNamespaceDocumentRootImpl, XMLNamespaceFactoryImpl, XMLNamespacePackageImpl, XMLTypeDocumentRootImpl, XMLTypeFactoryImpl, XMLTypePackageImpl

    public interface InternalEObject

extends EObject

An internal interface implemented by all `EObject`s.

Nested Class Summary
`static interface` `InternalEObject.EStore` An external backing store to which an `object` may delegate all access.

Field Summary
`static int` `EOPPOSITE_FEATURE_BASE` The base value for negative, i.e., opposite-end, eContainerFeatureID values.

Method Summary
`int` `eBaseStructuralFeatureID(int derivedFeatureID, java.lang.Class<?> baseClass)` Returns the feature ID relative to the base class, given a feature ID relative to this derived object's actual class.
`NotificationChain` `eBasicRemoveFromContainer(NotificationChain notifications)` Removes this object from whatever container holds it, and returns accumulated notifications.
`NotificationChain` `eBasicSetContainer(InternalEObject newContainer, int newContainerFeatureID, NotificationChain notifications)` Sets the container to be new container and appropriate feature.
`int` `eContainerFeatureID()` Returns the container feature ID.
`int` `eDerivedStructuralFeatureID(int baseFeatureID, java.lang.Class<?> baseClass)` Returns the feature ID relative to this derived object's actual class, given a feature ID relative to the given base class.
`Resource.Internal` `eDirectResource()` Returns the directly containing internal resource, or `null`.
`java.lang.Object` `eGet(EStructuralFeature eFeature, boolean resolve, boolean coreType)` Returns the value of the given feature of the object; the value is optionally `resolved` before it is returned.
`java.lang.Object` `eGet(int featureID, boolean resolve, boolean coreType)` Does the equivalent of `eObject.eGet(eObjecte.eClass().getEStructuralFeature(featureID), resolve, coreType)`.
`InternalEObject` `eInternalContainer()` Returns the internal container, or `null`.
`Resource.Internal` `eInternalResource()` Returns the containing internal resource, or `null`.
`NotificationChain` `eInverseAdd(InternalEObject otherEnd, int featureID, java.lang.Class<?> baseClass, NotificationChain notifications)` Adds the object at the other end of a bidirectional reference to the appropriate feature and returns accumulated notifications.
`NotificationChain` `eInverseRemove(InternalEObject otherEnd, int featureID, java.lang.Class<?> baseClass, NotificationChain notifications)` Removes the object at the other end of a bidirectional reference from the appropriate feature and returns accumulated notifications.
`boolean` `eIsSet(int featureID)` Does the equivalent of `eObject.eIsSet(eObjecte.eClass().getEStructuralFeature(featureID))`.
`boolean` `eNotificationRequired()` Returns whether `eNotify` needs to be called.
`EObject` `eObjectForURIFragmentSegment(java.lang.String uriFragmentSegment)` Returns the object resolved by the fragment segment.
`URI` `eProxyURI()` Returns the proxy URI of this object.
`EObject` `eResolveProxy(InternalEObject proxy)` Resolves the `proxy` object relative to this object.
`void` `eSet(int featureID, java.lang.Object newValue)` Does the equivalent of `eObject.eSet(eObjecte.eClass().getEStructuralFeature(featureID), newValue)`.
`void` `eSetClass(EClass eClass)` Sets the meta class.
`void` `eSetProxyURI(URI uri)` Set the proxy URI of this object.
`NotificationChain` `eSetResource(Resource.Internal resource, NotificationChain notifications)` Sets this object to be directly contained by the resource and returns accumulated notifications.
`void` `eSetStore(InternalEObject.EStore store)` Set the store associated with this object.
`EStructuralFeature.Setting` `eSetting(EStructuralFeature feature)` Returns a setting that can be used to access this object's feature.
`InternalEObject.EStore` `eStore()` Returns the store associated with this object.
`void` `eUnset(int featureID)` Does the equivalent of `eObject.eUnset(eObjecte.eClass().getEStructuralFeature(featureID))`.
`java.lang.String` `eURIFragmentSegment(EStructuralFeature eFeature, EObject eObject)` Returns the fragment segment that, when passed to `eObjectForURIFragmentSegment`, will resolve to the given object in this object's given feature.

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Field Detail

### EOPPOSITE_FEATURE_BASE

    static final int EOPPOSITE_FEATURE_BASE

  The base value for negative, i.e., opposite-end, eContainerFeatureID values.

  See Also:
    Constant Field Values

Method Detail

### eNotificationRequired

    boolean eNotificationRequired()

  Returns whether `eNotify` needs to be called.

  This may return `true` even when `eDeliver` is `false` or when `eAdapters` is empty.

  Returns:
    `true` if eNotify needs to be called.

### eURIFragmentSegment

    java.lang.String eURIFragmentSegment(EStructuralFeature eFeature,
                                         EObject eObject)

  Returns the fragment segment that, when passed to `eObjectForURIFragmentSegment`, will resolve to the given object in this object's given feature.

  The feature argument may be `null` in which case it will be deduced, if possible. The default result will be of the form:

        "@<feature-name>[.<index>]"

  The index is used only for `many-valued` features; it represents the position within the list.

  Parameters:
    `eFeature` - the feature relating the given object to this object, or `null`.
    `eObject` - the object to be identified.
  Returns:
    the fragment segment that resolves to the given object in this object's given feature.

### eObjectForURIFragmentSegment

    EObject eObjectForURIFragmentSegment(java.lang.String uriFragmentSegment)

  Returns the object resolved by the fragment segment.

  The fragment segment encoding will typically be of the form returned by `eURIFragmentSegment`.

  Parameters:
    `uriFragmentSegment` - a fragment segment.
  Returns:
    the fragment segment that resolves to the given object in this object's given feature.

### eSetClass

    void eSetClass(EClass eClass)

  Sets the meta class. An object with a set meta class is, by definition, a dynamic instance; it will support dynamic `settings`. an.

  Parameters:
    `eClass` - the dynamic meta class.
  See Also:
    `eSetting(EStructuralFeature)`

### eSetting

    EStructuralFeature.Setting eSetting(EStructuralFeature feature)

  Returns a setting that can be used to access this object's feature.

  Parameters:
    `feature` - the feature of the desired setting.
  Returns:
    a setting that can be used to access this object's feature.

### eBaseStructuralFeatureID

    int eBaseStructuralFeatureID(int derivedFeatureID,
                                 java.lang.Class<?> baseClass)

  Returns the feature ID relative to the base class, given a feature ID relative to this derived object's actual class.

  Parameters:
    `derivedFeatureID` - the ID in the actual derived class
    `baseClass` - the base class for which a relative ID is desired.
  Returns:
    the up-cast feature ID.

### eContainerFeatureID

    int eContainerFeatureID()

  Returns the container feature ID. If the container isn't a navigable feature, this will be a negative ID indicating the inverse of the containment feature's ID.

  Returns:
    the container feature ID.
  See Also:
    `EObject.eContainmentFeature()`, `EOPPOSITE_FEATURE_BASE`

### eDerivedStructuralFeatureID

    int eDerivedStructuralFeatureID(int baseFeatureID,
                                    java.lang.Class<?> baseClass)

  Returns the feature ID relative to this derived object's actual class, given a feature ID relative to the given base class.

  Parameters:
    `baseFeatureID` - the ID relative to a base class.
    `baseClass` - the base class to which the ID is relative.
  Returns:
    the down-cast feature ID.

### eSetResource

    NotificationChain eSetResource(Resource.Internal resource,
                                   NotificationChain notifications)

  Sets this object to be directly contained by the resource and returns accumulated notifications. This is only done as the inverse of `Resource.getContents()``.add(this)`.

  Returns:
    accumulated notifications.

### eInverseAdd

    NotificationChain eInverseAdd(InternalEObject otherEnd,
                                  int featureID,
                                  java.lang.Class<?> baseClass,
                                  NotificationChain notifications)

  Adds the object at the other end of a bidirectional reference to the appropriate feature and returns accumulated notifications.

  Returns:
    accumulated notifications.

### eInverseRemove

    NotificationChain eInverseRemove(InternalEObject otherEnd,
                                     int featureID,
                                     java.lang.Class<?> baseClass,
                                     NotificationChain notifications)

  Removes the object at the other end of a bidirectional reference from the appropriate feature and returns accumulated notifications.

  Returns:
    accumulated notifications.

### eBasicSetContainer

    NotificationChain eBasicSetContainer(InternalEObject newContainer,
                                         int newContainerFeatureID,
                                         NotificationChain notifications)

  Sets the container to be new container and appropriate feature. and returns accumulated notifications. Since the container feature may not be navigable, i.e., may not exist, the containment feature may be encoded instead.

  Returns:
    accumulated notifications.

### eBasicRemoveFromContainer

    NotificationChain eBasicRemoveFromContainer(NotificationChain notifications)

  Removes this object from whatever container holds it, and returns accumulated notifications.

  Returns:
    accumulated notifications.

### eProxyURI

    URI eProxyURI()

  Returns the proxy URI of this object. It can be used to `resolve` to the actual object.

  Returns:
    the proxy URI of this object.
  See Also:
    `EcoreUtil.resolve(EObject, org.eclipse.emf.ecore.resource.ResourceSet)`, `Resource.unload()`

### eSetProxyURI

    void eSetProxyURI(URI uri)

  Set the proxy URI of this object. It will be used to `resolve` to the actual object.

  Parameters:
    `uri` - the URI.
  See Also:
    `EcoreUtil.resolve(EObject, org.eclipse.emf.ecore.resource.ResourceSet)`, `Resource.unload()`

### eResolveProxy

    EObject eResolveProxy(InternalEObject proxy)

  Resolves the `proxy` object relative to this object.

  Returns:
    the resolved object, or the original if the proxy can't be resolved.
  See Also:
    `EcoreUtil.resolve(EObject,EObject)`

### eInternalContainer

    InternalEObject eInternalContainer()

  Returns the internal container, or `null`. It does not resolve a proxy.

  Returns:
    the internal container.
  See Also:
    `EObject.eContainer()`, `eDirectResource()`

### eInternalResource

    Resource.Internal eInternalResource()

  Returns the containing internal resource, or `null`.

  Returns:
    the containing internal resource.
  See Also:
    `EObject.eResource()`

### eDirectResource

    Resource.Internal eDirectResource()

  Returns the directly containing internal resource, or `null`.

  Returns:
    the directly containing internal resource.
  See Also:
    `EObject.eResource()`, `eInternalResource()`, `eInternalContainer()`

### eStore

    InternalEObject.EStore eStore()

  Returns the store associated with this object.

  Returns:
    the store associated with this object.

### eSetStore

    void eSetStore(InternalEObject.EStore store)

  Set the store associated with this object. Most objects will not support this.

  Parameters:
    `store` - the store to associate with this object.
  Throws:
    `java.lang.UnsupportedOperationException`

### eGet

    java.lang.Object eGet(EStructuralFeature eFeature,
                          boolean resolve,
                          boolean coreType)

  Returns the value of the given feature of the object; the value is optionally `resolved` before it is returned.

  If the feature is `many-valued`, the result will be an `EList` and each object in the list will be `an instance of` the feature's `type`; the list's contents are not affected by `resolve` argument. Otherwise the result directly will be an instance of the feature's type; if it is a `proxy`, it is resolved. The core type specifies whether to return the core reflective value, e.g., `EMap`, or the public API value, e.g., `Map`.

  Parameters:
    `eFeature` - the feature of the value to fetch.
    `resolve` - whether to resolve.
    `coreType` - whether to return the core type value or the API type value.
  Returns:
    the value of the given feature of the object.
  See Also:
    `EObject.eGet(EStructuralFeature, boolean)`

### eGet

    java.lang.Object eGet(int featureID,
                          boolean resolve,
                          boolean coreType)

  Does the equivalent of `eObject.eGet(eObjecte.eClass().getEStructuralFeature(featureID), resolve, coreType)`.

  See Also:
    `eGet(EStructuralFeature, boolean, boolean)`

### eSet

    void eSet(int featureID,
              java.lang.Object newValue)

  Does the equivalent of `eObject.eSet(eObjecte.eClass().getEStructuralFeature(featureID), newValue)`.

  See Also:
    `EObject.eSet(EStructuralFeature, Object)`

### eUnset

    void eUnset(int featureID)

  Does the equivalent of `eObject.eUnset(eObjecte.eClass().getEStructuralFeature(featureID))`.

  See Also:
    `EObject.eUnset(EStructuralFeature)`

### eIsSet

    boolean eIsSet(int featureID)

  Does the equivalent of `eObject.eIsSet(eObjecte.eClass().getEStructuralFeature(featureID))`.

  See Also:
    `EObject.eIsSet(EStructuralFeature)`

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.