package schedframe.scheduling.tasks.phases; import java.util.LinkedList; public class ExecutionProfile { protected LinkedList executionPhases; protected long usefulWork; protected double completionPercentage; private int currentPhase; public ExecutionProfile(LinkedList execPhases) { this.executionPhases = execPhases; this.completionPercentage = 0; this.currentPhase = 0; } public LinkedList getExecutionPhases(){ return executionPhases; } public ExecutionPhase getCurrentExecutionPhase(){ return executionPhases.get(currentPhase); } public int getCurrentPhase() { return currentPhase; } public void setCurrentPhase(int currentPhase) { this.currentPhase = currentPhase; } public long getUsefulWork() { return usefulWork; } public void setUsefulWork(long usefulWork) { this.usefulWork = usefulWork; } public boolean isLast(){ if(currentPhase == executionPhases.size() - 1){ return true; } return false; } public double getCompletionPercentage() { return completionPercentage; } public void setCompletionPercentage(double completionPercentage) { this.completionPercentage = completionPercentage; } public long getLength() { long length = 0; for(ExecutionPhase execPhase: executionPhases){ length = length + execPhase.getLenght(); } return length; } }