org.eclipse.emf.ecore
Interface InternalEObject

All Superinterfaces:
EObject, Notifier
All Known Subinterfaces:
EOperation.Internal, 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 EObjects.


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 eDerivedOperationID(int baseOperationID, java.lang.Class<?> baseClass)
          Returns the operation ID relative to this derived object's actual class, given an operation ID relative to the given base class.
 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(eObject.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.
 java.lang.Object eInvoke(int operationID, EList<?> arguments)
          Does the equivalent of eObject.eInvoke(eObject.eClass().getEOperation(featureID), arguments).
 boolean eIsSet(int featureID)
          Does the equivalent of eObject.eIsSet(eObject.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(eObject.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(eObject.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, eInvoke, 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.

eDerivedOperationID

int eDerivedOperationID(int baseOperationID,
                        java.lang.Class<?> baseClass)
Returns the operation ID relative to this derived object's actual class, given an operation ID relative to the given base class.

Parameters:
baseOperationID - the ID relative to a base class.
baseClass - the base class to which the ID is relative.
Returns:
the down-cast operation ID.
Since:
2.6

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(eObject.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(eObject.eClass().getEStructuralFeature(featureID), newValue).

See Also:
EObject.eSet(EStructuralFeature, Object)

eUnset

void eUnset(int featureID)
Does the equivalent of eObject.eUnset(eObject.eClass().getEStructuralFeature(featureID)).

See Also:
EObject.eUnset(EStructuralFeature)

eIsSet

boolean eIsSet(int featureID)
Does the equivalent of eObject.eIsSet(eObject.eClass().getEStructuralFeature(featureID)).

See Also:
EObject.eIsSet(EStructuralFeature)

eInvoke

java.lang.Object eInvoke(int operationID,
                         EList<?> arguments)
                         throws java.lang.reflect.InvocationTargetException
Does the equivalent of eObject.eInvoke(eObject.eClass().getEOperation(featureID), arguments).

Throws:
java.lang.reflect.InvocationTargetException
Since:
2.6
See Also:
EObject.eInvoke(EOperation, EList)

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