Interface AsyncAtomicCounterMap<K>

  • All Superinterfaces:
    DistributedPrimitive

    public interface AsyncAtomicCounterMap<K>
    extends DistributedPrimitive
    An async atomic counter map dispenses monotonically increasing values associated with key.
    • Method Detail

      • incrementAndGet

        CompletableFuture<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

        CompletableFuture<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

        CompletableFuture<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

        CompletableFuture<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

        CompletableFuture<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 associated
        delta - the value to add
        Returns:
        updated value
      • getAndAdd

        CompletableFuture<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 associated
        delta - the value to add
        Returns:
        previous value
      • get

        CompletableFuture<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

        CompletableFuture<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 associated
        newValue - the value to put
        Returns:
        previous value or zero
      • putIfAbsent

        CompletableFuture<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 associated
        newValue - the value to put
        Returns:
        previous value or zero
      • replace

        CompletableFuture<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 associated
        expectedOldValue - the expected value
        newValue - the value to replace
        Returns:
        true if the value was replaced, false otherwise
      • remove

        CompletableFuture<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

        CompletableFuture<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 associated
        value - the value to remove
        Returns:
        true if the value was removed, false otherwise
      • size

        CompletableFuture<Integer> size()
        Returns the number of entries in the map.
        Returns:
        the number of entries in the map
      • isEmpty

        CompletableFuture<Boolean> isEmpty()
        Returns a boolean indicating whether the map is empty.
        Returns:
        true if the map is empty, false otherwise
      • asAtomicCounterMap

        default AtomicCounterMap<K> asAtomicCounterMap()
        Returns a new AtomicCounterMap that is backed by this instance.
        Returns:
        new AtomicCounterMap instance
      • asAtomicCounterMap

        default AtomicCounterMap<K> asAtomicCounterMap​(long timeoutMillis)
        Returns a new AtomicCounterMap that is backed by this instance.
        Parameters:
        timeoutMillis - timeout duration for the returned ConsistentMap operations
        Returns:
        new AtomicCounterMap instance