package mp.Controller; import java.io.File; import java.io.IOException; import com.fasterxml.jackson.databind.ObjectMapper; public class PathSettings{ public String pathToExecutable = null; public String pathToInitFile = null; public String pathToMergeFile = null; public String pathToConvertFile = null; public String pathToPython = null; public PathSettings(){ } public PathSettings(String exe, String init, String merge, String convert, String python){ pathToExecutable = exe; pathToInitFile = init; pathToMergeFile = merge; pathToConvertFile = convert; pathToPython = python; } public PathSettings(PathSettings other){ pathToExecutable = other.pathToExecutable; pathToInitFile = other.pathToInitFile; pathToMergeFile = other.pathToMergeFile; pathToConvertFile = other.pathToConvertFile; pathToPython = other.pathToPython; } public static PathSettings readFromJSON(File jsonFile){ ObjectMapper mapper = new ObjectMapper(); try{ return mapper.readValue(jsonFile,PathSettings.class); } catch(IOException e){ e.printStackTrace(); } return null; } public void writeJSON(File jsonFile){ ObjectMapper mapper = new ObjectMapper(); try{ mapper.writeValue(jsonFile, this); } catch(IOException e){ e.printStackTrace(); } } public boolean equals(Object other){ if (this == other) return true; if (this == null || other == null) return false; if (other instanceof PathSettings){ PathSettings otherS = (PathSettings)other; return pathToConvertFile.equals(otherS.pathToConvertFile) && pathToExecutable.equals(otherS.pathToExecutable) && pathToInitFile.equals(otherS.pathToInitFile) && pathToMergeFile.equals(otherS.pathToMergeFile) && pathToPython.equals(otherS.pathToPython); } else return false; } }