Class TreeTracker<T>

  • All Implemented Interfaces:
    Bucket<T>, Tracker<T>

    public class TreeTracker<T>
    extends java.lang.Object
    implements Bucket<T>, Tracker<T>
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TreeTracker.Builder<T>  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<io.molr.commons.domain.Block,​T> blockResults()  
      static <T> TreeTracker<T> create​(io.molr.commons.domain.MissionRepresentation representation, TreeTracker<T> oldTracker)  
      static <T> TreeTracker<T> create​(io.molr.commons.domain.MissionRepresentation representation, T defaultValue, java.util.function.Function<java.lang.Iterable<T>,​T> summarizer)  
      void push​(io.molr.commons.domain.Block node, T result)  
      T resultFor​(io.molr.commons.domain.Block block)  
      reactor.core.publisher.Flux<T> resultUpdatesFor​(io.molr.commons.domain.Block block)  
      reactor.core.publisher.Flux<io.molr.commons.domain.Block> updatedBlocksStream()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • create

        public static <T> TreeTracker<T> create​(io.molr.commons.domain.MissionRepresentation representation,
                                                T defaultValue,
                                                java.util.function.Function<java.lang.Iterable<T>,​T> summarizer)
      • create

        public static <T> TreeTracker<T> create​(io.molr.commons.domain.MissionRepresentation representation,
                                                TreeTracker<T> oldTracker)
      • push

        public void push​(io.molr.commons.domain.Block node,
                         T result)
        Specified by:
        push in interface Bucket<T>
      • resultFor

        public T resultFor​(io.molr.commons.domain.Block block)
        Specified by:
        resultFor in interface Tracker<T>
      • updatedBlocksStream

        public reactor.core.publisher.Flux<io.molr.commons.domain.Block> updatedBlocksStream()
      • resultUpdatesFor

        public reactor.core.publisher.Flux<T> resultUpdatesFor​(io.molr.commons.domain.Block block)
      • blockResults

        public java.util.Map<io.molr.commons.domain.Block,​T> blockResults()
        Specified by:
        blockResults in interface Tracker<T>