org.eclipse.emf.cdo
Interface CDOObject

All Superinterfaces:
CDOWithID, EObject, Notifier
All Known Subinterfaces:
Annotation, Assignee, CDOBinaryResource, CDOFileResource<IO>, CDOResource, CDOResourceFolder, CDOResourceLeaf, CDOResourceNode, CDOTextResource, ClassPermission, Directory, Group, InternalCDOObject, InternalCDOResource, ModelElement, ObjectPermission, PackagePermission, Permission, Realm, ResourcePermission, Role, SecurityElement, SecurityItem, User, UserPassword
All Known Implementing Classes:
AnnotationImpl, AssigneeImpl, CDOBinaryResourceImpl, CDOFileResourceImpl, CDOObjectImpl, CDOResourceFolderImpl, CDOResourceImpl, CDOResourceLeafImpl, CDOResourceNodeImpl, CDOTextResourceImpl, ClassPermissionImpl, DirectoryImpl, GroupImpl, ModelElementImpl, ObjectPermissionImpl, PackagePermissionImpl, PermissionImpl, RealmImpl, ResourcePermissionImpl, RoleImpl, SecurityElementImpl, SecurityItemImpl, UserImpl, UserPasswordImpl

public interface CDOObject
extends EObject, CDOWithID

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.

No Implement
This interface is not intended to be implemented by clients.

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.
 CDOObjectHistory cdoHistory()
           
 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.
 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.
 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.
 CDOLock cdoWriteOption()
          Returns the write option associated with this object.
 
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
 

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.

Specified by:
cdoID in interface CDOWithID
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

cdoWriteOption

CDOLock cdoWriteOption()
Returns the write option associated with this object.

A write option is a lock that

  • is exclusive; i.e. can only be held by one view
  • prevents other views from obtaining a write lock on the same object
  • does not prevent other views from obtaining a read lock on the same object
  • 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.

    Since:
    4.1

    cdoLockState

    CDOLockState cdoLockState()
    Returns the CDOLockState of this object.

    Since:
    4.1

    cdoPrefetch

    void cdoPrefetch(int depth)
    Ensures that the revisions of the contained objects up to the given depth are in the local revision cache. Subsequent access to the respective contained objects will not lead to server round-trips after calling this method.

    Parameters:
    depth - CDORevision.DEPTH_NONE, CDORevision.DEPTH_INFINITE or any other positive integer number.
    Since:
    3.0

    cdoReload

    void cdoReload()
    TODO: JavaDoc


    cdoHistory

    CDOObjectHistory cdoHistory()
    Since:
    4.2


    Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.