|
|
|
|
org.eclipse.emf.transaction.impl
Interface TransactionValidator
-
All Known Implementing Classes:
-
ReadOnlyValidatorImpl,
ReadWriteValidatorImpl
-
public interface TransactionValidator
Interface for an object that validates a transaction when it commits.
Different implementations are provided for read and for write transactions.
-
See Also:
-
ReadOnlyValidatorImpl ,
ReadWriteValidatorImpl ,
Transaction.commit()
Field Summary
|
static
TransactionValidator
|
NULL
A "null" instance that is suitable for use when there is no active
transaction. |
NULL
static final
TransactionValidator NULL
- A "null" instance that is suitable for use when there is no active
transaction. It does not provide any notifications, nor does it validate
anything.
add
void add(
InternalTransaction transaction)
- Adds a transaction for eventual validation. Transactions must be added
to the editing domain's current validator as soon as they are activated,
so that it does not miss any notifications.
-
-
Parameters:
-
transaction - the transaction (root or a nested transaction) to add
remove
void remove(
InternalTransaction transaction)
- Removes a transaction that has rolled back. Transactions must be removed
as soon as they roll back. Removal ensures that we do not pass to the
resource set listeners any notifications of changes that were rolled back.
Note that, for efficiency, transactions that have successfully committed
should also be removed after they have been deactivated. This ensures
that they are no longer referenced by validator and can, therefore, be
reclaimed (the validator retains the notifications, only).
-
-
Parameters:
-
transaction - the transaction (root or a nested transaction) to remove
validate
IStatus validate(
Transaction tx)
- Performs the validation step of a commit.
-
-
Parameters:
-
tx - the transaction to validate
-
Returns:
- the status of validation. If the severity is error or worse,
then the transaction must roll back, and this status
included in the exception
-
See Also:
-
Transaction.commit() ,
RollbackException
getNotificationsForValidation
List<
Notification> getNotificationsForValidation(
Transaction tx)
- Obtains the notifications received, in order, during the execution of
the (possibly nested) transaction(s) that I am validating.
-
-
Parameters:
-
tx - the transaction to be validated
-
Returns:
- the transaction's notifications, or
null if the
transaction has not started yet
getNotificationsForPrecommit
List<
Notification> getNotificationsForPrecommit(
Transaction tx)
- Obtains the notifications that I need to broadcast in a pre-commit
resource-change event for the specified transaction. Note that this
does not include notifications from "no-triggers" transactions.
-
-
Parameters:
-
tx - the transaction to be broadcast
-
Returns:
- those of the transaction's notifications that are eligible to
be broadcast, or
null if the transaction has not started
getNotificationsForPostcommit
List<
Notification> getNotificationsForPostcommit(
Transaction tx)
- Obtains the notifications that I need to broadcast in a post-commit
resource-change event for the specified transaction. Note that this
does not include notifications from "silent" transactions.
-
-
Parameters:
-
tx - the transaction to be broadcast
-
Returns:
- those of the transaction's notifications that are eligible to
be broadcast, or
null if the transaction has not started
dispose
void dispose()
- Disposes me by clearing my state and cleaning up any resources that I
am retaining.
-
|
|
|