Package org.eclipse.emf.cdo.transaction

# Interface CDONestedTransaction

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 CDONestedTransaction extends CDOTransaction
A transaction-compatible facade for a `transaction scope`.

The facade shares the enclosing transaction's object identities, object cache, resource set, dirty state, locks, and repository session. Changes made through the facade are immediately part of the enclosing transaction's effective state.

The facade's transaction commit operations are unsupported. A nested scope is accepted with `CDOTransactionScope.commit()`, which does not persist changes, assign permanent IDs, establish a repository baseline, or start a repository commit epoch. Only a commit on the containing root `CDOTransaction` persists the effective changes.

`CDOTransactionScope.rollback()` restores the shared transaction to the state at the beginning of the scope. Nested scopes are stack-disciplined, and a root transaction commit remains unavailable while a nested scope is open.

Since:
  4.30
Author:
  Eike Stepper
No Implement
  This interface is not intended to be implemented by clients.
No Extend
  This interface is not intended to be extended by clients.

## 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
`CDOTransactionScope`
`getScope()`
Returns the lifecycle scope represented by this transaction-like facade.

### 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

### getScope

CDOTransactionScope getScope()
Returns the lifecycle scope represented by this transaction-like facade.

Returns:
  the represented scope.