Interface CompensatingTransactionOperationExecutor

All Known Implementing Classes:
BindOperationExecutor, ModifyAttributesOperationExecutor, NullOperationExecutor, RebindOperationExecutor, RenameOperationExecutor, UnbindOperationExecutor

public interface CompensatingTransactionOperationExecutor
Responsible for executing a single recorded operation as well as committing or rolling it back, depending on the transaction outcome. Instances of this interface are constructed by CompensatingTransactionOperationRecorder objects, supplying them with the information necessary for the respective operations.

The actual operations performed by the respective methods of this class might not be what would originally be expected. E.g. one would expect that the performOperation() method of a CompensatingTransactionOperationExecutor implementation would actually delete the entry, leaving it for the rollback() method to recreate it using data from the original entry. However, this will not always be possible. In an LDAP system, for instance, it might not be possible to retrieve all the stored data from the original entry. In that case, the performOperation() method will instead move the entry to a temporary location and leave it for the commit() method to actually remove the entry.

Since:
1.2
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Commit the operation.
    void
    Perform the operation.
    void
    Rollback the operation, restoring state of the target as it was before the operation was performed using the information supplied on creation of this instance.
  • Method Details

    • rollback

      void rollback()
      Rollback the operation, restoring state of the target as it was before the operation was performed using the information supplied on creation of this instance.
    • commit

      void commit()
      Commit the operation. In many cases, this will not require any work at all to be performed. However, in some cases there will be interesting stuff to do. See class description for elaboration on this.
    • performOperation

      void performOperation()
      Perform the operation. This will most often require performing the recorded operation, but in some cases the actual operation performed by this method might be something else. See class description for elaboration on this.