Package org.eclipse.emf.spi.cdo

# Interface DelegatingCDOTransaction

All Superinterfaces:
  `AutoCloseable`, `CDOBranchPoint`, `CDOBranchProvider`, `CDOChangeSetDataProvider`, `CDOCommitHistory.Provider<CDOObject,CDOObjectHistory>`, `CDOCommonTransaction`, `CDOCommonView`, `CDORevisionProvider`, `CDORollbackable`, `CDOTimeProvider`, `CDOTransaction`, `CDOUpdatable`, `CDOUserTransaction`, `CDOView`, `org.eclipse.net4j.util.collection.Closeable`, `IAdaptable`, `org.eclipse.net4j.util.container.IContainer<CDOResourceNode>`, `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.options.IOptionsContainer`, `org.eclipse.net4j.util.properties.IPropertiesContainer`

public interface DelegatingCDOTransaction extends CDOTransaction
SPI for a transaction wrapper that exposes exactly one delegation level.

Since:
  4.30
Author:
  Eike Stepper

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOTransaction

`CDOTransaction.CommitResult<T>, CDOTransaction.Options`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

`org.eclipse.net4j.util.container.IContainer.Modifiable<E>, org.eclipse.net4j.util.container.IContainer.Persistable<E>, org.eclipse.net4j.util.container.IContainer.Persistence<E>`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Field Summary

### Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint

`INVALID_DATE, UNSPECIFIED_DATE`

### Fields inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable

`NO_TIMEOUT`

### Fields inherited from interface org.eclipse.emf.cdo.view.CDOView

`PROP_LIFECYCLE_EXCEPTION_HANDLER, PROP_TIME_MACHINE_DISABLED`

## Method Summary

Modifier and Type
Method
Description
`CDOTransaction`
`getDelegate()`
Returns the directly wrapped transaction.
`static CDOTransaction`
`getEffectiveTransaction(CDOTransaction transaction)`
Resolves a wrapper chain to its effective non-delegating transaction.

### Methods inherited from interface java.lang.AutoCloseable

`close`

### Methods inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint

`getBranch, getTimeStamp`

### Methods inherited from interface org.eclipse.emf.cdo.common.commit.CDOChangeSetDataProvider

`getChangeSetData`

### Methods inherited from interface org.eclipse.emf.cdo.common.commit.CDOCommitHistory.Provider

`getHistory, getHistory`

### Methods inherited from interface org.eclipse.emf.cdo.common.CDOCommonView

`getDurableLockingID, getLockOwner, getSessionID, getViewID, isDurableView, isHistorical, isReadOnly`

### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionProvider

`getRevision`

### Methods inherited from interface org.eclipse.emf.cdo.transaction.CDOTransaction

`addTransactionHandler, commit, commit, commit, commit, commit, commit, commitAndClose, createBinaryResource, createQuery, createQuery, createResource, createResourceFolder, createTextResource, exportChanges, getCommitComment, getCommitProperty, getCommittables, getConflicts, getDetachedObjects, getDirtyObjects, getFirstSavepoint, getInnermostScope, getLastCommitTime, getLastSavepoint, getNewObjects, getOrCreateBinaryResource, getOrCreateResource, getOrCreateResourceFolder, getOrCreateTextResource, getOutermostScope, getRevisionDeltas, getScopes, getTransactionHandlers, getTransactionHandlers1, getTransactionHandlers2, hasConflict, importChanges, isDirty, merge, merge, merge, merge, openScope, options, removeTransactionHandler, revertTo, setCommitComment, setCommitProperty, setCommittables, setSavepoint`

### Methods inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable

`getLastUpdateTime, runAfterUpdate, waitForUpdate, waitForUpdate`

### Methods inherited from interface org.eclipse.emf.cdo.transaction.CDOUserTransaction

`commit, commit, rollback`

### Methods inherited from interface org.eclipse.emf.cdo.view.CDOView

`addObjectHandler, addRegistrationHandler, compareRevisions, createQuery, createQuery, createResourceURI, disableDurableLocking, enableDurableLocking, enableDurableLocking, getBinaryResource, getLockStates, getLockStates, getLockStatesOfObjects, getObject, getObject, getObject, getObjectHandlers, getObjects, getProvider, getRegistrationHandlers, getResource, getResource, getResourceFolder, getResourceNode, getResourceSet, getRootResource, getSession, getTextResource, getUnitManager, getURI, getURIHandler, getViewLock, getViewSet, hasResource, isInvalidating, isInvalidationRunnerActive, isLegacyModeEnabled, isObjectRegistered, lockObjects, lockObjects, queryInstances, queryInstancesAsync, queryInstancesAsync, queryResources, queryResourcesAsync, queryXRefs, queryXRefs, queryXRefsAsync, refreshLockStates, reload, removeObjectHandler, removeRegistrationHandler, setBranch, setBranch, setBranchPoint, setBranchPoint, setBranchPoint, setBranchPoint, setResourcePathCache, setTimeStamp, setTimeStamp, sync, syncExec, syncExec, unlockObjects, unlockObjects, unlockObjects`

### Methods inherited from interface org.eclipse.net4j.util.collection.Closeable

`close, isClosed`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

`getElements, isEmpty`

### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

### Methods inherited from interface org.eclipse.net4j.util.properties.IPropertiesContainer

`properties`

## Method Details

### getDelegate

CDOTransaction getDelegate()
Returns the directly wrapped transaction.

Returns:
  the delegate, without recursively unwrapping it.

### getEffectiveTransaction

static CDOTransaction getEffectiveTransaction(CDOTransaction transaction)
Resolves a wrapper chain to its effective non-delegating transaction. Identity-based cycle detection makes malformed cyclic chains terminate deterministically.

Parameters:
  `transaction` - the transaction or wrapper to resolve.
Returns:
  the effective transaction, or the last safely reachable wrapper.