# Package org.eclipse.emf.cdo.util

Client utility classes, some common interfaces and exceptions.

- Interface Summary
  Interface | Description
  --- | ---
  CDOFactory | Creates CDO `objects`.
  CDOUpdatable | Represents facilities that can receive `passive updates`.

- Class Summary
  Class | Description
  --- | ---
  CDOBalancedTree | A utility class that attaches `objects` to a `folder` rooted, balanced tree such that configurable capacities for resources per folder and objects per resource are never exceeded.
  CDOCrossReferenceAdapter | An `ECrossReferenceAdapter` that does instanceof checks of `Notifier` instances in the order `Resource`, `EObject`, and `ResourceSet`.
  CDOLazyContentAdapter | A scalable `content adapter` that uses CDO mechanisms to attach itself to `objects` when they are lazily loaded.
  CDOModificationTrackingAdapter | Maintains the `modified state` of a CDO `resource` with the help of a `transaction handler`.
  CDOURIData | Represents a CDO-specific `URI` in connection-aware format.
  CDOURIUtil | Various static methods that may help with CDO-specific `URIs`.
  CDOUtil | Various static methods that may help in CDO client applications.

- Exception Summary
  Exception | Description
  --- | ---
  CommitConflictException | A `concurrent access exception` that indicates that some of the local modifications are based on old revisions because other transactions have intermittently committed their modifications.
  CommitException | A checked exception being thrown from `CDOUserTransaction.commit()` in case of commit problems such as commit conflicts.
  CommitIntegrityException | A local `data integrity exception` that indicates that the subset of object modifications in a `partial commit` is inconsistent.
  ConcurrentAccessException | A `commit exception` that indicates problems that are caused by concurrent access to the repository.
  ContainmentCycleException | A `concurrent access exception` that indicates an attempt of the local transaction to introduce a containment cycle.
  DanglingIntegrityException | A local `data integrity exception` that indicates the addition of one or more cross references to objects that are not (or no longer) contained in the repository.
  DanglingReferenceException | An unchecked exception being thrown from `CDOUserTransaction.commit()` if the commit `change set` is referencing `objects` that are not contained by any `resource` before the server is contacted.
  DataIntegrityException | A `commit exception` that indicates data integrity problems.
  InvalidObjectException | Exception occurs when an object isn't valid anymore.
  InvalidURIException | An unchecked exception being thrown to indicate problems with the `URI` of a `resource`.
  LegacyModeNotEnabledException | Deprecated. As of 4.2 the legacy mode is always enabled.
  LocalCommitConflictException | A `commit conflict exception` that indicates that the transaction has local `conflicts`.
  LockTimeoutException | An unchecked exception being thrown if `locks` could not be `acquired` within the specified timeout period.
  ObjectNotFoundException | Exception occurs when an id doesn't exist on the server.
  OptimisticLockingException | A `concurrent access exception` that indicates that the repository can not acquire optimistic locks for some of the locally modified objects.
  ReadOnlyException | An unchecked exception being thrown if write access to `objects` of a `read-only` view is attempted.
  ReferentialIntegrityException | A `data integrity exception` that indicates an attempt to create stale references.
  ServerException | Deprecated. Not used.
  StaleRevisionLockException | An unchecked exception being thrown when attempting to `lock` stale objects.
  UnitIntegrityException | A `data integrity exception` that indicates an attempt to move objects between units.
  ValidationException | A `data integrity exception` indicating that the attempt to commit a transaction was rejected because of violation of server-side validation checks.