com.vaadin.data
Interface Property.Transactional<T>

Type Parameters:
T - The type of the property
All Superinterfaces:
Property<T>, java.io.Serializable
All Known Implementing Classes:
TransactionalPropertyWrapper
Enclosing interface:
Property<T>

public static interface Property.Transactional<T>
extends Property<T>

A Property that is capable of handle a transaction that can end in commit or rollback. Note that this does not refer to e.g. database transactions but rather two-phase commit that allows resetting old field values on a form etc. if the commit of one of the properties fails after others have already been committed. If

Since:
7.0
Author:
Vaadin Ltd

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.vaadin.data.Property
Property.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeEvent, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.Transactional<T>, Property.ValueChangeEvent, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer
 
Method Summary
 void commit()
          Commits and ends the transaction that is in progress.
 void rollback()
          Aborts and rolls back the transaction that is in progress.
 void startTransaction()
          Starts a transaction.
 
Methods inherited from interface com.vaadin.data.Property
getType, getValue, isReadOnly, setReadOnly, setValue
 

Method Detail

startTransaction

void startTransaction()
Starts a transaction.

If the value is set during a transaction the value must not replace the original value until commit() is called. Still, Property.getValue() must return the current value set in the transaction. Calling rollback() while in a transaction must rollback the value to what it was before the transaction started.

Property.ValueChangeEvents must not be emitted for internal value changes during a transaction. If the value changes as a result of commit(), a Property.ValueChangeEvent should be emitted.


commit

void commit()
Commits and ends the transaction that is in progress.

If the value is changed as a result of this operation, a Property.ValueChangeEvent is emitted if such are supported.

This method has no effect if there is no transaction is in progress.

This method must never throw an exception.


rollback

void rollback()
Aborts and rolls back the transaction that is in progress.

The value is reset to the value before the transaction started. No Property.ValueChangeEvent is emitted as a result of this.

This method has no effect if there is no transaction is in progress.

This method must never throw an exception.



Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.