Interface Property.Transactional<T>

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

    @Deprecated
    public static interface Property.Transactional<T>
    extends Property<T>
    Deprecated.
    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 (in e.g. a FieldGroup) if the commit of one of the properties fails after other properties have already been committed.
    Since:
    7.0
    Author:
    Vaadin Ltd
    • Method Detail

      • startTransaction

        void startTransaction()
        Deprecated.
        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()
        Deprecated.
        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()
        Deprecated.
        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.