public interface IAtomicReference<E> extends DistributedObject
java.util.concurrent.atomic.AtomicReference.
 Asynchronous variants have been introduced in version 3.7.
 Async methods return immediately an ICompletableFuture from which the operation's result
 can be obtained either in a blocking manner or by registering a callback to be executed
 upon completion. For example:
 
     ICompletableFuture<E> future = atomicRef.getAsync();
     future.andThen(new ExecutionCallback<E>() {
          void onResponse(Long response) {
              // do something with the result
          }
          void onFailure(Throwable t) {
              // handle failure
          }
     });
 
 
 In split-brain scenarios, the atomicity of the reference is lost.  It is possible for different references to
 exist in different cluster partitions. When the split-brain heals, Hazelcast employs a largest cluster wins
 policy to decide which of the IAtomicReference to use.  When the cluster size are equal, a random winner
 is chosen.
 Supports Quorum QuorumConfig since 3.10 in cluster versions 3.10 and higher.
IAtomicLong| Modifier and Type | Method and Description | 
|---|---|
void | 
alter(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it. 
 | 
E | 
alterAndGet(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it and gets the result. 
 | 
ICompletableFuture<E> | 
alterAndGetAsync(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it and gets the result. 
 | 
ICompletableFuture<Void> | 
alterAsync(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it. 
 | 
<R> R | 
apply(IFunction<E,R> function)
Applies a function on the value, the actual stored value will not change. 
 | 
<R> ICompletableFuture<R> | 
applyAsync(IFunction<E,R> function)
Applies a function on the value, the actual stored value will not change. 
 | 
void | 
clear()
Clears the current stored reference. 
 | 
ICompletableFuture<Void> | 
clearAsync()
Clears the current stored reference. 
 | 
boolean | 
compareAndSet(E expect,
             E update)
Atomically sets the value to the given updated value
 only if the current value  
== the expected value. | 
ICompletableFuture<Boolean> | 
compareAndSetAsync(E expect,
                  E update)
Atomically sets the value to the given updated value
 only if the current value  
== the expected value. | 
boolean | 
contains(E value)
Checks if the reference contains the value. 
 | 
ICompletableFuture<Boolean> | 
containsAsync(E expected)
Checks if the reference contains the value. 
 | 
E | 
get()
Gets the current value. 
 | 
E | 
getAndAlter(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it on and gets the old value. 
 | 
ICompletableFuture<E> | 
getAndAlterAsync(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it on and gets the old value. 
 | 
E | 
getAndSet(E newValue)
Gets the old value and sets the new value. 
 | 
ICompletableFuture<E> | 
getAndSetAsync(E newValue)
Gets the value and sets the new value. 
 | 
ICompletableFuture<E> | 
getAsync()
Gets the current value. 
 | 
boolean | 
isNull()
Checks if the stored reference is null. 
 | 
ICompletableFuture<Boolean> | 
isNullAsync()
Checks if the stored reference is null. 
 | 
void | 
set(E newValue)
Atomically sets the given value. 
 | 
E | 
setAndGet(E update)
Deprecated. 
 
will be removed from Hazelcast 3.4 since it doesn't really serve a purpose. 
 | 
ICompletableFuture<Void> | 
setAsync(E newValue)
Atomically sets the given value. 
 | 
destroy, getName, getPartitionKey, getServiceNameboolean compareAndSet(E expect, E update)
== the expected value.expect - the expected valueupdate - the new valueE get()
void set(E newValue)
newValue - the new valueE getAndSet(E newValue)
newValue - the new value.E setAndGet(E update)
update - the new valueboolean isNull()
void clear()
boolean contains(E value)
value - the value to check (is allowed to be null).void alter(IFunction<E,E> function)
function - the function that alters the currently stored referenceIllegalArgumentException - if function is null.E alterAndGet(IFunction<E,E> function)
function - the function that alters the currently stored referenceIllegalArgumentException - if function is null.E getAndAlter(IFunction<E,E> function)
function - the function that alters the currently stored referenceIllegalArgumentException - if function is null.<R> R apply(IFunction<E,R> function)
function - the function applied on the value, the stored value does not changeIllegalArgumentException - if function is null.ICompletableFuture<Boolean> compareAndSetAsync(E expect, E update)
== the expected value.expect - the expected valueupdate - the new valueICompletableFuture<E> getAsync()
ICompletableFuture<Void> setAsync(E newValue)
newValue - the new valueICompletableFuture<E> getAndSetAsync(E newValue)
newValue - the new value.ICompletableFuture<Boolean> isNullAsync()
ICompletableFuture<Void> clearAsync()
ICompletableFuture<Boolean> containsAsync(E expected)
expected - the value to check (is allowed to be null).ICompletableFuture<Void> alterAsync(IFunction<E,E> function)
function - the functionIllegalArgumentException - if function is null.ICompletableFuture<E> alterAndGetAsync(IFunction<E,E> function)
function - the functionIllegalArgumentException - if function is null.ICompletableFuture<E> getAndAlterAsync(IFunction<E,E> function)
function - the functionIllegalArgumentException - if function is null.<R> ICompletableFuture<R> applyAsync(IFunction<E,R> function)
function - the functionIllegalArgumentException - if function is null.Copyright © 2018 Hazelcast, Inc.. All Rights Reserved.