package at.tugraz.examreminder.core;
import java.util.*;
public class CourseContainer extends Observable {
private static CourseContainer instance = null;
private List<Course> courses = new ArrayList<Course>();
private CourseContainer(){}
public static synchronized CourseContainer instance() {
if(instance == null)
instance = new CourseContainer();
return instance;
}
public Course get(int location) {
return courses.get(location);
}
public boolean contains(Course course){
return courses.contains(course);
}
public void add(Course course) {
courses.add(course);
sort();
setChanged();
}
public void remove(Course course) {
courses.remove(course);
setChanged();
}
public void clear() {
courses.clear();
setChanged();
}
public boolean isEmpty() {
return courses.isEmpty();
}
public int size() {
return courses.size();
}
@Override
public void setChanged() {
super.setChanged();
}
public List<Course> getCourseList() {
return courses;
}
public void addAll(List<Course> courses) {
this.courses.addAll(courses);
sort();
}
private void sort() {
Collections.sort(courses);
}
}