package com.plectix.simulator.controller; import com.plectix.simulator.simulator.SimulationData; import com.plectix.simulator.streaming.LiveData; public interface SimulatorInterface { /** * Returns the name of this Simulator. * * @return the name of the Simulator */ public String getName(); /** * @throws Exception */ public void run(SimulatorInputData simulatorInputData) throws Exception; /** * Returns the status of the simulation, including the latest data. * * @return the status of the simulation */ public SimulatorStatusInterface getStatus(); /** * Returns the streaming live data * * @param liveData * @return the live data */ public LiveData getLiveData(); /** * Returns the results data of the simulation. * * @return the output of the simulation */ public SimulatorResultsData getSimulatorResultsData(); /** * Call-back function used when an Exception is thrown from the simulation thread * * @param e the Exception thrown */ public void cleanUpAfterException(Exception e); public SimulationData getSimulationData(); }