org.jgroups.blocks

## Interface TwoPhaseVotingListener

All Known Implementing Classes:
  DistributedLockManager

    public interface TwoPhaseVotingListener

Implementations of this interface can participate in two-phase voting process.

Author:
  Roman Rokytskyy (rrokytskyy@acm.org)

### Method Summary

Methods
`void` `abort(java.lang.Object decree)` This is unconditional abort of the previous voting on the decree.
`boolean` `commit(java.lang.Object decree)` This is voting on the commiting the decree.
`boolean` `prepare(java.lang.Object decree)` This is voting if the decree is acceptable to the party.

### Method Detail

#### prepare

    boolean prepare(java.lang.Object decree)
                    throws VoteException

This is voting if the decree is acceptable to the party.

Returns:
  `true` if the decree is acceptable.
Throws:
  `VoteException` - if the decree type is unknown or listener does not want to vote on it.

#### commit

    boolean commit(java.lang.Object decree)
                   throws VoteException

This is voting on the commiting the decree.

Returns:
  `true` is the decree is commited.
Throws:
  `VoteException` - if the decree type is unknown or listener does not want to vote on it.

#### abort

    void abort(java.lang.Object decree)
               throws VoteException

This is unconditional abort of the previous voting on the decree.

Throws:
  `VoteException` - if the listener ignores the abort.