## Package org.eclipse.emf.transaction.impl

Implementation of the transactional editing domain API.

See:
Description

Interface Summary
InternalLifecycle: Internal adapter interface that must be provided by a `TransactionalEditingDomain` implementation that provides a `TransactionalEditingDomain.Lifecycle` adapter.
InternalTransaction: An internal interface that must be provided by any implementation of the public `Transaction` interface, in order to function correctly in the transactional editing domain framework.
InternalTransactionalCommandStack: An internal interface that must be provided by any implementation of the public `TransactionalCommandStack` interface, in order to function correctly in the transactional editing domain framework.
InternalTransactionalEditingDomain: Internal interface that must be provided by any implementation of the public `TransactionalEditingDomain` API, in order to function correctly in the transactional editing domain framework.
TransactionValidator: Interface for an object that validates a transaction when it commits.
TransactionValidator.Factory: Interface that clients implement to define a validator factory.

Class Summary
AbstractTransactionalCommandStack: Partial implementation of the `TransactionalCommandStack` interface, useful for subclasses to define their specific handling of transactions and other concerns.
EditingDomainManager: The editing domain manager initializes editing domain instances from the `org.eclipse.emf.transaction.editingDomains` extension point.
EMFCommandTransaction: A transaction implementation use by the command stack to wrap the execution of `Command`s, to provide them the write access that they need.
FilterManager: An object that manages the filtering of notifications.
PrivilegedRunnable<T>: Implementation of the privileged runnable, which allows a thread to lend its transaction to another cooperating thread for synchronous execution.
ReadOnlyValidatorImpl: A validator for read-only transactions.
ReadWriteValidatorImpl: A validator for read/write transactions.
ResourceSetManager: The resource set manager keeps track of the load state of `Resource`s in a resource set managed by a transactional editing domain.
TransactionalCommandStackImpl: The default implementation of the transactional editing domain command stack.
TransactionalEditingDomainImpl: The default implementation of the transactional editing domain.
TransactionalEditingDomainImpl.FactoryImpl: Default implementation of a transaction editing domain factory.
TransactionalEditingDomainImpl.RegistryImpl: Implementation of the global editing domain registry.
TransactionalEditingDomainImpl.ValidatorFactoryImpl: Default implementation of the validator factory
TransactionChangeRecorder: The change recorder for a `TransactionalEditingDomain`, used by transactions to record rollback information and to detect changes that violate the transaction protocol.
TransactionImpl: The default transaction implementation.
TriggerCommandTransaction: A transaction implementation used by the command stack to wrap the execution of `TriggerCommand`s, to provide them the write access that they need.

## Package org.eclipse.emf.transaction.impl Description

Implementation of the transactional editing domain API.

## Package Specification

This package provides the default implementation of the `TransactionalEditingDomain` and related interfaces. It also defines a number of "internal" interfaces that implementations of the corresponding public interfaces must also implement in order to function correctly together. The intent is that clients extending the EMF Transaction API need only to implement these interfaces in order to "plug in" their custom implementation classes, rather than extend the *Impl classes defined in this package.

Note that the types in this package are intended only for use by clients extending the EMF Transaction API. Clients using it should only use the API defined by the `org.eclipse.emf.transaction` package.

See Also:
  `org.eclipse.emf.transaction`, `InternalTransactionalEditingDomain`, `InternalTransaction`, `InternalTransactionalCommandStack`

Copyright 2002, 2007 IBM Corporation and others. All Rights Reserved.