Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


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()

Nested Class Summary
static interface TransactionValidator.Factory
          Interface that clients implement to define a validator factory.
 
Field Summary
static  TransactionValidator NULL
          A "null" instance that is suitable for use when there is no active transaction.
 
Method Summary
 void add ( InternalTransaction transaction)
          Adds a transaction for eventual validation.
 void dispose ()
          Disposes me by clearing my state and cleaning up any resources that I am retaining.
  List< Notification> getNotificationsForPostcommit ( Transaction tx)
          Obtains the notifications that I need to broadcast in a post-commit resource-change event for the specified transaction.
  List< Notification> getNotificationsForPrecommit ( Transaction tx)
          Obtains the notifications that I need to broadcast in a pre-commit resource-change event for the specified transaction.
  List< Notification> getNotificationsForValidation ( Transaction tx)
          Obtains the notifications received, in order, during the execution of the (possibly nested) transaction(s) that I am validating.
 void remove ( InternalTransaction transaction)
          Removes a transaction that has rolled back.
  IStatus validate ( Transaction tx)
          Performs the validation step of a commit.
 

Field Detail

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.

Method Detail

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.


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


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire