Package io.molr.mole.core.tree
Class TreeMissionExecutor
- java.lang.Object
-
- io.molr.mole.core.tree.TreeMissionExecutor
-
- All Implemented Interfaces:
MissionExecutor
public class TreeMissionExecutor extends java.lang.Object implements MissionExecutor
Keeps track of the state of the execution of one mission instance. It assumes a tree of execution blocks, can execute them and keeps track of cursor positions within strands.
-
-
Constructor Summary
Constructors Constructor Description TreeMissionExecutor(TreeStructure treeStructure, LeafExecutor leafExecutor, Tracker<io.molr.commons.domain.Result> resultTracker, MissionOutputCollector outputCollector, TreeTracker<io.molr.commons.domain.RunState> runStateTracker, io.molr.commons.domain.ExecutionStrategy executionStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
void
dispose()
void
instruct(io.molr.commons.domain.Strand strand, io.molr.commons.domain.StrandCommand command)
void
instructBlock(java.lang.String blockId, io.molr.commons.domain.BlockCommand command)
void
instructRoot(io.molr.commons.domain.StrandCommand command)
reactor.core.publisher.Flux<io.molr.commons.domain.MissionOutput>
outputs()
reactor.core.publisher.Flux<io.molr.commons.domain.MissionRepresentation>
representations()
reactor.core.publisher.Flux<io.molr.commons.domain.MissionState>
states()
-
-
-
Constructor Detail
-
TreeMissionExecutor
public TreeMissionExecutor(TreeStructure treeStructure, LeafExecutor leafExecutor, Tracker<io.molr.commons.domain.Result> resultTracker, MissionOutputCollector outputCollector, TreeTracker<io.molr.commons.domain.RunState> runStateTracker, io.molr.commons.domain.ExecutionStrategy executionStrategy)
-
-
Method Detail
-
states
public reactor.core.publisher.Flux<io.molr.commons.domain.MissionState> states()
- Specified by:
states
in interfaceMissionExecutor
-
outputs
public reactor.core.publisher.Flux<io.molr.commons.domain.MissionOutput> outputs()
- Specified by:
outputs
in interfaceMissionExecutor
-
representations
public reactor.core.publisher.Flux<io.molr.commons.domain.MissionRepresentation> representations()
- Specified by:
representations
in interfaceMissionExecutor
-
instruct
public void instruct(io.molr.commons.domain.Strand strand, io.molr.commons.domain.StrandCommand command)
- Specified by:
instruct
in interfaceMissionExecutor
-
instructRoot
public void instructRoot(io.molr.commons.domain.StrandCommand command)
- Specified by:
instructRoot
in interfaceMissionExecutor
-
instructBlock
public void instructBlock(java.lang.String blockId, io.molr.commons.domain.BlockCommand command)
- Specified by:
instructBlock
in interfaceMissionExecutor
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceMissionExecutor
-
abort
public void abort()
-
-