public class AtomicLongProxy extends AbstractDistributedObject<AtomicLongService> implements AsyncAtomicLong
PARTITIONING_STRATEGY| Constructor and Description |
|---|
AtomicLongProxy(String name,
NodeEngine nodeEngine,
AtomicLongService service) |
| Modifier and Type | Method and Description |
|---|---|
long |
addAndGet(long delta)
Atomically adds the given value to the current value.
|
InternalCompletableFuture<Long> |
addAndGetAsync(long delta)
Atomically adds the given value to the current value.
|
void |
alter(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it.
|
long |
alterAndGet(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it and gets the result.
|
InternalCompletableFuture<Long> |
alterAndGetAsync(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it and gets the result.
|
InternalCompletableFuture<Void> |
alterAsync(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it.
|
<R> R |
apply(IFunction<Long,R> function)
Applies a function on the value, the actual stored value will not change.
|
<R> InternalCompletableFuture<R> |
applyAsync(IFunction<Long,R> function)
Applies a function on the value, the actual stored value will not change.
|
InternalCompletableFuture<Long> |
asyncAddAndGet(long delta)
Atomically adds the given value to the current value.
|
InternalCompletableFuture<Void> |
asyncAlter(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it.
|
InternalCompletableFuture<Long> |
asyncAlterAndGet(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it and gets the result.
|
<R> InternalCompletableFuture<R> |
asyncApply(IFunction<Long,R> function)
Applies a function on the value, the actual stored value will not change.
|
InternalCompletableFuture<Boolean> |
asyncCompareAndSet(long expect,
long update)
Atomically sets the value to the given updated value
only if the current value
== the expected value. |
InternalCompletableFuture<Long> |
asyncDecrementAndGet()
Atomically decrements the current value by one.
|
InternalCompletableFuture<Long> |
asyncGet()
Gets the current value.
|
InternalCompletableFuture<Long> |
asyncGetAndAdd(long delta)
Atomically adds the given value to the current value.
|
InternalCompletableFuture<Long> |
asyncGetAndAlter(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it on and gets the old value.
|
InternalCompletableFuture<Long> |
asyncGetAndIncrement()
Atomically increments the current value by one.
|
InternalCompletableFuture<Long> |
asyncGetAndSet(long newValue)
Atomically sets the given value and returns the old value.
|
InternalCompletableFuture<Long> |
asyncIncrementAndGet()
Atomically increments the current value by one.
|
InternalCompletableFuture<Void> |
asyncSet(long newValue)
Atomically sets the given value.
|
boolean |
compareAndSet(long expect,
long update)
Atomically sets the value to the given updated value
only if the current value
== the expected value. |
InternalCompletableFuture<Boolean> |
compareAndSetAsync(long expect,
long update)
Atomically sets the value to the given updated value
only if the current value
== the expected value. |
long |
decrementAndGet()
Atomically decrements the current value by one.
|
InternalCompletableFuture<Long> |
decrementAndGetAsync()
Atomically decrements the current value by one.
|
long |
get()
Gets the current value.
|
long |
getAndAdd(long delta)
Atomically adds the given value to the current value.
|
InternalCompletableFuture<Long> |
getAndAddAsync(long delta)
Atomically adds the given value to the current value.
|
long |
getAndAlter(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it on and gets the old value.
|
InternalCompletableFuture<Long> |
getAndAlterAsync(IFunction<Long,Long> function)
Alters the currently stored value by applying a function on it on and gets the old value.
|
long |
getAndIncrement()
Atomically increments the current value by one.
|
InternalCompletableFuture<Long> |
getAndIncrementAsync()
Atomically increments the current value by one.
|
long |
getAndSet(long newValue)
Atomically sets the given value and returns the old value.
|
InternalCompletableFuture<Long> |
getAndSetAsync(long newValue)
Atomically sets the given value and returns the old value.
|
InternalCompletableFuture<Long> |
getAsync()
Gets the current value.
|
String |
getName()
Returns the name of this IAtomicLong instance.
|
int |
getPartitionId() |
String |
getServiceName()
Returns the service name for this object.
|
long |
incrementAndGet()
Atomically increments the current value by one.
|
InternalCompletableFuture<Long> |
incrementAndGetAsync()
Atomically increments the current value by one.
|
void |
set(long newValue)
Atomically sets the given value.
|
InternalCompletableFuture<Void> |
setAsync(long newValue)
Atomically sets the given value.
|
String |
toString() |
destroy, equals, getDistributedObjectName, getNameAsPartitionAwareData, getNodeEngine, getOperationService, getPartitionId, getPartitionKey, getService, hashCode, invalidate, invokeOnPartition, postDestroy, preDestroy, throwNotActiveException, toDataclone, finalize, getClass, notify, notifyAll, wait, wait, waitdestroy, getPartitionKeypublic AtomicLongProxy(String name, NodeEngine nodeEngine, AtomicLongService service)
public String getName()
IAtomicLonggetName in interface DistributedObjectgetName in interface IAtomicLongpublic int getPartitionId()
public String getServiceName()
DistributedObjectgetServiceName in interface DistributedObjectgetServiceName in class AbstractDistributedObject<AtomicLongService>public long addAndGet(long delta)
IAtomicLongaddAndGet in interface IAtomicLongdelta - the value to add to the current valuepublic InternalCompletableFuture<Long> addAndGetAsync(long delta)
IAtomicLongICompletableFuture.
The operations result can be obtained in a blocking way, or a
callback can be provided for execution upon completion, as demonstrated in the following examples:
ICompletableFuture<Long> future = atomicLong.addAndGetAsync(13);
// do something else, then read the result
Long result = future.get(); // this method will block until the result is available
ICompletableFuture<Long> future = atomicLong.addAndGetAsync(13);
future.andThen(new ExecutionCallback<Long>() {
void onResponse(Long response) {
// do something with the result
}
void onFailure(Throwable t) {
// handle failure
}
});
addAndGetAsync in interface IAtomicLongdelta - the value to addICompletableFuture bearing the responsepublic InternalCompletableFuture<Long> asyncAddAndGet(long delta)
AsyncAtomicLongasyncAddAndGet in interface AsyncAtomicLongdelta - the value to addpublic boolean compareAndSet(long expect,
long update)
IAtomicLong== the expected value.compareAndSet in interface IAtomicLongexpect - the expected valueupdate - the new valuepublic InternalCompletableFuture<Boolean> compareAndSetAsync(long expect, long update)
IAtomicLong== the expected value.
This method will dispatch a request and return immediately an ICompletableFuture.compareAndSetAsync in interface IAtomicLongexpect - the expected valueupdate - the new valueICompletableFuture with value true if successful; or false if the actual value
was not equal to the expected value.public InternalCompletableFuture<Boolean> asyncCompareAndSet(long expect, long update)
AsyncAtomicLong== the expected value.asyncCompareAndSet in interface AsyncAtomicLongexpect - the expected valueupdate - the new valuepublic void set(long newValue)
IAtomicLongset in interface IAtomicLongnewValue - the new valuepublic InternalCompletableFuture<Void> setAsync(long newValue)
IAtomicLongICompletableFuture.setAsync in interface IAtomicLongnewValue - the new valueICompletableFuture API consumers can use to track execution of this requestpublic InternalCompletableFuture<Void> asyncSet(long newValue)
AsyncAtomicLongasyncSet in interface AsyncAtomicLongnewValue - the new valuepublic long getAndSet(long newValue)
IAtomicLonggetAndSet in interface IAtomicLongnewValue - the new valuepublic InternalCompletableFuture<Long> getAndSetAsync(long newValue)
IAtomicLongICompletableFuture.getAndSetAsync in interface IAtomicLongnewValue - the new valueICompletableFuture with the old valuepublic InternalCompletableFuture<Long> asyncGetAndSet(long newValue)
AsyncAtomicLongasyncGetAndSet in interface AsyncAtomicLongnewValue - the new valuepublic long getAndAdd(long delta)
IAtomicLonggetAndAdd in interface IAtomicLongdelta - the value to add to the current valuepublic InternalCompletableFuture<Long> getAndAddAsync(long delta)
IAtomicLongICompletableFuture.getAndAddAsync in interface IAtomicLongdelta - the value to addICompletableFuture with the old value before the additionpublic InternalCompletableFuture<Long> asyncGetAndAdd(long delta)
AsyncAtomicLongasyncGetAndAdd in interface AsyncAtomicLongdelta - the value to addpublic long decrementAndGet()
IAtomicLongdecrementAndGet in interface IAtomicLongpublic InternalCompletableFuture<Long> decrementAndGetAsync()
IAtomicLongICompletableFuture.decrementAndGetAsync in interface IAtomicLongICompletableFuture with the updated value.public InternalCompletableFuture<Long> asyncDecrementAndGet()
AsyncAtomicLongasyncDecrementAndGet in interface AsyncAtomicLongpublic long get()
IAtomicLongget in interface IAtomicLongpublic InternalCompletableFuture<Long> getAsync()
IAtomicLongICompletableFuture.getAsync in interface IAtomicLongICompletableFuture with the current valuepublic InternalCompletableFuture<Long> asyncGet()
AsyncAtomicLongasyncGet in interface AsyncAtomicLongpublic long incrementAndGet()
IAtomicLongincrementAndGet in interface IAtomicLongpublic InternalCompletableFuture<Long> incrementAndGetAsync()
IAtomicLongICompletableFuture.incrementAndGetAsync in interface IAtomicLongICompletableFuture with the updated valuepublic InternalCompletableFuture<Long> asyncIncrementAndGet()
AsyncAtomicLongasyncIncrementAndGet in interface AsyncAtomicLongpublic long getAndIncrement()
IAtomicLonggetAndIncrement in interface IAtomicLongpublic InternalCompletableFuture<Long> getAndIncrementAsync()
IAtomicLongICompletableFuture.getAndIncrementAsync in interface IAtomicLongICompletableFuture with the old valuepublic InternalCompletableFuture<Long> asyncGetAndIncrement()
AsyncAtomicLongasyncGetAndIncrement in interface AsyncAtomicLongpublic void alter(IFunction<Long,Long> function)
IAtomicLongalter in interface IAtomicLongfunction - the function applied to the currently stored valuepublic InternalCompletableFuture<Void> alterAsync(IFunction<Long,Long> function)
IAtomicLongICompletableFuture.alterAsync in interface IAtomicLongfunction - the functionICompletableFuture API consumers can use to track execution of this requestpublic InternalCompletableFuture<Void> asyncAlter(IFunction<Long,Long> function)
AsyncAtomicLongasyncAlter in interface AsyncAtomicLongfunction - the functionpublic long alterAndGet(IFunction<Long,Long> function)
IAtomicLongalterAndGet in interface IAtomicLongfunction - the function applied to the currently stored valuepublic InternalCompletableFuture<Long> alterAndGetAsync(IFunction<Long,Long> function)
IAtomicLongICompletableFuture.alterAndGetAsync in interface IAtomicLongfunction - the functionICompletableFuture with the new value.public InternalCompletableFuture<Long> asyncAlterAndGet(IFunction<Long,Long> function)
AsyncAtomicLongasyncAlterAndGet in interface AsyncAtomicLongfunction - the functionpublic long getAndAlter(IFunction<Long,Long> function)
IAtomicLonggetAndAlter in interface IAtomicLongfunction - the function applied to the currently stored valuepublic InternalCompletableFuture<Long> getAndAlterAsync(IFunction<Long,Long> function)
IAtomicLongICompletableFuture.getAndAlterAsync in interface IAtomicLongfunction - the functionICompletableFuture with the old valuepublic InternalCompletableFuture<Long> asyncGetAndAlter(IFunction<Long,Long> function)
AsyncAtomicLongasyncGetAndAlter in interface AsyncAtomicLongfunction - the functionpublic <R> R apply(IFunction<Long,R> function)
IAtomicLongapply in interface IAtomicLongfunction - the function applied to the value, the value is not changedpublic <R> InternalCompletableFuture<R> applyAsync(IFunction<Long,R> function)
IAtomicLongICompletableFuture.
Example:
class IsOneFunction implements IFunction<Long, Boolean> {
@Override
public Boolean apply(Long input) {
return input.equals(1L);
}
}
ICompletableFuture future = atomicLong.applyAsync(new IsOneFunction());
future.andThen(new ExecutionCallback<Boolean>() {
void onResponse(Boolean response) {
// do something with the response
}
void onFailure(Throwable t) {
// handle failure
}
});
applyAsync in interface IAtomicLongfunction - the functionICompletableFuture with the result of the function applicationpublic <R> InternalCompletableFuture<R> asyncApply(IFunction<Long,R> function)
AsyncAtomicLongasyncApply in interface AsyncAtomicLongfunction - the functionpublic String toString()
toString in class AbstractDistributedObject<AtomicLongService>Copyright © 2018 Hazelcast, Inc.. All Rights Reserved.