org.multiverse.api.exceptions

## Class IllegalCommuteException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - org.multiverse.api.exceptions.TxnExecutionException
        - - org.multiverse.api.exceptions.IllegalCommuteException

All Implemented Interfaces:
  java.io.Serializable

    public class IllegalCommuteException
    extends TxnExecutionException

A `TxnExecutionException` thrown when `Txn` access is done while a commuting function is being evaluated.

The reason why Txn access is not allowed, is that once other reads/writes are done while executing the commuting behavior, you can have read/write inconsistencies. E.g. in Clojure the same commuting function can be executed more than during the execution of a transaction once on a reference, leading to different values every time executed (e.g. the value it already had inside the transaction, and the most recent committed value when the commuting operation is calculated during transaction commit.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`IllegalCommuteException(java.lang.String message)` Creates a new IllegalCommuteException with the provided message.
`IllegalCommuteException(java.lang.String message, java.lang.Throwable cause)` Creates a new IllegalCommuteException with the provided message and cause.

### Method Summary

### Methods inherited from class java.lang.Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

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

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

### Constructor Detail

#### IllegalCommuteException

    public IllegalCommuteException(java.lang.String message)

Creates a new IllegalCommuteException with the provided message.

Parameters:
  `message` - the message

#### IllegalCommuteException

    public IllegalCommuteException(java.lang.String message,
                           java.lang.Throwable cause)

Creates a new IllegalCommuteException with the provided message and cause.

Parameters:
  `message` - the message
  `cause` - the cause.