School Commit Init
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
package Repositories;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import Exceptions.BaseException;
|
||||
import Models.Program.ProgramState;
|
||||
|
||||
public interface IRepository {
|
||||
public void addProgramState(ProgramState programState) throws BaseException;
|
||||
public void logProgramStateExecution(ProgramState state) throws BaseException;
|
||||
public List<ProgramState> getProgramStates();
|
||||
public void setProgramStates(List<ProgramState> programStates);
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
package Repositories;
|
||||
|
||||
import Models.Program.ProgramState;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import Exceptions.BaseException;
|
||||
|
||||
public class Repository implements IRepository {
|
||||
private List<ProgramState> programStates;
|
||||
private String logFilePath;
|
||||
|
||||
public Repository() {
|
||||
this.programStates = new ArrayList<ProgramState>();
|
||||
this.logFilePath = "log.txt";
|
||||
}
|
||||
|
||||
public Repository(String logFilePath) {
|
||||
this.programStates = new ArrayList<ProgramState>();
|
||||
this.logFilePath = logFilePath;
|
||||
}
|
||||
|
||||
public void addProgramState(ProgramState programState) throws BaseException {
|
||||
programState.typeCheck();
|
||||
programStates.clear();
|
||||
programStates.add(programState);
|
||||
}
|
||||
|
||||
public List<ProgramState> getProgramStates() {
|
||||
return programStates;
|
||||
}
|
||||
|
||||
public void setProgramStates(List<ProgramState> programStates) {
|
||||
this.programStates = programStates;
|
||||
}
|
||||
|
||||
public void logProgramStateExecution(ProgramState state) throws BaseException{
|
||||
try{
|
||||
var logFile = new PrintWriter(new BufferedWriter(new FileWriter(this.logFilePath, true)));
|
||||
logFile.println(state.toString());
|
||||
logFile.close();
|
||||
}
|
||||
catch(Exception exception){
|
||||
throw new BaseException(exception.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user