## org.eclipse.emf.cdo
Interface CDOObject

All Superinterfaces:
  org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier

All Known Subinterfaces:
  CDOResource, CDOResourceFolder, CDOResourceNode, InternalCDOObject

All Known Implementing Classes:
  org.eclipse.emf.internal.cdo.CDOObjectImpl, CDOResourceFolderImpl, CDOResourceImpl, CDOResourceNodeImpl

    public interface CDOObject

extends org.eclipse.emf.ecore.EObject

A specialized subinterface of `EObject` that is exposed by all CDO objects and allows access to special CDO properties and features of those objects.

Note that, by contract, every instance of CDOObject can also be cast to `InternalCDOObject`.

Method Summary
`boolean` `cdoConflict()` Returns `true` if this object contains local changes that are conflicting with recognized remote changes, `false` otherwise.
`CDOResource` `cdoDirectResource()` Returns the directly containing `resource` of this object, or `null` if this object is not an element of the `contents` list of any CDO resource.
`CDOID` `cdoID()` Returns the technical object identifier of this object, or `null` if the `state` of this object is `TRANSIENT` or `INVALID`.
`boolean` `cdoInvalid()` Returns `true` if this object is considered as locally invalid (TODO Simon: please briefly explain what this state means) , `false` otherwise.
`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.
`CDORevision` `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.
`CDOView` `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.

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`

Method Detail

### cdoID

    CDOID cdoID()

  Returns the technical object identifier of this object, or `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.

  See Also:
    `cdoState()`

### cdoState

    CDOState cdoState()

  Returns the local `state` of this object.

### cdoConflict

    boolean cdoConflict()

  Returns `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`.

  Since:
    2.0

### cdoInvalid

    boolean cdoInvalid()

  Returns `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`.

  Since:
    2.0

### cdoView

    CDOView cdoView()

  Returns the `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.

  Since:
    2.0

### cdoRevision

    CDORevision cdoRevision()

  Returns the `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.

### cdoResource

    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.

  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.

  See Also:
    `cdoDirectResource()`

### cdoDirectResource

    CDOResource cdoDirectResource()

  Returns the directly containing `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.

  Since:
    2.0

### cdoReadLock

    CDOLock cdoReadLock()

  Returns the read lock associated with this object.

  Returns:
    Never `null`.
  Since:
    2.0

### cdoWriteLock

    CDOLock cdoWriteLock()

  Returns the write lock associated with this object.

  Returns:
    Never `null`.
  Since:
    2.0

### cdoReload

    void cdoReload()

  TODO: JavaDoc

Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. All Rights Reserved.