Interface IQueries
- All Known Implementing Classes:
Queries
public interface IQueries
Read/write contract for simulation run persistence.
StatisticsQueries is the only implementation.
Controller and StatisticsCollector depend on this interface, not the concrete
class.
-
Method Summary
Modifier and TypeMethodDescriptionbuildRecord(StatisticsCollector.Snapshot snap, String runName, long seed, double meanValidation, double meanMarket, double meanLimit, double meanExecution, double meanArrival, double simulationTime) Converts a Snapshot and engine config parameters into a StatisticsAndMetricsRecord ready for persistence.findAll()Returns all simulation runs, most recent first.findById(int id) Returns a single run by id, or Optional.empty() if not found.findTradesByRunId(int runId) Returns all trades belonging to a run, ordered by conclusion time.intsaveAllTrades(List<Records.TradeRecord> trades, int runId) Persists all trades from a run in a single transaction.intPersists a completed simulation run.
-
Method Details
-
buildRecord
Records.StatisticsAndMetricsRecord buildRecord(StatisticsCollector.Snapshot snap, String runName, long seed, double meanValidation, double meanMarket, double meanLimit, double meanExecution, double meanArrival, double simulationTime) Converts a Snapshot and engine config parameters into a StatisticsAndMetricsRecord ready for persistence. -
saveStatisticsAndMetrics
Persists a completed simulation run.- Returns:
- the generated run id, or -1 if insert failed
-
saveAllTrades
Persists all trades from a run in a single transaction. Linked to the run via runId returned by save(). -
findAll
List<Records.StatisticsAndMetricsRecord> findAll()Returns all simulation runs, most recent first. -
findById
Returns a single run by id, or Optional.empty() if not found. -
findTradesByRunId
Returns all trades belonging to a run, ordered by conclusion time.
-