public class CDOObjectImpl extends MinimalEStoreEObjectImpl implements InternalCDOObject
objects
.MinimalEObjectImpl.Container
BasicEObjectImpl.EPropertiesHolder, BasicEObjectImpl.EPropertiesHolderBaseImpl, BasicEObjectImpl.EPropertiesHolderImpl
BasicNotifierImpl.EAdapterList<E extends Object & Adapter>, BasicNotifierImpl.EObservableAdapterList
InternalEObject.EStore
EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET
EOPPOSITE_FEATURE_BASE
NIL
Constructor and Description |
---|
CDOObjectImpl() |
Modifier and Type | Method and Description |
---|---|
InternalCDOClassInfo |
cdoClassInfo() |
boolean |
cdoConflict()
Returns
true if this object contains local changes that are conflicting with recognized remote
changes, false otherwise. |
CDOResource |
cdoDirectResource()
|
CDOObjectHistory |
cdoHistory() |
CDOID |
cdoID()
|
EStructuralFeature |
cdoInternalDynamicFeature(int dynamicFeatureID)
Deprecated.
|
InternalEObject |
cdoInternalInstance() |
void |
cdoInternalPostAttach() |
void |
cdoInternalPostDetach(boolean remote)
It is really important for accessing the data to go through
cdoStore() . |
void |
cdoInternalPostInvalidate() |
void |
cdoInternalPostLoad() |
void |
cdoInternalPostRollback() |
void |
cdoInternalPreCommit() |
void |
cdoInternalPreLoad() |
void |
cdoInternalSetID(CDOID id) |
void |
cdoInternalSetResource(CDOResource resource) |
void |
cdoInternalSetRevision(CDORevision revision) |
CDOState |
cdoInternalSetState(CDOState state) |
void |
cdoInternalSetView(CDOView view) |
boolean |
cdoInvalid()
Returns
true if this object is considered as locally invalid (TODO Simon: please briefly explain what
this state means) , false otherwise. |
CDOLockState |
cdoLockState()
Returns the
CDOLockState of this object. |
void |
cdoPrefetch(int depth)
Ensures that the revisions of the contained objects up to the given depth are in the local
revision cache . |
CDOLock |
cdoReadLock()
Returns the read lock associated with this object.
|
void |
cdoReload()
TODO: JavaDoc
|
CDOResource |
cdoResource()
Returns the
resource of this object, no matter where this object is located in the containment
tree of that resource, or null if this object is not contained in a CDO resource. |
InternalCDORevision |
cdoRevision()
Returns the
revision of this object, or null if this object does currently not
have a revision. |
CDOState |
cdoState()
Returns the local
state of this object. |
InternalCDOView |
cdoView()
Returns the
view this object is associated with, or null if this object is not
associated with a view. |
CDOLock |
cdoWriteLock()
Returns the write lock associated with this object.
|
CDOLock |
cdoWriteOption()
Returns the write option associated with this object.
|
protected FeatureMap |
createFeatureMap(EStructuralFeature eStructuralFeature) |
protected EList<?> |
createList(EStructuralFeature eStructuralFeature) |
static CDOLock |
createLock(InternalCDOObject object,
IRWLockManager.LockType type) |
protected org.eclipse.emf.internal.cdo.CDOObjectImpl.CDOStoreEcoreEMap |
createMap(EStructuralFeature eStructuralFeature) |
protected org.eclipse.emf.internal.cdo.CDOObjectImpl.CDOStoreUnorderedEList<Object> |
createUnorderedList(EStructuralFeature eStructuralFeature) |
Object |
dynamicGet(int dynamicFeatureID) |
void |
dynamicSet(int dynamicFeatureID,
Object value) |
void |
dynamicUnset(int dynamicFeatureID) |
protected void |
eAdapterAdded(Adapter adapter)
This method must not be private because the MinimalEStoreEObjectImpl in CDO's ecore.minimal (retrofitting) fragment
introduces it as a protected method and calls it.
|
protected void |
eAdapterRemoved(Adapter adapter)
This method must not be private because the MinimalEStoreEObjectImpl in CDO's ecore.minimal (retrofitting) fragment
introduces it as a protected method and calls it.
|
protected BasicNotifierImpl.EObservableAdapterList.Listener[] |
eBasicAdapterListeners()
This method is not called by the MinimalEStoreEObjectImpl in CDO's ecore.minimal (retrofitting) fragment
but it is called by the normal MinimalEObjectImpl as of EMF 2.9.
|
protected void |
eBasicSetAdapterListeners(BasicNotifierImpl.EObservableAdapterList.Listener[] eAdapterListeners)
This method is not called by the MinimalEStoreEObjectImpl in CDO's ecore.minimal (retrofitting) fragment
but it is called by the normal MinimalEObjectImpl as of EMF 2.9.
|
protected void |
eBasicSetContainer(InternalEObject newEContainer,
int newContainerFeatureID) |
NotificationChain |
eBasicSetContainer(InternalEObject newContainer,
int newContainerFeatureID,
NotificationChain msgs)
Code taken from
BasicEObjectImpl.eBasicSetContainer(org.eclipse.emf.ecore.InternalEObject, int) and modified to detect whether the object is moved in the
same context. |
protected void |
eBasicSetSettings(Object[] settings) |
protected Object[] |
eBasicSettings() |
EClass |
eClass() |
protected Adapter[] |
eContainerAdapterArray() |
int |
eContainerFeatureID() |
Resource.Internal |
eDirectResource() |
protected EClass |
eDynamicClass() |
protected EStructuralFeature |
eDynamicFeature(int dynamicFeatureID) |
protected int |
eDynamicFeatureID(EStructuralFeature eStructuralFeature) |
protected boolean |
eDynamicIsSet(int dynamicFeatureID,
EStructuralFeature eFeature) |
protected boolean |
eHasSettings() |
InternalEObject |
eInternalContainer() |
Resource.Internal |
eInternalResource() |
protected boolean |
eIsCaching()
Don't cache non-transient features in this CDOObject's
eSettings() . |
boolean |
equals(Object obj)
Specializing the behaviour of
equals(Object) is not permitted as per EObject specification. |
void |
eSetClass(EClass eClass) |
protected void |
eSetDirectResource(Resource.Internal resource) |
NotificationChain |
eSetResource(Resource.Internal resource,
NotificationChain notifications)
Code took from
BasicEObjectImpl.eSetResource(org.eclipse.emf.ecore.resource.Resource.Internal, org.eclipse.emf.common.notify.NotificationChain) and modify it to detect when object are moved in the same
context. |
protected EStructuralFeature.Internal.DynamicValueHolder |
eSettings() |
InternalEObject.EStore |
eStore() |
static CDOLockState |
getLockState(InternalCDOObject object) |
int |
hashCode()
Specializing the behaviour of
hashCode() is not permitted as per EObject specification. |
static void |
instanceToRevisionFeature(InternalCDOView view,
InternalCDOObject object,
EStructuralFeature feature,
Object setting) |
static void |
revisionToInstanceFeature(InternalCDOObject instance,
InternalCDORevision revision,
EStructuralFeature eFeature) |
String |
toString() |
eBasicContainerFeatureID, eBasicInternalContainer, eBasicSetAdapterArray, eDerivedStructuralFeatureID, eStaticFeatureCount
eAdapters, eBasicAdapterArray, eBasicAdapters, eBasicHasAdapters, eBasicProperties, eBasicSetContainer, eBasicSetContainerFeatureID, eContents, eCrossReferences, eDeliver, eIsProxy, eProperties, eProxyURI, eSetDeliver, eSetProxyURI
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDynamicBasicRemoveFromContainer, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eGet, eInverseAdd, eInverseAdd, eInverseRemove, eInverseRemove, eInvocationDelegate, eInvoke, eInvoke, eIsSet, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSet, eSetStore, eSetting, eSettingDelegate, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticClass, eStaticOperationCount, eUnset, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues
eNotificationRequired, eNotify
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
eBaseStructuralFeatureID, eBasicRemoveFromContainer, eDerivedOperationID, eDerivedStructuralFeatureID, eGet, eGet, eInverseAdd, eInverseRemove, eInvoke, eIsSet, eNotificationRequired, eObjectForURIFragmentSegment, eProxyURI, eResolveProxy, eSet, eSetProxyURI, eSetStore, eSetting, eUnset, eURIFragmentSegment
eAllContents, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
eAdapters, eDeliver, eNotify, eSetDeliver
public final InternalCDOClassInfo cdoClassInfo()
cdoClassInfo
in interface InternalCDOObject
public final CDOState cdoState()
CDOObject
state
of this object.public final InternalCDOView cdoView()
CDOObject
view
this object is associated with, or null
if this object is not
associated with a view. This view manages all aspects of this object and cahces it as long as required.cdoView
in interface CDOObject
cdoView
in interface InternalCDOObject
public final CDOID cdoID()
CDOObject
null
if the state
of this object is TRANSIENT
or INVALID
.
If the state of this object is NEW
the returned CDOID instance can be cast to
CDOIDTemp
and is unique in the scope of the associated transaction
. In all other states
a non-null
return value uniquely identifies a persistent object in the scope of the whole repository.
cdoID
in interface CDOObject
cdoID
in interface CDOWithID
CDOObject.cdoState()
public final InternalCDORevision cdoRevision()
CDOObject
revision
of this object, or null
if this object does currently not
have a revision. The revision is used to store all modeled data of this object, together with some technical data
required by the framework.cdoRevision
in interface CDOObject
cdoRevision
in interface InternalCDOObject
public final CDOResource cdoResource()
CDOObject
resource
of this object, no matter where this object is located in the containment
tree of that resource, or null
if this object is not contained in a CDO resource.
This method may not return null
return for objects that have no direct
resource
. Please note that, depending on the containment depth of this object, the evaluation of the resource can
be a costly operation.
cdoResource
in interface CDOObject
CDOObject.cdoDirectResource()
public final CDOResource cdoDirectResource()
CDOObject
resource
of this object, or null
if this object is
not an element of the contents
list of any CDO resource.
Please note that, independend of the containment depth of this object, the evaluation of the direct resource is an operation with a constant cost.
cdoDirectResource
in interface CDOObject
public final void cdoPrefetch(int depth)
CDOObject
revision cache
. Subsequent access to the respective contained objects will not lead to
server round-trips after calling this method.cdoPrefetch
in interface CDOObject
depth
- CDORevision.DEPTH_NONE
, CDORevision.DEPTH_INFINITE
or any other positive integer number.public final void cdoReload()
CDOObject
public final CDOObjectHistory cdoHistory()
cdoHistory
in interface CDOObject
public final boolean cdoConflict()
CDOObject
true
if this object contains local changes that are conflicting with recognized remote
changes, false
otherwise.
This method is a convenience method to determine whether the state
of this object is either
CONFLICT
or INVALID_CONFLICT
.
cdoConflict
in interface CDOObject
public final boolean cdoInvalid()
CDOObject
true
if this object is considered as locally invalid (TODO Simon: please briefly explain what
this state means) , false
otherwise.
This method is a convenience method to determine whether the state
of this object is either
INVALID
or INVALID_CONFLICT
.
cdoInvalid
in interface CDOObject
public final CDOLock cdoReadLock()
CDOObject
cdoReadLock
in interface CDOObject
null
.public final CDOLock cdoWriteLock()
CDOObject
cdoWriteLock
in interface CDOObject
null
.public final CDOLock cdoWriteOption()
CDOObject
A write option is a lock that
It thus allows a view to ensure that it is the only that who will be able to obtain a write lock in the future, without preventing read locks to be obtained by others at this moment.
cdoWriteOption
in interface CDOObject
public final CDOLockState cdoLockState()
CDOObject
CDOLockState
of this object.cdoLockState
in interface CDOObject
public final CDOState cdoInternalSetState(CDOState state)
cdoInternalSetState
in interface InternalCDOObject
public final void cdoInternalSetView(CDOView view)
cdoInternalSetView
in interface InternalCDOObject
public final void cdoInternalSetID(CDOID id)
cdoInternalSetID
in interface InternalCDOObject
public final void cdoInternalSetRevision(CDORevision revision)
cdoInternalSetRevision
in interface InternalCDOObject
public final void cdoInternalSetResource(CDOResource resource)
public void cdoInternalPreLoad()
cdoInternalPreLoad
in interface InternalCDOLoadable
public final void cdoInternalPostLoad()
cdoInternalPostLoad
in interface InternalCDOLoadable
public final void cdoInternalPostInvalidate()
cdoInternalPostInvalidate
in interface InternalCDOObject
public final void cdoInternalPostAttach()
cdoInternalPostAttach
in interface InternalCDOObject
public void cdoInternalPostDetach(boolean remote)
cdoStore()
. eStore()
will redirect
you to the transient data.cdoInternalPostDetach
in interface InternalCDOObject
public final void cdoInternalPostRollback()
cdoInternalPostRollback
in interface InternalCDOObject
public final void cdoInternalPreCommit()
cdoInternalPreCommit
in interface InternalCDOObject
public final InternalEObject cdoInternalInstance()
cdoInternalInstance
in interface InternalCDOObject
@Deprecated public final EStructuralFeature cdoInternalDynamicFeature(int dynamicFeatureID)
cdoInternalDynamicFeature
in interface InternalCDOObject
public final InternalEObject.EStore eStore()
eStore
in interface InternalEObject
eStore
in class MinimalEStoreEObjectImpl
protected final EClass eDynamicClass()
eDynamicClass
in class MinimalEObjectImpl
public final EClass eClass()
eClass
in interface EObject
eClass
in class MinimalEObjectImpl
public void eSetClass(EClass eClass)
eSetClass
in interface InternalEObject
eSetClass
in class MinimalEObjectImpl
public Resource.Internal eDirectResource()
eDirectResource
in interface InternalEObject
eDirectResource
in class MinimalEObjectImpl
public final Resource.Internal eInternalResource()
eInternalResource
in interface InternalEObject
eInternalResource
in class BasicEObjectImpl
public final Object dynamicGet(int dynamicFeatureID)
dynamicGet
in interface EStructuralFeature.Internal.DynamicValueHolder
dynamicGet
in class MinimalEStoreEObjectImpl
public final void dynamicSet(int dynamicFeatureID, Object value)
dynamicSet
in interface EStructuralFeature.Internal.DynamicValueHolder
dynamicSet
in class MinimalEStoreEObjectImpl
public final void dynamicUnset(int dynamicFeatureID)
dynamicUnset
in interface EStructuralFeature.Internal.DynamicValueHolder
dynamicUnset
in class MinimalEStoreEObjectImpl
protected final boolean eDynamicIsSet(int dynamicFeatureID, EStructuralFeature eFeature)
eDynamicIsSet
in class MinimalEStoreEObjectImpl
public final InternalEObject eInternalContainer()
eInternalContainer
in interface InternalEObject
eInternalContainer
in class MinimalEStoreEObjectImpl
public final int eContainerFeatureID()
eContainerFeatureID
in interface InternalEObject
eContainerFeatureID
in class MinimalEStoreEObjectImpl
public final NotificationChain eBasicSetContainer(InternalEObject newContainer, int newContainerFeatureID, NotificationChain msgs)
BasicEObjectImpl.eBasicSetContainer(org.eclipse.emf.ecore.InternalEObject, int)
and modified to detect whether the object is moved in the
same context. (E.g.: An object is moved from resA to resB. resA and resB belongs to the same CDORepositoryInfo.
Without this special handling, a detach and newObject will be generated for the object moved)eBasicSetContainer
in interface InternalEObject
eBasicSetContainer
in class BasicEObjectImpl
public final NotificationChain eSetResource(Resource.Internal resource, NotificationChain notifications)
BasicEObjectImpl.eSetResource(org.eclipse.emf.ecore.resource.Resource.Internal, org.eclipse.emf.common.notify.NotificationChain)
and modify it to detect when object are moved in the same
context.eSetResource
in interface InternalEObject
eSetResource
in class BasicEObjectImpl
protected final void eSetDirectResource(Resource.Internal resource)
eSetDirectResource
in class MinimalEObjectImpl
protected final void eBasicSetContainer(InternalEObject newEContainer, int newContainerFeatureID)
eBasicSetContainer
in class MinimalEObjectImpl
protected final int eDynamicFeatureID(EStructuralFeature eStructuralFeature)
eDynamicFeatureID
in class BasicEObjectImpl
protected final EStructuralFeature eDynamicFeature(int dynamicFeatureID)
eDynamicFeature
in class BasicEObjectImpl
protected final EStructuralFeature.Internal.DynamicValueHolder eSettings()
eSettings
in class MinimalEObjectImpl
protected final boolean eHasSettings()
eHasSettings
in class MinimalEObjectImpl
protected final Object[] eBasicSettings()
eBasicSettings
in class MinimalEObjectImpl
protected final void eBasicSetSettings(Object[] settings)
eBasicSetSettings
in class MinimalEObjectImpl
protected final boolean eIsCaching()
eSettings()
.eIsCaching
in class MinimalEStoreEObjectImpl
protected final Adapter[] eContainerAdapterArray()
eContainerAdapterArray
in class BasicEObjectImpl
protected final BasicNotifierImpl.EObservableAdapterList.Listener[] eBasicAdapterListeners()
eBasicAdapterListeners
in class MinimalEStoreEObjectImpl
protected final void eBasicSetAdapterListeners(BasicNotifierImpl.EObservableAdapterList.Listener[] eAdapterListeners)
eBasicSetAdapterListeners
in class MinimalEStoreEObjectImpl
protected final void eAdapterAdded(Adapter adapter)
eAdapterAdded
in class MinimalEStoreEObjectImpl
protected final void eAdapterRemoved(Adapter adapter)
eAdapterRemoved
in class MinimalEStoreEObjectImpl
public final int hashCode()
hashCode()
is not permitted as per EObject
specification.public final boolean equals(Object obj)
equals(Object)
is not permitted as per EObject
specification.public String toString()
toString
in class BasicEObjectImpl
protected final FeatureMap createFeatureMap(EStructuralFeature eStructuralFeature)
createFeatureMap
in class MinimalEStoreEObjectImpl
protected final org.eclipse.emf.internal.cdo.CDOObjectImpl.CDOStoreEcoreEMap createMap(EStructuralFeature eStructuralFeature)
protected final org.eclipse.emf.internal.cdo.CDOObjectImpl.CDOStoreUnorderedEList<Object> createUnorderedList(EStructuralFeature eStructuralFeature)
protected EList<?> createList(EStructuralFeature eStructuralFeature)
createList
in class MinimalEStoreEObjectImpl
public static void instanceToRevisionFeature(InternalCDOView view, InternalCDOObject object, EStructuralFeature feature, Object setting)
public static void revisionToInstanceFeature(InternalCDOObject instance, InternalCDORevision revision, EStructuralFeature eFeature)
public static CDOLock createLock(InternalCDOObject object, IRWLockManager.LockType type)
public static CDOLockState getLockState(InternalCDOObject object)
Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.