package Scheduler; import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; public class LinkedCourses implements Serializable, Iterable<CourseList> { /******************************************************** * UPDATE SERIAL VERSION IN VERSION WHEN THIS FILE CHANGES ********************************************************/ protected static final long versionID = 2008082200001L;//serial ID protected static final long serialVersionUID =1L + Version.courseLink.id;//serial ID ArrayList<CourseList> links; public LinkedCourses(){ links = new ArrayList<CourseList>(); } public LinkedCourses(String[] link){ links = new ArrayList<CourseList>(); links.add(new CourseList(link)); } public void addLinkedCourses(String[] link){ links.add(new CourseList(link)); } public void remove(CourseList toRemove){ links.remove(toRemove); } public void remove(String link, CourseList list){ list.remove(link); if (list.size() == 1){ links.remove(list); } } public CourseList[] getLinks(String course){ ArrayList<CourseList> returnVal = new ArrayList<CourseList>(); for(CourseList item: links){ if (item.contains(course)){ returnVal.add(item); } } return returnVal.toArray(new CourseList[0]); } public Iterator<CourseList> iterator(){ return links.iterator(); } public CourseList[] toArray(){ CourseList[] item = new CourseList[links.size()]; int pos = 0; for(CourseList each: links){ item[pos++] = each; } return item; } }