/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.dlect.controller.helper.subject;
import org.dlect.model.Database;
import org.dlect.model.Semester;
import org.dlect.model.Subject;
/**
*
* @author lee
*/
public abstract class SubjectDisplayUpdateHandler {
private final SubjectDisplaySettingHelper displayHelper;
private final Database database;
public SubjectDisplayUpdateHandler(Database database) {
this.database = database;
this.displayHelper = new SubjectDisplaySettingHelper(database);
}
public SubjectDisplaySettingHelper getDisplayHelper() {
return displayHelper;
}
public Database getDatabase() {
return database;
}
public abstract void updateSubjects();
protected boolean isSemesterEnabled(Semester semester) {
if (semester.getSubjects().isEmpty()) {
return false;
}
for (Subject s : semester.getSubjects()) {
if (!getDisplayHelper().isSubjectDisplayed(s)) {
return false;
}
}
return true;
}
protected void setSemesterEnabled(Semester semester, boolean enabled) {
for (Subject s : semester.getSubjects()) {
getDisplayHelper().setSubjectDisplayed(s, enabled);
}
}
}