package uk.ac.imperial.lsds.seep.api; import java.util.List; import uk.ac.imperial.lsds.seep.api.operator.LogicalOperator; import uk.ac.imperial.lsds.seep.api.operator.Operator; import uk.ac.imperial.lsds.seep.api.operator.sinks.Sink; import uk.ac.imperial.lsds.seep.api.operator.sources.Source; import uk.ac.imperial.lsds.seep.api.state.SeepState; public interface QueryAPI { public List<LogicalOperator> getQueryOperators(); public List<SeepState> getQueryState(); public int getInitialPhysicalInstancesPerLogicalOperator(int logicalOperatorId); public List<LogicalOperator> getSources(); public LogicalOperator getSink(); public Operator newStatefulSource(Source seepTask, SeepState state, int opId); public Operator newStatelessSource(Source seepTask, int opId); public Operator newStatefulOperator(SeepTask seepTask, SeepState state, int opId); public Operator newStatelessOperator(SeepTask seepTask, int opId); public Operator newStatefulSink(Sink seepTask, SeepState state, int opId); public Operator newStatelessSink(Sink seepTask, int opId); // FIXME: MDF API -- refactor outside public Operator newChooseOperator(SeepChooseTask choose, int opId); public void setInitialPhysicalInstancesForLogicalOperator(int opId, int numInstances); public String toString(); }