Class AccMultiplexDynamic<B,E,K,V,W,C extends org.aksw.commons.collector.domain.Aggregator<V,E,W>>

java.lang.Object
org.aksw.jenax.arq.aggregation.AccMultiplexDynamic<B,E,K,V,W,C>
Type Parameters:
B -
K -
V -
C -
All Implemented Interfaces:
org.aksw.commons.collector.domain.Accumulator<B,E,Map<K,W>>

public class AccMultiplexDynamic<B,E,K,V,W,C extends org.aksw.commons.collector.domain.Aggregator<V,E,W>> extends Object implements org.aksw.commons.collector.domain.Accumulator<B,E,Map<K,W>>
A more general variant of AccMap2 which maps a binding to multiple keys TODO Decide whether to keep only this general version even if it means having to wrap each key as a singleton collection
Author:
raven
  • Field Details

    • keyMapper

      protected Function<? super B,? extends Iterator<? extends K>> keyMapper
    • valueMapper

      protected BiFunction<? super B,? super K,? extends V> valueMapper
    • subAgg

      protected C extends org.aksw.commons.collector.domain.Aggregator<V,E,W> subAgg
    • state

      protected Map<K,org.aksw.commons.collector.domain.Accumulator<V,E,W>> state
  • Constructor Details

    • AccMultiplexDynamic

      public AccMultiplexDynamic(Function<? super B,? extends Iterator<? extends K>> keyMapper, BiFunction<? super B,? super K,? extends V> valueMapper, C subAgg)
  • Method Details

    • accumulate

      public void accumulate(B binding, E env)
      Specified by:
      accumulate in interface org.aksw.commons.collector.domain.Accumulator<B,E,K>
    • getValue

      public Map<K,W> getValue()
      Specified by:
      getValue in interface org.aksw.commons.collector.domain.Accumulator<B,E,K>
    • create

      public static <B, E, K, V, W, C extends org.aksw.commons.collector.domain.Aggregator<V, E, W>> AccMultiplexDynamic<B,E,K,V,W,C> create(Function<? super B,? extends Iterator<? extends K>> keyMapper, BiFunction<? super B,? super K,? extends V> valueMapper, C subAgg)