package com.plectix.simulator.parser; import com.plectix.simulator.parser.abstractmodel.KappaModel; import com.plectix.simulator.parser.abstractmodel.reader.KappaModelCreator; import com.plectix.simulator.parser.builders.KappaSystemBuilder; import com.plectix.simulator.simulator.KappaSystem; import com.plectix.simulator.simulator.SimulationData; import com.plectix.simulator.util.Info.InfoType; /** * KappaSystemParser contains the only method parse(), which * parses kappa file, defined in constructor and returns KappaSystem object. * @see KappaSystem * @see KappaFile * @author evlasov */ public final class KappaSystemParser { private final KappaFile kappaFile; private final SimulationData simulationData; public KappaSystemParser(KappaFile kappaFile, SimulationData simulationData) { this.kappaFile = kappaFile; this.simulationData = simulationData; } /** * Builds KappaSystem object, using given KappaFile. * @param outputType output mode for logger * @throws SimulationDataFormatException when an error occurred */ public final KappaSystem parse(InfoType outputType) throws SimulationDataFormatException { KappaModel model = (new KappaModelCreator(simulationData.getSimulationArguments())).createModel(kappaFile); simulationData.setInitialModel(model); return new KappaSystemBuilder(simulationData).build(model); } }