Interface RListMultimapReactive<K,V>

Type Parameters:
K - key type
V - value type
All Superinterfaces:
RExpirableReactive, RMultimapReactive<K,V>, RObjectReactive
All Known Subinterfaces:
RListMultimapCacheNativeReactive<K,V>, RListMultimapCacheReactive<K,V>

public interface RListMultimapReactive<K,V> extends RMultimapReactive<K,V>
Reactive interface for List based Multimap object
Author:
Nikita Koksharov
  • Method Details

    • get

      RListReactive<V> get(K key)
      Returns a view List of the values associated with key in this multimap, if any. Note that when containsKey(key) is false, this returns an empty collection, not null.

      Changes to the returned collection will update the underlying multimap, and vice versa.

      Parameters:
      key - - map key
      Returns:
      list of values
    • getAll

      reactor.core.publisher.Mono<List<V>> getAll(K key)
      Returns all elements at once. Result Set is NOT backed by map, so changes are not reflected in map.
      Parameters:
      key - - map key
      Returns:
      list of values
    • removeAll

      reactor.core.publisher.Mono<List<V>> removeAll(Object key)
      Removes all values associated with the key key.

      Once this method returns, key will not be mapped to any values

      Use RMultimapReactive.fastRemove(K...) if values are not needed.

      Parameters:
      key - - map key
      Returns:
      the values that were removed (possibly empty). The returned list may be modifiable, but updating it will have no effect on the multimap.
    • replaceValues

      reactor.core.publisher.Mono<List<V>> replaceValues(K key, Iterable<? extends V> values)
      Stores a collection of values with the same key, replacing any existing values for that key.

      If values is empty, this is equivalent to removeAll(Object).

      Parameters:
      key - - map key
      values - - map values
      Returns:
      list of replaced values, or an empty collection if no values were previously associated with the key. List may be modifiable, but updating it will have no effect on the multimap.
    • addListener

      reactor.core.publisher.Mono<Integer> addListener(ObjectListener listener)
      Adds object event listener
      Specified by:
      addListener in interface RObjectReactive
      Parameters:
      listener - object event listener
      Returns:
      listener id
      See Also: