package externaltools;
/**
* This abstract class implements operations which can be executed on an external solver
*/
public abstract class ExternalSolver {
/**
* Program to be passed to external solver
*/
String program;
/**
* This method returns the result of execution of the program
* @param ignoreWarnings flag indicates whether warnings from the solver will be ignored
* @return the output of external solver
*/
public abstract String run(boolean ignoreWarnings);
/**
* This method checks if the program is satisfiable
* @return true if program is satisfiable
*/
public abstract boolean isSatisfiable();
/**
* Setter for program field
* @param program new program text
*/
public void setProgram(String program) {
this.program=program;
}
public String getProgram() {
return program;
}
}