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 EObject
s 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 EObject
s 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