org.springframework.ldap.transaction.compensating

## Class UnbindOperationExecutor

- java.lang.Object
- - org.springframework.ldap.transaction.compensating.UnbindOperationExecutor

- All Implemented Interfaces:
    CompensatingTransactionOperationExecutor

      public class UnbindOperationExecutor
      extends Object
      implements CompensatingTransactionOperationExecutor

  A `CompensatingTransactionOperationExecutor` to manage an unbind operation. The methods in this class do not behave as expected, since it might be impossible to retrieve all the original attributes from the entry. Instead this class performs a rename in `performOperation()`, a negating rename in `rollback()`, and `commit()` unbinds the entry from its temporary location.
  Since:
    1.2
  Author:
    Mattias Hellborg Arthursson

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `UnbindOperationExecutor(LdapOperations ldapOperations, Name originalDn, Name temporaryDn)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `commit()` Commit the operation.
    `void` | `performOperation()` Perform the operation.
    `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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UnbindOperationExecutor

          public UnbindOperationExecutor(LdapOperations ldapOperations,
                                         Name originalDn,
                                         Name temporaryDn)

      Constructor.
      Parameters:
        `ldapOperations` - The `LdapOperations` to use for performing the rollback operation.
        `originalDn` - The original DN of the entry to be removed.
        `temporaryDn` - Temporary DN of the entry to be removed; this is where the entry is temporarily stored during the transaction.

  - ### Method Detail

    - #### rollback

          public void rollback()

      Description copied from interface: `CompensatingTransactionOperationExecutor`
      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.
      Specified by:
        `rollback` in interface `CompensatingTransactionOperationExecutor`

    - #### commit

          public void commit()

      Description copied from interface: `CompensatingTransactionOperationExecutor`
      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.
      Specified by:
        `commit` in interface `CompensatingTransactionOperationExecutor`

    - #### performOperation

          public void performOperation()

      Description copied from interface: `CompensatingTransactionOperationExecutor`
      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.
      Specified by:
        `performOperation` in interface `CompensatingTransactionOperationExecutor`