import org.jgrapht.graph.SimpleWeightedGraph; import java.time.Duration; import java.util.Map; //Can't just write the graph, because I need the occupancy data too. //Makes most sense to serialize object and write that to a file. //Which means there's no reason to split map data and graph data up. public class GraphWithMapData implements java.io.Serializable { private String sourceFilename; private final SimpleWeightedGraph graph; private Integer numWells; private Integer[] wellPopulations; private Integer alphaCount; private Integer betaCount; private final Map distCellsMapAlphaKey; private final Map plateVtoAMap; private final Map plateVtoBMap; private final Map plateAtoVMap; private final Map plateBtoVMap; private final Map alphaWellCounts; private final Map betaWellCounts; private final Duration time; public GraphWithMapData(SimpleWeightedGraph graph, Integer numWells, Integer[] wellConcentrations, Integer alphaCount, Integer betaCount, Map distCellsMapAlphaKey, Map plateVtoAMap, Map plateVtoBMap, Map plateAtoVMap, Map plateBtoVMap, Map alphaWellCounts, Map betaWellCounts, Duration time) { this.graph = graph; this.numWells = numWells; this.wellPopulations = wellConcentrations; this.alphaCount = alphaCount; this.betaCount = betaCount; this.distCellsMapAlphaKey = distCellsMapAlphaKey; this.plateVtoAMap = plateVtoAMap; this.plateVtoBMap = plateVtoBMap; this.plateAtoVMap = plateAtoVMap; this.plateBtoVMap = plateBtoVMap; this.alphaWellCounts = alphaWellCounts; this.betaWellCounts = betaWellCounts; this.time = time; } public SimpleWeightedGraph getGraph() { return graph; } public Integer getNumWells() { return numWells; } public Integer[] getWellPopulations() { return wellPopulations; } public Integer getAlphaCount() { return alphaCount; } public Integer getBetaCount() { return betaCount; } public Map getDistCellsMapAlphaKey() { return distCellsMapAlphaKey; } public Map getPlateVtoAMap() { return plateVtoAMap; } public Map getPlateVtoBMap() { return plateVtoBMap; } public Map getPlateAtoVMap() { return plateAtoVMap; } public Map getPlateBtoVMap() { return plateBtoVMap; } public Map getAlphaWellCounts() { return alphaWellCounts; } public Map getBetaWellCounts() { return betaWellCounts; } public Duration getTime() { return time; } public void setSourceFilename(String filename) { this.sourceFilename = filename; } public String getSourceFilename() { return sourceFilename; } }