package mvd.jester.info; import java.util.HashSet; import java.util.Optional; import java.util.Set; /** * DeadlineMissInfo */ public class SchedulingInfo { private final Set terminationInfos; private Optional failedTerminationInfo; public SchedulingInfo() { this.terminationInfos = new HashSet<>(); this.failedTerminationInfo = Optional.empty(); } public SchedulingInfo(Set terminationInfos) { this.terminationInfos = terminationInfos; } public boolean checkTasksetFeasible() { // return terminationInfos.isEmpty(); return !terminationInfos.stream().anyMatch(t -> t.getLateness() > 0); } public void addTerminationInfo(TerminationInfo terminationInfo) { terminationInfos.add(terminationInfo); } /** * @return the terminationInfos */ public Set getTerminationInfos() { return terminationInfos; } /** * @return the failedTerminationInfo */ public Optional getFailedTerminationInfo() { return failedTerminationInfo; } public void setFailedTemrinationInfo(TerminationInfo failedTerminationInfo) { this.failedTerminationInfo = Optional.of(failedTerminationInfo); } }