org.apache.ignite.internal.util

## Class GridAtomicInteger

- java.lang.Object
- - java.lang.Number
  - - java.util.concurrent.atomic.AtomicInteger
    - - org.apache.ignite.internal.util.GridAtomicInteger

All Implemented Interfaces:
  Serializable

    public class GridAtomicInteger
    extends AtomicInteger

Extended version of `AtomicInteger`.

In addition to operations provided in java atomic data structures, this class also adds greater than and less than atomic set operations.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`GridAtomicInteger()` Creates a new AtomicInteger with initial value `0`.
`GridAtomicInteger(int initVal)` Creates a new AtomicInteger with the given initial value.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `checkAndSet(IgnitePredicate<Integer> p, int update)` Atomically updates value only if passed in predicate returns `true`.
`boolean` `greaterAndSet(int check, int update)` Atomically updates value only if `check` value is greater than current value.
`boolean` `greaterEqualsAndSet(int check, int update)` Atomically updates value only if `check` value is greater than or equal to current value.
`boolean` `lessAndSet(int check, int update)` Atomically updates value only if `check` value is less than current value.
`boolean` `lessEqualsAndSet(int check, int update)` Atomically updates value only if `check` value is less than current value.
`boolean` `setIfGreater(int update)` Sets value only if it is greater than current one.
`boolean` `setIfGreaterEquals(int update)` Sets value only if it is greater than or equals to current one.
`boolean` `setIfLess(int update)` Sets value only if it is less than current one.
`boolean` `setIfLessEquals(int update)` Sets value only if it is less than or equals to current one.
`boolean` `setIfNotEquals(int update)` Sets value only if it is not equals to current one.

### Methods inherited from class java.util.concurrent.atomic.AtomicInteger

`accumulateAndGet, addAndGet, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, incrementAndGet, intValue, lazySet, longValue, set, toString, updateAndGet, weakCompareAndSet`

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

`byteValue, shortValue`

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

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

### Constructor Detail

#### GridAtomicInteger

    public GridAtomicInteger()

Creates a new AtomicInteger with initial value `0`.

#### GridAtomicInteger

    public GridAtomicInteger(int initVal)

Creates a new AtomicInteger with the given initial value.

Parameters:
  `initVal` - the initial value

### Method Detail

#### greaterAndSet

    public boolean greaterAndSet(int check,
                                 int update)

Atomically updates value only if `check` value is greater than current value.

Parameters:
  `check` - Value to check against.
  `update` - Value to set.
Returns:
  `True` if value was set.

#### greaterEqualsAndSet

    public boolean greaterEqualsAndSet(int check,
                                       int update)

Atomically updates value only if `check` value is greater than or equal to current value.

Parameters:
  `check` - Value to check against.
  `update` - Value to set.
Returns:
  `True` if value was set.

#### lessAndSet

    public boolean lessAndSet(int check,
                              int update)

Atomically updates value only if `check` value is less than current value.

Parameters:
  `check` - Value to check against.
  `update` - Value to set.
Returns:
  `True` if value was set.

#### lessEqualsAndSet

    public boolean lessEqualsAndSet(int check,
                                    int update)

Atomically updates value only if `check` value is less than current value.

Parameters:
  `check` - Value to check against.
  `update` - Value to set.
Returns:
  `True` if value was set.

#### setIfGreater

    public boolean setIfGreater(int update)

Sets value only if it is greater than current one.

Parameters:
  `update` - Value to set.
Returns:
  `True` if value was set.

#### setIfGreaterEquals

    public boolean setIfGreaterEquals(int update)

Sets value only if it is greater than or equals to current one.

Parameters:
  `update` - Value to set.
Returns:
  `True` if value was set.

#### setIfLess

    public boolean setIfLess(int update)

Sets value only if it is less than current one.

Parameters:
  `update` - Value to set.
Returns:
  `True` if value was set.

#### setIfLessEquals

    public boolean setIfLessEquals(int update)

Sets value only if it is less than or equals to current one.

Parameters:
  `update` - Value to set.
Returns:
  `True` if value was set.

#### setIfNotEquals

    public boolean setIfNotEquals(int update)

Sets value only if it is not equals to current one.

Parameters:
  `update` - Value to set.
Returns:
  `True` if value was set.

#### checkAndSet

    public boolean checkAndSet(IgnitePredicate<Integer> p,
                               int update)

Atomically updates value only if passed in predicate returns `true`.

Parameters:
  `p` - Predicate to check.
  `update` - Value to set.
Returns:
  `True` if value was set.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.12.0
Release Date | : January 10 2022