Package org.onosproject.store.service
Interface AtomicCounterMap<K>
-
- All Superinterfaces:
DistributedPrimitive
- All Known Implementing Classes:
DefaultAtomicCounterMap
public interface AtomicCounterMap<K> extends DistributedPrimitive
Distributed version of com.google.common.util.concurrent.AtomicLongMap.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.onosproject.store.service.DistributedPrimitive
DistributedPrimitive.Status, DistributedPrimitive.Type
-
-
Field Summary
-
Fields inherited from interface org.onosproject.store.service.DistributedPrimitive
DEFAULT_OPERATION_TIMEOUT_MILLIS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description longaddAndGet(K key, long delta)Adds delta to the value currently associated with key, and returns the new value.voidclear()Clears all entries from the map.longdecrementAndGet(K key)Decrements by one the value currently associated with key, and returns the new value.longget(K key)Returns the value associated with key, or zero if there is no value associated with key.longgetAndAdd(K key, long delta)Adds delta to the value currently associated with key, and returns the old value.longgetAndDecrement(K key)Decrements by one the value currently associated with key, and returns the old value.longgetAndIncrement(K key)Increments by one the value currently associated with key, and returns the old value.longincrementAndGet(K key)Increments by one the value currently associated with key, and returns the new value.booleanisEmpty()If the map is empty, returns true, otherwise false.default DistributedPrimitive.TypeprimitiveType()Returns the type of primitive.longput(K key, long newValue)Associates ewValue with key in this map, and returns the value previously associated with key, or zero if there was no such value.longputIfAbsent(K key, long newValue)If key is not already associated with a value or if key is associated with zero, associate it with newValue.longremove(K key)Removes and returns the value associated with key.booleanremove(K key, long value)If (key, value) is currently in the map, this method removes it and returns true; otherwise, this method returns false.booleanreplace(K key, long expectedOldValue, long newValue)If (key, expectedOldValue) is currently in the map, this method replaces expectedOldValue with newValue and returns true; otherwise, this method return false.intsize()Returns the number of entries in the map.-
Methods inherited from interface org.onosproject.store.service.DistributedPrimitive
addStatusChangeListener, applicationId, destroy, name, removeStatusChangeListener, statusChangeListeners
-
-
-
-
Method Detail
-
primitiveType
default DistributedPrimitive.Type primitiveType()
Description copied from interface:DistributedPrimitiveReturns the type of primitive.- Specified by:
primitiveTypein interfaceDistributedPrimitive- Returns:
- primitive type
-
incrementAndGet
long incrementAndGet(K key)
Increments by one the value currently associated with key, and returns the new value.- Parameters:
key- key with which the specified value is to be associated- Returns:
- incremented value
-
decrementAndGet
long decrementAndGet(K key)
Decrements by one the value currently associated with key, and returns the new value.- Parameters:
key- key with which the specified value is to be associated- Returns:
- updated value
-
getAndIncrement
long getAndIncrement(K key)
Increments by one the value currently associated with key, and returns the old value.- Parameters:
key- key with which the specified value is to be associated- Returns:
- previous value
-
getAndDecrement
long getAndDecrement(K key)
Decrements by one the value currently associated with key, and returns the old value.- Parameters:
key- key with which the specified value is to be associated- Returns:
- previous value
-
addAndGet
long addAndGet(K key, long delta)
Adds delta to the value currently associated with key, and returns the new value.- Parameters:
key- key with which the specified value is to be associateddelta- the value to add- Returns:
- updated value
-
getAndAdd
long getAndAdd(K key, long delta)
Adds delta to the value currently associated with key, and returns the old value.- Parameters:
key- key with which the specified value is to be associateddelta- the value to add- Returns:
- previous value
-
get
long get(K key)
Returns the value associated with key, or zero if there is no value associated with key.- Parameters:
key- key with which the specified value is to be associated- Returns:
- current value
-
put
long put(K key, long newValue)
Associates ewValue with key in this map, and returns the value previously associated with key, or zero if there was no such value.- Parameters:
key- key with which the specified value is to be associatednewValue- the value to put- Returns:
- previous value or zero
-
putIfAbsent
long putIfAbsent(K key, long newValue)
If key is not already associated with a value or if key is associated with zero, associate it with newValue. Returns the previous value associated with key, or zero if there was no mapping for key.- Parameters:
key- key with which the specified value is to be associatednewValue- the value to put- Returns:
- previous value or zero
-
replace
boolean replace(K key, long expectedOldValue, long newValue)
If (key, expectedOldValue) is currently in the map, this method replaces expectedOldValue with newValue and returns true; otherwise, this method return false. If expectedOldValue is zero, this method will succeed if (key, zero) is currently in the map, or if key is not in the map at all.- Parameters:
key- key with which the specified value is to be associatedexpectedOldValue- the expected valuenewValue- the value to replace- Returns:
- true if the value was replaced, false otherwise
-
remove
long remove(K key)
Removes and returns the value associated with key. If key is not in the map, this method has no effect and returns zero.- Parameters:
key- key with which the specified value is to be associated- Returns:
- the previous value associated with the specified key or null
-
remove
boolean remove(K key, long value)
If (key, value) is currently in the map, this method removes it and returns true; otherwise, this method returns false.- Parameters:
key- key with which the specified value is to be associatedvalue- the value to remove- Returns:
- true if the value was removed, false otherwise
-
size
int size()
Returns the number of entries in the map.- Returns:
- the number of entries in the map, including
0values
-
isEmpty
boolean isEmpty()
If the map is empty, returns true, otherwise false.- Returns:
- true if the map is empty.
-
clear
void clear()
Clears all entries from the map.
-
-