Interface LookupService<K,V>

Type Parameters:
K -
V -
All Superinterfaces:
Function<Iterable<K>,io.reactivex.rxjava3.core.Flowable<Map.Entry<K,V>>>
All Known Implementing Classes:
LookupServiceAddAbsentKeys, LookupServiceCacheMem, LookupServiceFilterKey, LookupServiceFlowableTransformer, LookupServiceFromMapService, LookupServicePartition, LookupServiceTransformKey, LookupServiceTransformKey2, LookupServiceTransformValue

public interface LookupService<K,V> extends Function<Iterable<K>,io.reactivex.rxjava3.core.Flowable<Map.Entry<K,V>>>
A lookup service builds a cold flowable that upon execution retrieves data for the given set of keys.
  • Method Details

    • fetchItem

      default V fetchItem(K k)
    • partition

      default LookupService<K,V> partition(int k)
    • filterKeys

      default LookupService<K,V> filterKeys(Predicate<? super K> filter)
    • mapValues

      default <W> LookupService<K,W> mapValues(Function<V,W> fn)
    • mapNonNullValues

      default <W> LookupService<K,W> mapNonNullValues(Function<V,W> fn)
      Passes non-null values on to the given function. Nulls are internally mapped to null.
    • mapValues

      default <W> LookupService<K,W> mapValues(BiFunction<K,V,W> fn)
    • mapNonNullValues

      default <W> LookupService<K,W> mapNonNullValues(BiFunction<K,V,W> fn)
    • mapKeys

      default <I> LookupService<I,V> mapKeys(Function<? super I,? extends K> fn)
    • defaultForAbsentKeys

      default LookupService<K,V> defaultForAbsentKeys(Function<? super K,? extends V> defaultValueGenerator)
    • cache

      default LookupService<K,V> cache()
    • cache

      default LookupService<K,V> cache(com.google.common.cache.Cache<K,Optional<V>> hitCache, com.google.common.cache.Cache<K,Object> missCache)
    • requestMap

      default io.reactivex.rxjava3.core.Single<Map<K,V>> requestMap(Iterable<K> keys)
      Requests a map. The 'Single' result type can be seen as representing the request.
      Parameters:
      keys -
      Returns:
    • fetchMap

      default Map<K,V> fetchMap(Iterable<K> keys)
    • requestList

      default io.reactivex.rxjava3.core.Single<List<V>> requestList(Iterable<K> keys)
    • fetchList

      default List<V> fetchList(Iterable<K> keys)
    • fetchMap

      default <X> Map<X,V> fetchMap(Iterable<X> keys, Function<? super X,? extends K> keyMapper)
      A convenience short-hand for fetching a map by first mapping the keys to proxy keys. Equivalent to
      this.mapKeys(keyMapper).fetchMap(keys)
      Type Parameters:
      X -
      Parameters:
      keys -
      keyToProxy -
      Returns: