Package org.multiverse.stms.gamma.transactions

## Class SpeculativeGammaConfiguration

- java.lang.Object
- - org.multiverse.stms.gamma.transactions.SpeculativeGammaConfiguration

-     public final class SpeculativeGammaConfiguration
      extends Object

  The GammaStm uses a speculative mechanism (if enabled) to learn from executing transactions. Transactions start cheap and with a lot of features disabled, but once the speculation failed, the SpeculativeGammaConfguration is 'updated'.

  This class is immutable.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `boolean` | `abortOnlyDetected` |
    `boolean` | `commuteDetected` |
    `boolean` | `constructedObjectsDetected` |
    `boolean` | `ensureDetected` |
    `boolean` | `fat` |
    `boolean` | `listenersDetected` |
    `boolean` | `locksDetected` |
    `int` | `minimalLength` |
    `boolean` | `nonRefTypeDetected` |
    `boolean` | `orelseDetected` |
    `boolean` | `richMansConflictScanRequired` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SpeculativeGammaConfiguration()` | Creates a full speculative SpeculativeGammaConfiguration.
    `SpeculativeGammaConfiguration​(boolean isFat, boolean listenersDetected, boolean isCommuteDetected, boolean isNonRefTypeDetected, boolean isOrelseDetected, boolean locksDetected, boolean constructedObjectsDetected, boolean isRichMansConflictScanRequired, boolean isAbortOnlyDetected, boolean ensureDetected, int minimalLength)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SpeculativeGammaConfiguration` | `newWithAbortOnly()` |
    `SpeculativeGammaConfiguration` | `newWithCommute()` |
    `SpeculativeGammaConfiguration` | `newWithConstructedObjects()` |
    `SpeculativeGammaConfiguration` | `newWithEnsure()` |
    `SpeculativeGammaConfiguration` | `newWithListeners()` |
    `SpeculativeGammaConfiguration` | `newWithLocks()` |
    `SpeculativeGammaConfiguration` | `newWithMinimalLength​(int newMinimalLength)` |
    `SpeculativeGammaConfiguration` | `newWithNonRefType()` |
    `SpeculativeGammaConfiguration` | `newWithOrElse()` |
    `SpeculativeGammaConfiguration` | `newWithRichMansConflictScan()` |
    `String` | `toString()` |

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

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

- - ### Field Detail

    - #### listenersDetected

          public final boolean listenersDetected

    - #### commuteDetected

          public final boolean commuteDetected

    - #### orelseDetected

          public final boolean orelseDetected

    - #### nonRefTypeDetected

          public final boolean nonRefTypeDetected

    - #### fat

          public final boolean fat

    - #### locksDetected

          public final boolean locksDetected

    - #### constructedObjectsDetected

          public final boolean constructedObjectsDetected

    - #### richMansConflictScanRequired

          public final boolean richMansConflictScanRequired

    - #### abortOnlyDetected

          public final boolean abortOnlyDetected

    - #### ensureDetected

          public final boolean ensureDetected

    - #### minimalLength

          public final int minimalLength

  - ### Constructor Detail

    - #### SpeculativeGammaConfiguration

          public SpeculativeGammaConfiguration()

      Creates a full speculative SpeculativeGammaConfiguration.

    - #### SpeculativeGammaConfiguration

          public SpeculativeGammaConfiguration​(boolean isFat,
                                               boolean listenersDetected,
                                               boolean isCommuteDetected,
                                               boolean isNonRefTypeDetected,
                                               boolean isOrelseDetected,
                                               boolean locksDetected,
                                               boolean constructedObjectsDetected,
                                               boolean isRichMansConflictScanRequired,
                                               boolean isAbortOnlyDetected,
                                               boolean ensureDetected,
                                               int minimalLength)

  - ### Method Detail

    - #### newWithMinimalLength

          public SpeculativeGammaConfiguration newWithMinimalLength​(int newMinimalLength)

    - #### newWithLocks

          public SpeculativeGammaConfiguration newWithLocks()

    - #### newWithAbortOnly

          public SpeculativeGammaConfiguration newWithAbortOnly()

    - #### newWithConstructedObjects

          public SpeculativeGammaConfiguration newWithConstructedObjects()

    - #### newWithListeners

          public SpeculativeGammaConfiguration newWithListeners()

    - #### newWithOrElse

          public SpeculativeGammaConfiguration newWithOrElse()

    - #### newWithNonRefType

          public SpeculativeGammaConfiguration newWithNonRefType()

    - #### newWithCommute

          public SpeculativeGammaConfiguration newWithCommute()

    - #### newWithRichMansConflictScan

          public SpeculativeGammaConfiguration newWithRichMansConflictScan()

    - #### newWithEnsure

          public SpeculativeGammaConfiguration newWithEnsure()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`