package com.plectix.simulator.parser.abstractmodel;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import com.plectix.simulator.simulationclasses.solution.SolutionLine;
public final class ModelSolution {
private final List<SolutionLineData> solutionLinesData = new LinkedList<SolutionLineData>();
private final List<SolutionLine> solutionLines = new ArrayList<SolutionLine>();
public final void addAgents(long quant, List<ModelAgent> agents) {
if (agents == null || agents.isEmpty() || quant <= 0) {
return;
}
this.solutionLinesData.add(new SolutionLineData(agents, quant));
}
public final void removeLineData(SolutionLineData lineData) {
this.solutionLinesData.remove(lineData);
}
public final List<SolutionLineData> getAgents() {
return solutionLinesData;
}
public final List<SolutionLine> getSolutionLines() {
return solutionLines;
}
public final void checkSolutionLinesAndAdd(String line, long count) {
line = line.replaceAll("[ ]", "");
while (line.indexOf("(") == 0) {
line = line.substring(1, line.length() - 1);
}
for (SolutionLine sl : solutionLines) {
if (sl.getLine().equals(line)) {
sl.setNumber(sl.getNumber() + count);
return;
}
}
solutionLines.add(new SolutionLine(line, count));
}
@Override
public final String toString() {
StringBuffer sb = new StringBuffer();
for (SolutionLineData line : solutionLinesData) {
sb.append("%init: " + line + "\n");
}
return sb.toString();
}
}