Interface CDOObject

All Superinterfaces:
CDOWithID, EObject, Notifier
All Known Subinterfaces:
Access, AndFilter, Annotation, Assembly, AssemblyModule, Assignee, Baseline, BooleanValue, ByteValue, CDOBinaryResource, CDOFileResource<IO>, CDOResource, CDOResourceFolder, CDOResourceLeaf, CDOResourceNode, CDOTextResource, Change, CharValue, ClassFilter, ClassPermission, CombinedFilter, ContainedObject, ContextAccess, Delivery, Dependency, DependencyDefinition, Directory, DoubleValue, Drop, DropType, Expression, ExpressionFilter, FilterPermission, FixedBaseline, FloatingBaseline, FloatValue, FunctionInvocation, Group, InternalCDOObject, InternalCDOResource, IntValue, Invocation, LinkedExpression, LinkedFilter, LinkedObject, ListConstruction, LMFilter, LongValue, MemberAccess, MemberInvocation, ModelElement, Module, ModuleDefinition, ModuleElement, ModuleFilter, ModuleType, ModuleTypeFilter, NotFilter, ObjectFilter, ObjectPermission, OrFilter, PackageFilter, PackagePermission, Permission, PermissionFilter, Process, ProcessElement, Realm, ResourceFilter, ResourcePermission, Role, SecurityElement, SecurityItem, ShortValue, StaticAccess, Stream, StreamElement, StringValue, System, SystemElement, User, UserPassword, Value
All Known Implementing Classes:
AccessImpl, AndFilterImpl, AnnotationImpl, AssemblyImpl, AssemblyModuleImpl, AssigneeImpl, BaselineImpl, BooleanValueImpl, ByteValueImpl, CDOBinaryResourceImpl, CDOFileResourceImpl, CDOObjectImpl, CDOResourceFolderImpl, CDOResourceImpl, CDOResourceLeafImpl, CDOResourceNodeImpl, CDOTextResourceImpl, ChangeImpl, CharValueImpl, ClassFilterImpl, ClassPermissionImpl, CombinedFilterImpl, ContainedObjectImpl, ContextAccessImpl, DeliveryImpl, DependencyDefinitionImpl, DependencyImpl, DirectoryImpl, DoubleValueImpl, DropImpl, DropTypeImpl, ExpressionFilterImpl, FilterPermissionImpl, FixedBaselineImpl, FloatingBaselineImpl, FloatValueImpl, FunctionInvocationImpl, GroupImpl, IntValueImpl, InvocationImpl, LinkedExpressionImpl, LinkedFilterImpl, LinkedObjectImpl, ListConstructionImpl, LMFilterImpl, LongValueImpl, MemberAccessImpl, MemberInvocationImpl, ModelElementImpl, ModuleDefinitionImpl, ModuleFilterImpl, ModuleImpl, ModuleTypeFilterImpl, ModuleTypeImpl, NotFilterImpl, ObjectFilterImpl, ObjectPermissionImpl, OrFilterImpl, PackageFilterImpl, PackagePermissionImpl, PermissionFilterImpl, PermissionImpl, ProcessElementImpl, ProcessImpl, RealmImpl, ResourceFilterImpl, ResourcePermissionImpl, RoleImpl, SecurityElementImpl, SecurityItemImpl, ShortValueImpl, StaticAccessImpl, StreamImpl, StringToStringMapEntryImpl, StringValueImpl, SystemImpl, UserImpl, UserPasswordImpl, ValueImpl

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.

Author:
Eike Stepper
No Implement
This interface is not intended to be implemented by clients.
  • Method Details

    • 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()
      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.
    • cdoRevision

      CDORevision cdoRevision(boolean loadOnDemand)
      Returns the revision of this object, or null if this object does currently not have a revision and loadOnDemand is false. The revision is used to store all modeled data of this object, together with some technical data required by the framework.
      Since:
      4.3
    • cdoPermission

      CDOPermission cdoPermission()
      Returns the permission of the current session's user for this object.
      Since:
      4.3
    • 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

      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, independent 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 lock state of this object, or null if this object is transient.
      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

      @Deprecated void cdoReload()
      Deprecated.
      As of 4.3 no longer supported because it is unsafe to reload single objects.
    • cdoHistory

      CDOObjectHistory cdoHistory()
      Since:
      4.2