public class RaftAtomicLongProxy extends Object implements IAtomicLong
IAtomicLong| Constructor and Description |
|---|
RaftAtomicLongProxy(NodeEngine nodeEngine,
RaftGroupId groupId,
String proxyName,
String objectName) |
| 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.
|
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.
|
void |
destroy()
Destroys this object cluster-wide.
|
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.
|
CPGroupId |
getGroupId() |
String |
getName()
Returns the name of this IAtomicLong instance.
|
String |
getPartitionKey()
Returns the key of the partition that this DistributedObject is assigned to.
|
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.
|
long |
localGet(QueryPolicy queryPolicy) |
ICompletableFuture<Long> |
localGetAsync(QueryPolicy queryPolicy) |
void |
set(long newValue)
Atomically sets the given value.
|
InternalCompletableFuture<Void> |
setAsync(long newValue)
Atomically sets the given value.
|
public RaftAtomicLongProxy(NodeEngine nodeEngine, RaftGroupId groupId, String proxyName, String objectName)
public long addAndGet(long delta)
IAtomicLongaddAndGet in interface IAtomicLongdelta - the value to add to the current valuepublic long incrementAndGet()
IAtomicLongincrementAndGet in interface IAtomicLongpublic long decrementAndGet()
IAtomicLongdecrementAndGet in interface IAtomicLongpublic boolean compareAndSet(long expect,
long update)
IAtomicLong== the expected value.compareAndSet in interface IAtomicLongexpect - the expected valueupdate - the new valuetrue if successful; or false if the actual value
was not equal to the expected value.public long getAndAdd(long delta)
IAtomicLonggetAndAdd in interface IAtomicLongdelta - the value to add to the current valuepublic long get()
IAtomicLongget in interface IAtomicLongpublic long getAndIncrement()
IAtomicLonggetAndIncrement in interface IAtomicLongpublic long getAndSet(long newValue)
IAtomicLonggetAndSet in interface IAtomicLongnewValue - the new valuepublic void set(long newValue)
IAtomicLongset in interface IAtomicLongnewValue - the new valuepublic InternalCompletableFuture<Long> addAndGetAsync(long delta)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
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 future = atomicLong.addAndGetAsync(13);
// do something else, then read the result
// this method will block until the result is available
Long result = future.get();
ICompletableFuture 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> incrementAndGetAsync()
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
incrementAndGetAsync in interface IAtomicLongICompletableFuture with the updated valuepublic InternalCompletableFuture<Long> decrementAndGetAsync()
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
decrementAndGetAsync in interface IAtomicLongICompletableFuture with the updated 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 valuepublic InternalCompletableFuture<Long> getAndAddAsync(long delta)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
getAndAddAsync in interface IAtomicLongdelta - the value to addICompletableFuture with the old value before the additionpublic InternalCompletableFuture<Long> getAsync()
IAtomicLongICompletableFuture.getAsync in interface IAtomicLongICompletableFuture with the current valuepublic InternalCompletableFuture<Long> getAndIncrementAsync()
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
getAndIncrementAsync in interface IAtomicLongICompletableFuture with the old valuepublic InternalCompletableFuture<Long> getAndSetAsync(long newValue)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
getAndSetAsync in interface IAtomicLongnewValue - the new valueICompletableFuture with the old valuepublic InternalCompletableFuture<Void> setAsync(long newValue)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
setAsync in interface IAtomicLongnewValue - the new valueICompletableFuturepublic void alter(IFunction<Long,Long> function)
IAtomicLongalter in interface IAtomicLongfunction - the function applied to the currently stored valuepublic long alterAndGet(IFunction<Long,Long> function)
IAtomicLongalterAndGet in interface IAtomicLongfunction - the function applied to the currently stored valuepublic long getAndAlter(IFunction<Long,Long> function)
IAtomicLonggetAndAlter in interface IAtomicLongfunction - the function applied to the currently stored valuepublic <R> R apply(IFunction<Long,R> function)
IAtomicLongapply in interface IAtomicLongfunction - the function applied to the value, the value is not changedpublic InternalCompletableFuture<Void> alterAsync(IFunction<Long,Long> function)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
alterAsync in interface IAtomicLongfunction - the functionICompletableFuture with the new valuepublic InternalCompletableFuture<Long> alterAndGetAsync(IFunction<Long,Long> function)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
alterAndGetAsync in interface IAtomicLongfunction - the functionICompletableFuture with the new valuepublic InternalCompletableFuture<Long> getAndAlterAsync(IFunction<Long,Long> function)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture.
getAndAlterAsync in interface IAtomicLongfunction - the functionICompletableFuture with the old valuepublic <R> InternalCompletableFuture<R> applyAsync(IFunction<Long,R> function)
IAtomicLong
This method will dispatch a request and return immediately an
ICompletableFuture. For example:
class IsOneFunction implements IFunction {
@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 long localGet(QueryPolicy queryPolicy)
public ICompletableFuture<Long> localGetAsync(QueryPolicy queryPolicy)
public String getPartitionKey()
DistributedObjectIAtomicLong. For a partitioned data structure like an IMap,
the returned value will not be null, but otherwise undefined.getPartitionKey in interface DistributedObjectpublic String getName()
IAtomicLonggetName in interface DistributedObjectgetName in interface IAtomicLongpublic String getServiceName()
DistributedObjectgetServiceName in interface DistributedObjectpublic void destroy()
DistributedObjectdestroy in interface DistributedObjectpublic CPGroupId getGroupId()
Copyright © 2019 Hazelcast, Inc.. All Rights Reserved.