Skip to content
Snippets Groups Projects
PathSettings.java 2.09 KiB
Newer Older
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;
    }

}