org.eclipse.emf.ecore.impl
Class FlatEObjectImpl
java.lang.Object
org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.EObjectImpl
org.eclipse.emf.ecore.impl.FlatEObjectImpl
- All Implemented Interfaces:
- Notifier, EObject, InternalEObject
- Direct Known Subclasses:
- EModelElementImpl
public class FlatEObjectImpl
- extends EObjectImpl
An implementation of the model object 'EObject'.
This implementation flattens the fields for storing
the eProxyURI, the eContents, and the eCrossReferences,
which in EObjectImpl are stored in the properties holder.
This reduces the likelihood of needing to allocate a properties holder and speeds up the access to these fields.
| Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eSetClass, eSetDeliver, eStaticClass |
| Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl |
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseAdd, eInverseRemove, eInverseRemove, eIsSet, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStore, eUnset, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.eclipse.emf.common.notify.Notifier |
eNotify |
eProxyURI
protected URI eProxyURI
eContents
protected EList<EObject> eContents
eCrossReferences
protected EList<EObject> eCrossReferences
FlatEObjectImpl
protected FlatEObjectImpl()
- Creates an EObject that is faster and more space efficient
for the case where
eSetProxyURI(URI), eContents(), eCrossReferences()
are expected to be frequently used.
eProperties
protected BasicEObjectImpl.EPropertiesHolder eProperties()
- Overrides:
eProperties in class EObjectImpl
eIsProxy
public boolean eIsProxy()
- Description copied from interface:
EObject
-
Indicates whether this object is a proxy.
A proxy is an object that is defined in a Resource that has not been loaded.
An object may be a proxy either because proxy resolution was disabled
when the object was accessed (see EObject.eGet(EStructuralFeature,boolean))
or because proxy resolution failed.
- Specified by:
eIsProxy in interface EObject- Overrides:
eIsProxy in class EObjectImpl
- Returns:
true if this object is a proxy or false, otherwise.- See Also:
Resource.unload(),
EcoreUtil.resolve(EObject, org.eclipse.emf.ecore.resource.ResourceSet)
eProxyURI
public URI eProxyURI()
- Description copied from interface:
InternalEObject
- Returns the proxy URI of this object.
It can be used to
resolve to the actual object.
- Specified by:
eProxyURI in interface InternalEObject- Overrides:
eProxyURI in class BasicEObjectImpl
- Returns:
- the proxy URI of this object.
- See Also:
EcoreUtil.resolve(EObject, org.eclipse.emf.ecore.resource.ResourceSet),
Resource.unload()
eSetProxyURI
public void eSetProxyURI(URI uri)
- Description copied from interface:
InternalEObject
- Set the proxy URI of this object.
It will be used to
resolve to the actual object.
- Specified by:
eSetProxyURI in interface InternalEObject- Overrides:
eSetProxyURI in class EObjectImpl
- Parameters:
uri - the URI.- See Also:
EcoreUtil.resolve(EObject, org.eclipse.emf.ecore.resource.ResourceSet),
Resource.unload()
eContents
public EList<EObject> eContents()
- Description copied from interface:
EObject
-
Returns a list view of the content objects; it is unmodifiable.
This will be the list of EObjects determined by the
contents
of the containment features
of this object's meta class.
Objects can, indirectly, be removed
and will change to reflect container changes.
The implicit tree of contents is also directly available.
- Specified by:
eContents in interface EObject- Overrides:
eContents in class BasicEObjectImpl
- Returns:
- a list view of the content objects.
- See Also:
EObject.eContainer(),
EClass.getEAllContainments(),
EObject.eGet(EStructuralFeature),
EcoreUtil.remove(EObject),
EObject.eAllContents()
eCrossReferences
public EList<EObject> eCrossReferences()
- Description copied from interface:
EObject
-
Returns a list view of the cross referenced objects; it is unmodifiable.
This will be the list of EObjects determined by the
contents
of the reference features
of this object's meta class,
excluding containment features
and their opposites.
The cross reference list's iterator will be of type EContentsEList.FeatureIterator,
for efficient determination of the feature
of each cross reference in the list, e.g.,
for (EContentEList.FeatureIterator featureIterator =
(EContentEList.FeatureIterator)eObject.eCrossReferences().iterator();
featureIterator.hasNext(); )
{
EObject eObject = (EObject)featureIterator.next();
EReference eReference = (EReference)featureIterator.feature();
...
}
- Specified by:
eCrossReferences in interface EObject- Overrides:
eCrossReferences in class BasicEObjectImpl
- Returns:
- a list view of the cross referenced objects.
- See Also:
EObject.eContents(),
EClass.getEAllReferences(),
EClass.getEAllContainments(),
EObject.eGet(EStructuralFeature),
EcoreUtil.CrossReferencer