forked from nus-cs2103-AY1920S1/addressbook-level3
/
Logic.java
105 lines (86 loc) · 3.29 KB
/
Logic.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package seedu.scheduler.logic;
import java.nio.file.Path;
import java.util.List;
import javafx.collections.ObservableList;
import seedu.scheduler.commons.core.GuiSettings;
import seedu.scheduler.logic.commands.CommandResult;
import seedu.scheduler.logic.commands.exceptions.CommandException;
import seedu.scheduler.logic.parser.exceptions.ParseException;
import seedu.scheduler.model.Model;
import seedu.scheduler.model.ReadOnlyList;
import seedu.scheduler.model.Schedule;
import seedu.scheduler.model.person.Interviewee;
import seedu.scheduler.model.person.Interviewer;
/**
* API of the Logic component
*/
public interface Logic {
/**
* Executes the command and returns the result.
* @param commandText The command as entered by the user.
* @return the result of the command execution.
* @throws CommandException If an error occurs during command execution.
* @throws ParseException If an error occurs during parsing.
*/
CommandResult execute(String commandText) throws CommandException, ParseException;
// ==================================IntervieweeList and InterviewerList ======================================
/**
* Returns the uniterable, unmodifiable, unfiltered list of interviewees.
*/
ReadOnlyList<Interviewee> getIntervieweeList();
/**
* Returns the uniterable, unmodifiable, unfiltered list of Interviewers.
*/
ReadOnlyList<Interviewer> getInterviewerList();
/**
* Returns an iterable, unmodifiable view of the unfiltered list of all Interviewees.
*
* @see Model#getUnfilteredIntervieweeList()
*/
ObservableList<Interviewee> getUnfilteredIntervieweeList();
/**
* Returns an iterable, unmodifiable view of the unfiltered list of all Interviewers.
*
* @see Model#getUnfilteredInterviewerList()
*/
ObservableList<Interviewer> getUnfilteredInterviewerList();
/**
* Returns an iterable, unmodifiable view of the filtered list of Interviewees.
*
* @see Model#getMutableIntervieweeList()
*/
ObservableList<Interviewee> getFilteredIntervieweeList();
/**
* Returns an iterable, unmodifiable view of the filtered list of Interviewers.
*
* @see Model#getMutableInterviewerList()
*/
ObservableList<Interviewer> getFilteredInterviewerList();
/**
* Returns the user prefs' file path to the list of Interviewees.
*/
Path getIntervieweeListFilePath();
/**
* Returns the user prefs' file path to the list of Interviewers.
*/
Path getInterviewerListFilePath();
// ============================================ Schedule ===================================================
/**
* Returns the list of Schedules.
*
* @see Model#getSchedulesList()
*/
List<Schedule> getSchedulesList();
/** Returns a list of @code{ObservableList} objects, each representing a Schedule table*/
List<ObservableList<ObservableList<String>>> getObservableLists();
/** Returns a list of lists of column titles, each list of column titles belong to a Schedule table*/
List<List<String>> getTitlesLists();
/**
* Returns the user prefs' GUI settings.
*/
GuiSettings getGuiSettings();
/**
* Set the user prefs' GUI settings.
*/
void setGuiSettings(GuiSettings guiSettings);
}