package com.plectix.simulator.parser.abstractmodel.reader; import java.util.List; import com.plectix.simulator.parser.DocumentFormatException; import com.plectix.simulator.parser.IncompletesDisabledException; import com.plectix.simulator.parser.KappaFileParagraph; import com.plectix.simulator.parser.ParseErrorException; import com.plectix.simulator.parser.SimulationDataFormatException; import com.plectix.simulator.parser.abstractmodel.ModelAgent; import com.plectix.simulator.parser.util.AgentFactory; import com.plectix.simulator.simulator.SimulationArguments; public abstract class KappaParagraphReader<E> { private final SimulationArguments simulationArguments; private final AgentFactory agentFactory; KappaParagraphReader(SimulationArguments simulationArguments, AgentFactory factory) { this.simulationArguments = simulationArguments; this.agentFactory = factory; } final List<ModelAgent> parseAgents(String line) throws ParseErrorException, DocumentFormatException, IncompletesDisabledException { return agentFactory.parseAgent(line); } final SimulationArguments getArguments() { return simulationArguments; } public abstract E readComponent(KappaFileParagraph paragraph) throws SimulationDataFormatException; }