com.hazelcast.core
Interface IAtomicReference<E>

All Superinterfaces:
DistributedObject
All Known Subinterfaces:
AsyncAtomicReference<E>

public interface IAtomicReference<E>
extends DistributedObject

IAtomicReference is a redundant and highly available distributed alternative to the java.util.concurrent.atomic.AtomicReference.

Since:
3.2
See Also:
IAtomicLong

Method Summary
 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.
<R> R
apply(IFunction<E,R> function)
          Applies a function on the value, the actual stored value will not change.
 void clear()
          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.
 boolean contains(E value)
          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.
 E getAndSet(E newValue)
          Gets the value and sets the new value.
 boolean isNull()
          Checks if the stored reference is null.
 void set(E newValue)
          Atomically sets the given value.
 E setAndGet(E update)
          Sets and gets the value.
 
Methods inherited from interface com.hazelcast.core.DistributedObject
destroy, getId, getName, getPartitionKey, getServiceName
 

Method Detail

compareAndSet

boolean compareAndSet(E expect,
                      E update)
Atomically sets the value to the given updated value only if the current value == the expected value.

Parameters:
expect - the expected value
update - the new value
Returns:
true if successful; or false if the actual value was not equal to the expected value.

get

E get()
Gets the current value.

Returns:
the current value

set

void set(E newValue)
Atomically sets the given value.

Parameters:
newValue - the new value

getAndSet

E getAndSet(E newValue)
Gets the value and sets the new value.

Parameters:
newValue - the new value.
Returns:
the old value.

setAndGet

E setAndGet(E update)
Sets and gets the value.

Parameters:
update - the new value
Returns:
the new value

isNull

boolean isNull()
Checks if the stored reference is null.

Returns:
true if null, false otherwise.

clear

void clear()
Clears the current stored reference.


contains

boolean contains(E value)
Checks if the reference contains the value.

Parameters:
value - the value to check (is allowed to be null).
Returns:
if the value is found, false otherwise.

alter

void alter(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it.

Parameters:
function - the function
Throws:
IllegalArgumentException - if function is null.

alterAndGet

E alterAndGet(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it and gets the result.

Parameters:
function - the function
Returns:
the new value.
Throws:
IllegalArgumentException - if function is null.

getAndAlter

E getAndAlter(IFunction<E,E> function)
Alters the currently stored reference by applying a function on it on and gets the old value.

Parameters:
function - the function
Returns:
the old value
Throws:
IllegalArgumentException - if function is null.

apply

<R> R apply(IFunction<E,R> function)
Applies a function on the value, the actual stored value will not change.

Parameters:
function - the function
Returns:
the result of the function application
Throws:
IllegalArgumentException - if function is null.


Copyright © 2014 Hazelcast, Inc.. All Rights Reserved.