org.multiverse.stms.gamma.transactions

## Class SpeculativeGammaConfiguration

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

    public final class SpeculativeGammaConfiguration
    extends java.lang.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
`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 and 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

Methods
`SpeculativeGammaConfiguration` `newWithAbortOnly()`
`SpeculativeGammaConfiguration` `newWithCommute()`
`SpeculativeGammaConfiguration` `newWithConstructedObjects()`
`SpeculativeGammaConfiguration` `newWithEnsure()`
`SpeculativeGammaConfiguration` `newWithListeners()`
`SpeculativeGammaConfiguration` `newWithLocks()`
`SpeculativeGammaConfiguration` `newWithMinimalLength(int newMinimalLength)`
`SpeculativeGammaConfiguration` `newWithNonRefType()`
`SpeculativeGammaConfiguration` `newWithOrElse()`
`SpeculativeGammaConfiguration` `newWithRichMansConflictScan()`
`java.lang.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 java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`