diff --git a/.gitignore b/.gitignore
index e43b0f9..42a67b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
.DS_Store
+out/
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..15cec4b
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..b8edd23
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TimeTableDataModel.iml b/TimeTableDataModel.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/TimeTableDataModel.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/TimeTable/ClassSession.class b/bin/TimeTable/ClassSession.class
deleted file mode 100644
index 1ed0c72..0000000
Binary files a/bin/TimeTable/ClassSession.class and /dev/null differ
diff --git a/bin/TimeTable/DatabaseConnection.class b/bin/TimeTable/DatabaseConnection.class
deleted file mode 100644
index 9d5f7d5..0000000
Binary files a/bin/TimeTable/DatabaseConnection.class and /dev/null differ
diff --git a/bin/TimeTable/Period.class b/bin/TimeTable/Period.class
deleted file mode 100644
index cb6bfd4..0000000
Binary files a/bin/TimeTable/Period.class and /dev/null differ
diff --git a/bin/TimeTable/Subject.class b/bin/TimeTable/Subject.class
deleted file mode 100644
index 7143234..0000000
Binary files a/bin/TimeTable/Subject.class and /dev/null differ
diff --git a/bin/TimeTable/Time.class b/bin/TimeTable/Time.class
deleted file mode 100644
index 0076a02..0000000
Binary files a/bin/TimeTable/Time.class and /dev/null differ
diff --git a/bin/TimeTable/TimeTable.class b/bin/TimeTable/TimeTable.class
deleted file mode 100644
index 449813c..0000000
Binary files a/bin/TimeTable/TimeTable.class and /dev/null differ
diff --git a/bin/TimeTable/WeekDay.class b/bin/TimeTable/WeekDay.class
deleted file mode 100644
index dbb7dec..0000000
Binary files a/bin/TimeTable/WeekDay.class and /dev/null differ
diff --git a/file.java b/file.java
deleted file mode 100644
index 0858086..0000000
--- a/file.java
+++ /dev/null
@@ -1,23 +0,0 @@
-MONDAY,1,FMA,
-MONDAY,2,INF,
-MONDAY,3,MAM,
-MONDAY,4,MAM,
-MONDAY,6,JAP,
-TUESDAY,1,FMA,
-TUESDAY,2,FMA,
-TUESDAY,3,JAP,
-TUESDAY,4,JAP,
-WEDNESDAY,1,JAP,
-WEDNESDAY,2,JAP,
-THURSDAY,1,FMA,
-THURSDAY,2,FMA,
-THURSDAY,3,INF,
-THURSDAY,4,INF,
-THURSDAY,5,ENG,
-THURSDAY,6,ENG,
-FRIDAY,1,MAM,
-FRIDAY,2,MAM,
-FRIDAY,3,ENG,
-FRIDAY,4,ENG,
-FRIDAY,5,INF,
-FRIDAY,6,INF,
diff --git a/src/TimeTable/ClassSession.java b/src/TimeTable/ClassSession.java
deleted file mode 100644
index 56d6337..0000000
--- a/src/TimeTable/ClassSession.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package TimeTable;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.Scanner;
-
-class ClassSession {
- Subject subject;
- Period period;
- WeekDay day;
-
- public static List loadClasses(String filename) throws FileNotFoundException {
- File file = new File(filename);
- Scanner sc = new Scanner(file);
- List classes = new ArrayList();
- while(sc.hasNextLine()) {
- String line = sc.nextLine();
- String[] lineArray = line.split(",");
-
- ClassSession session = new ClassSession();
- session.day = WeekDay.fromString(lineArray[0]);
- Integer intPNum = Integer.valueOf(lineArray[1]);
- Optional a = TimeTable.datastore.periods.stream().filter(p -> p.periodNumber == intPNum).findFirst();
- // System.out.println(TimeTable.datastore.periods.size());
- if (a.isPresent()) {
- session.period = a.get();
- }
- String tempSubjectName = lineArray[2];
- Optional s = TimeTable.datastore.subjects.stream().filter(x -> x.shortname.matches(tempSubjectName)).findFirst();
- if (s.isPresent()) {
- session.subject= s.get();
- }
- classes.add(session);
- }
- return classes;
- }
- public static void saveToFile(List classes, String filename) {
- System.out.println(filename);
- try {
- FileWriter fw = new FileWriter(filename);
- for (ClassSession sesh : classes) {
- String line = String.join(",", sesh.day.toString().toUpperCase(), String.valueOf(sesh.period.periodNumber), sesh.subject.shortname, "\n");
- fw.write(line);
- }
- fw.close();
- } catch (Exception e) {
- System.out.println(e);
- }
- System.out.println("Succesfully written to file");
-
- }
- public ClassSession() {
- }
- public ClassSession(Subject subject, Period period, WeekDay day) {
- this.subject = subject;
- this.period = period;
- this.day = day;
- }
-
- public String getSummary() {
- String name = this.subject.name;
- String teacher = this.subject.teacher;
- String startTime = this.period.startTime.toString();
- String endTime = this.period.endTime.toString();
- String returnValue = String.join(", ", name, teacher, startTime, endTime);
- return returnValue;
- }
-}
\ No newline at end of file
diff --git a/src/TimeTable/DatabaseConnection.java b/src/TimeTable/DatabaseConnection.java
deleted file mode 100644
index dc862ff..0000000
--- a/src/TimeTable/DatabaseConnection.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package TimeTable;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.Properties;
-
-class DatabaseConnection {
- String user;
- String password;
- String dbms;
- String serverName;
- String dbName;
- String portNumber;
- public Connection getConection() throws SQLException {
- Connection conn = null;
- var connectionProps = new Properties();
- connectionProps.put("user", this.user);
- connectionProps.put("password", this.password);
-
- if (this.dbms.equals("mysql")) {
- conn = DriverManager.getConnection("jdbc:" + this.dbms + "://" + this.serverName + ":" + this.portNumber + "/", connectionProps);
-
- } else if (this.dbms.equals("derby")) {
- conn = DriverManager.getConnection("jdbc:" + this.dbms + ":" + this.dbName + ";create=true", connectionProps);
- }
- System.out.println("Connected to database");
- return conn;
- }
-}
\ No newline at end of file
diff --git a/src/TimeTable/Subject.java b/src/TimeTable/Subject.java
deleted file mode 100644
index 1157f85..0000000
--- a/src/TimeTable/Subject.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package TimeTable;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-
-class Subject {
- public String name;
- public String shortname;
- public String teacher;
- public String colour;
-
- public static List loadSubjects(String filename) throws FileNotFoundException {
- List subjects = new ArrayList();
- File file = new File(filename);
- Scanner sc = new Scanner(file);
- while (sc.hasNextLine()) {
- String line = sc.nextLine();
- String[] lineArray = line.split(",");
- Subject s = new Subject(lineArray[0], lineArray[1], lineArray[2]);
- s.colour = "Violet";
- subjects.add(s);
- }
- sc.close();
- return subjects;
- }
-
- public static void saveToFile(List subjects, String filename) throws FileNotFoundException, IOException {
- System.out.println(filename);
- FileWriter fw = new FileWriter(filename);
- for (Subject subject : subjects) {
- String line = String.join(",", subject.shortname, subject.name, subject.teacher, "\n");
- fw.write(line);
- }
- fw.close();
- }
-
- public Subject(String shortname, String name, String teacher, String colour) {
- this.name = name;
- this.shortname = shortname;
- this.teacher = teacher;
- this.colour = colour;
- }
-
- public Subject(String shortname, String name, String teacher) {
- this.name = name;
- this.shortname = shortname;
- this.teacher = teacher;
- }
-}
\ No newline at end of file
diff --git a/src/TimeTable/SubjectProvider.java b/src/TimeTable/SubjectProvider.java
new file mode 100644
index 0000000..67f61bd
--- /dev/null
+++ b/src/TimeTable/SubjectProvider.java
@@ -0,0 +1,21 @@
+package TimeTable;
+
+import TimeTable.models.Subject;
+import TimeTable.stores.SubjectStore;
+
+import java.util.ArrayList;
+
+public class SubjectProvider {
+ private TimeTableContext context;
+ private SubjectStore subjectStore;
+
+ protected SubjectProvider(TimeTableContext context) {
+ this.context = context;
+ this.subjectStore = context.getTimeTableStore().getSubjectStore();
+ }
+
+ public ArrayList getSubjects() {
+ return subjectStore.getSubjects();
+ }
+
+}
diff --git a/src/TimeTable/TimeTable.java b/src/TimeTable/TimeTable.java
index b1aaa38..fc100d0 100644
--- a/src/TimeTable/TimeTable.java
+++ b/src/TimeTable/TimeTable.java
@@ -1,39 +1,14 @@
package TimeTable;
-
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.Collections;
-
public class TimeTable {
- public List periods;
- public List subjects = new ArrayList();
- public List classes = new ArrayList();
- public static TimeTable datastore;
-
- public TimeTable(String periodfile, String subjectsfile) throws Exception {
- periods = Period.loadPeriods(periodfile);
- subjects = Subject.loadSubjects(subjectsfile);
-
- }
- public static List getClassesByDay(WeekDay day) {
- List classes = new ArrayList();
- datastore.classes.stream().filter(c -> c.day == day).forEach(c -> classes.add(c));
- return classes;
+ private TimeTableContext context;
+ private SubjectProvider subjectProvider;
+
+ TimeTable(TimeTableContext context) {
+ this.context = context;
+ this.subjectProvider = new SubjectProvider(context);
}
- public static List getClassesBySubject (Subject subject) {
- List classes = new ArrayList();
- datastore.classes.stream().filter(c -> c.subject == subject).forEach(c -> classes.add(c));
- return classes;
- };
- public static void main(String[] args) throws Exception {
- // Load the data store into the computer
- datastore = new TimeTable("./periods.csv", "./subjects.csv");
- // Load the classes into the data store due to async issues in java this needs to be done after init.
- datastore.classes = ClassSession.loadClasses("./classes.csv");
- Subject.saveToFile(datastore.subjects, "subjects.csv");
+ public SubjectProvider getSubjectProvider() {
+ return subjectProvider;
}
}
\ No newline at end of file
diff --git a/src/TimeTable/TimeTableContext.java b/src/TimeTable/TimeTableContext.java
new file mode 100644
index 0000000..560392b
--- /dev/null
+++ b/src/TimeTable/TimeTableContext.java
@@ -0,0 +1,22 @@
+package TimeTable;
+
+import TimeTable.stores.TimeTableStore;
+
+public class TimeTableContext {
+ private TimeTableStore timeTableStore;
+ private TimeTable timeTable;
+
+ TimeTableContext(TimeTableStore timeTableStore) {
+ this.timeTableStore = timeTableStore;
+ timeTable = new TimeTable(this);
+ }
+
+ public TimeTableStore getTimeTableStore() {
+ return timeTableStore;
+ }
+
+ public TimeTable getTimeTable() {
+ return timeTable;
+ }
+
+}
diff --git a/src/TimeTable/TimeTableFactory.java b/src/TimeTable/TimeTableFactory.java
new file mode 100644
index 0000000..bdc1dfc
--- /dev/null
+++ b/src/TimeTable/TimeTableFactory.java
@@ -0,0 +1,25 @@
+package TimeTable;
+
+import TimeTable.models.Subject;
+import TimeTable.plugins.ObjectTimetableStore;
+import TimeTable.stores.TimeTableStore;
+
+import java.util.ArrayList;
+
+public class TimeTableFactory {
+ public static TimeTable createTimeTable() {
+ ArrayList subjects = new ArrayList();
+ Subject subject = new Subject("Further Mats", "FMA", "Read");
+ subjects.add(subject);
+ TimeTableStore store = new ObjectTimetableStore(null, null, subjects);
+
+ TimeTable timeTable = new TimeTableContext(store).getTimeTable();
+
+ timeTable.getSubjectProvider().getSubjects().forEach(subject1 -> System.out.println(subject1));
+ return timeTable;
+ }
+
+ public static void main(String[] args) {
+ createTimeTable();
+ }
+}
diff --git a/src/TimeTable/models/ClassSession.java b/src/TimeTable/models/ClassSession.java
new file mode 100644
index 0000000..7533c60
--- /dev/null
+++ b/src/TimeTable/models/ClassSession.java
@@ -0,0 +1,49 @@
+package TimeTable.models;
+
+public class ClassSession {
+ private Subject subject;
+ private Period period;
+ private WeekDay day;
+
+ public Subject getSubject() {
+ return subject;
+ }
+
+ public void setSubject(Subject subject) {
+ this.subject = subject;
+ }
+
+ public Period getPeriod() {
+ return period;
+ }
+
+ public void setPeriod(Period period) {
+ this.period = period;
+ }
+
+ public WeekDay getDay() {
+ return day;
+ }
+
+ public void setDay(WeekDay day) {
+ this.day = day;
+ }
+
+ public ClassSession() {
+ }
+ public ClassSession(Subject subject, Period period, WeekDay day) {
+ this.subject = subject;
+ this.period = period;
+ this.day = day;
+ }
+
+ @Override
+ public String toString() {
+ String name = this.subject.getName();
+ String teacher = this.subject.getTeacher();
+ String startTime = this.period.getStartTime().toString();
+ String endTime = this.period.getEndTime().toString();
+ String returnValue = String.join(", ", name, teacher, startTime, endTime);
+ return returnValue;
+ }
+}
diff --git a/src/TimeTable/models/Period.java b/src/TimeTable/models/Period.java
new file mode 100644
index 0000000..ad83cab
--- /dev/null
+++ b/src/TimeTable/models/Period.java
@@ -0,0 +1,31 @@
+package TimeTable.models;
+
+public class Period {
+ private int periodNumber;
+ private Time startTime;
+ private Time endTime;
+
+ public int getPeriodNumber() {
+ return periodNumber;
+ }
+
+ public void setPeriodNumber(int periodNumber) {
+ this.periodNumber = periodNumber;
+ }
+
+ public Time getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Time startTime) {
+ this.startTime = startTime;
+ }
+
+ public Time getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Time endTime) {
+ this.endTime = endTime;
+ }
+}
diff --git a/src/TimeTable/models/Subject.java b/src/TimeTable/models/Subject.java
new file mode 100644
index 0000000..beadc18
--- /dev/null
+++ b/src/TimeTable/models/Subject.java
@@ -0,0 +1,55 @@
+package TimeTable.models;
+
+public class Subject {
+ private String name;
+ private String shortname;
+ private String teacher;
+ private String colour;
+
+ public Subject(String name, String shortname, String teacher) {
+ this.name = name;
+ this.shortname = shortname;
+ this.teacher = teacher;
+ this.colour = "purple";
+ }
+
+ public Subject() {
+
+ }
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getShortname() {
+ return shortname;
+ }
+
+ public void setShortname(String shortname) {
+ this.shortname = shortname;
+ }
+
+ public String getTeacher() {
+ return teacher;
+ }
+
+ public void setTeacher(String teacher) {
+ this.teacher = teacher;
+ }
+
+ public String getColour() {
+ return colour;
+ }
+
+ public void setColour(String colour) {
+ this.colour = colour;
+ }
+
+ public String toString() {
+ String line = String.join(",", shortname, name, teacher);
+ return line;
+ }
+}
diff --git a/src/TimeTable/Time.java b/src/TimeTable/models/Time.java
similarity index 75%
rename from src/TimeTable/Time.java
rename to src/TimeTable/models/Time.java
index a713830..785db15 100644
--- a/src/TimeTable/Time.java
+++ b/src/TimeTable/models/Time.java
@@ -1,11 +1,11 @@
-package TimeTable;
+package TimeTable.models;
import java.util.regex.Pattern;
-class Time {
- public Integer days;
- public Integer hours;
- public Integer minutes;
- public Integer seconds;
+public class Time {
+ private Integer days;
+ private Integer hours;
+ private Integer minutes;
+ private Integer seconds;
public void setHours(Integer hours) {
while (hours > 24) {
@@ -29,7 +29,23 @@ public void setSeconds(Integer seconds) {
this.seconds = seconds;
}
- public Time(Integer hours, Integer minutes, Integer seconds) {
+ public Integer getDays() {
+ return days;
+ }
+
+ public Integer getHours() {
+ return hours;
+ }
+
+ public Integer getMinutes() {
+ return minutes;
+ }
+
+ public Integer getSeconds() {
+ return seconds;
+ }
+
+ public Time(Integer hours, Integer minutes, Integer seconds) {
this.days = 0;
setHours(hours);
setMinutes(minutes);
@@ -55,7 +71,8 @@ public Time() {
this.seconds = 0;
}
public String toString() {
- String returnValue = String.join(":", String.format("%02d", this.hours), String.format("%02d", this.minutes) , String.format("%02d", this.seconds));
+ String returnValue = String.join(":", String.format("%02d", this.hours),
+ String.format("%02d", this.minutes) , String.format("%02d", this.seconds));
return returnValue;
}
}
\ No newline at end of file
diff --git a/src/TimeTable/WeekDay.java b/src/TimeTable/models/WeekDay.java
similarity index 98%
rename from src/TimeTable/WeekDay.java
rename to src/TimeTable/models/WeekDay.java
index b6a7394..0cae0d5 100644
--- a/src/TimeTable/WeekDay.java
+++ b/src/TimeTable/models/WeekDay.java
@@ -1,4 +1,4 @@
-package TimeTable;
+package TimeTable.models;
public enum WeekDay {
// Define the properties which the Enumerator can take
@@ -42,6 +42,4 @@ public static WeekDay fromString(String dayname) {
throw new IllegalArgumentException("Day not found");
}
}
-
-
}
\ No newline at end of file
diff --git a/src/TimeTable/period.java b/src/TimeTable/period.java
deleted file mode 100644
index 701ef3b..0000000
--- a/src/TimeTable/period.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package TimeTable;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-
-class Period {
- public Integer periodNumber;
- public Time startTime;
- public Time endTime;
-
- public static List loadPeriods(String filename) throws FileNotFoundException {
- File file = new File(filename);
- Scanner sc = new Scanner(file);
- List periods = new ArrayList();
- while (sc.hasNextLine()) {
- String line = sc.nextLine();
- String[] lineArray = line.split(",");
- Time startTime = new Time(lineArray[1]);
- Time finishTime = new Time(lineArray[2]);
- Period p = new Period();
- p.periodNumber = Integer.valueOf(lineArray[0]);
-
- // System.out.println(p.periodNumber);
- p.startTime = startTime;
- p.endTime = finishTime;
- periods.add(p);
- }
- sc.close(); // CLose the scanner
- return periods;
- }
-
- public static void saveToFile(List periods, String filename) throws FileNotFoundException, IOException {
- System.out.println(filename);
- FileWriter fw = new FileWriter(filename);
- for (Period period : periods) {
- String line = String.join(",", String.valueOf(period.periodNumber), period.startTime.toString(),
- period.endTime.toString(), "\n");
- fw.write(line);
- }
- fw.close();
- }
-}
\ No newline at end of file
diff --git a/src/TimeTable/plugins/ObjectTimetableStore.java b/src/TimeTable/plugins/ObjectTimetableStore.java
new file mode 100644
index 0000000..6e18d71
--- /dev/null
+++ b/src/TimeTable/plugins/ObjectTimetableStore.java
@@ -0,0 +1,68 @@
+package TimeTable.plugins;
+
+import TimeTable.models.ClassSession;
+import TimeTable.models.Period;
+import TimeTable.models.Subject;
+import TimeTable.stores.ClassSessionStore;
+import TimeTable.stores.PeriodStore;
+import TimeTable.stores.SubjectStore;
+import TimeTable.stores.TimeTableStore;
+
+import java.util.ArrayList;
+
+public class ObjectTimetableStore implements TimeTableStore, ClassSessionStore, PeriodStore, SubjectStore {
+ private ArrayList classSessions;
+ private ArrayList periods;
+ private ArrayList subjects;
+
+ public ObjectTimetableStore(ArrayList classSessions,
+ ArrayList periods,
+ ArrayList subjects) {
+ this.classSessions = classSessions;
+ this.periods = periods;
+ this.subjects = subjects;
+ }
+
+
+ public void setClassSessions(ArrayList classSessions) {
+ this.classSessions = classSessions;
+ }
+
+ public void setPeriods(ArrayList periods) {
+ this.periods = periods;
+ }
+
+ public void setSubjects(ArrayList subjects) {
+ this.subjects = subjects;
+ }
+
+ @Override
+ public ArrayList getClassSessions() {
+ return classSessions;
+ }
+
+ @Override
+ public ArrayList getPeriods() {
+ return periods;
+ }
+
+ @Override
+ public ArrayList getSubjects() {
+ return subjects;
+ }
+
+ @Override
+ public PeriodStore getPeriodStore() {
+ return this;
+ }
+
+ @Override
+ public SubjectStore getSubjectStore() {
+ return this;
+ }
+
+ @Override
+ public ClassSessionStore getClassSessionStore() {
+ return this;
+ }
+}
diff --git a/src/TimeTable/stores/ClassSessionStore.java b/src/TimeTable/stores/ClassSessionStore.java
new file mode 100644
index 0000000..4bf78f5
--- /dev/null
+++ b/src/TimeTable/stores/ClassSessionStore.java
@@ -0,0 +1,9 @@
+package TimeTable.stores;
+
+import TimeTable.models.ClassSession;
+
+import java.util.ArrayList;
+
+public interface ClassSessionStore {
+ public ArrayList getClassSessions();
+}
diff --git a/src/TimeTable/stores/PeriodStore.java b/src/TimeTable/stores/PeriodStore.java
new file mode 100644
index 0000000..1792ff6
--- /dev/null
+++ b/src/TimeTable/stores/PeriodStore.java
@@ -0,0 +1,10 @@
+package TimeTable.stores;
+
+import TimeTable.models.Period;
+
+import java.util.ArrayList;
+
+public interface PeriodStore {
+ public ArrayList getPeriods();
+
+}
diff --git a/src/TimeTable/stores/SubjectStore.java b/src/TimeTable/stores/SubjectStore.java
new file mode 100644
index 0000000..348dd46
--- /dev/null
+++ b/src/TimeTable/stores/SubjectStore.java
@@ -0,0 +1,9 @@
+package TimeTable.stores;
+
+import TimeTable.models.Subject;
+
+import java.util.ArrayList;
+
+public interface SubjectStore {
+ public ArrayList getSubjects();
+}
diff --git a/src/TimeTable/stores/TimeTableStore.java b/src/TimeTable/stores/TimeTableStore.java
new file mode 100644
index 0000000..5a532bc
--- /dev/null
+++ b/src/TimeTable/stores/TimeTableStore.java
@@ -0,0 +1,7 @@
+package TimeTable.stores;
+
+public interface TimeTableStore {
+ public PeriodStore getPeriodStore();
+ public SubjectStore getSubjectStore();
+ public ClassSessionStore getClassSessionStore();
+}
diff --git a/test.csv b/test.csv
index e69de29..25509ac 100644
--- a/test.csv
+++ b/test.csv
@@ -0,0 +1,5 @@
+ENG,English,Conway,
+FMA,Further Maths,Read,
+JAP,Japanese,Lyons,
+MAM,Methods,Macharga,
+INF,Informatics,Cummings,