Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
S
- Savable<MappableObject extends Mappable> - Class in main.utils.iocontrol
- 
An abstract class for managing objects that can be mapped to and from key-value pairs.
- Savable() - Constructor for class main.utils.iocontrol.Savable
- save() - Method in class main.repository.Repository
- 
Saves the list of model objects to the repository file.
- save(String) - Method in class main.utils.iocontrol.Savable
- 
Saves the list of mappable objects to a file.
- separator - Static variable in class main.utils.ui.BoundaryStrings
- 
The separator string used to visually separate UI elements.
- SEPARATOR_STRING - Static variable in record class main.utils.iocontrol.ObjectOutputControlCharacters
- 
The character to be used to separate features of an object.
- setAll(List<Map<String, String>>) - Method in class main.repository.project.ProjectRepository
- 
Sets the list of mappable objects by converting a list of maps to a list of Project objects.
- setAll(List<Map<String, String>>) - Method in class main.repository.request.RequestRepository
- 
Sets the list of mappable objects.
- setAll(List<Map<String, String>>) - Method in class main.repository.user.CoordinatorRepository
- 
Sets the list of mappable objects in the repository.
- setAll(List<Map<String, String>>) - Method in class main.repository.user.FacultyRepository
- 
Sets the list of mappable objects to a list of Supervisor objects.
- setAll(List<Map<String, String>>) - Method in class main.repository.user.StudentRepository
- 
Sets the list of mappable objects.
- setAll(List<Map<String, String>>) - Method in class main.utils.iocontrol.Savable
- 
Sets the list of mappable objects.
- setCoordinatorID(String) - Method in class main.model.request.StudentDeregistrationRequest
- 
Set the ID of the coordinator who deals with the request.
- setCoordinatorID(String) - Method in class main.model.request.StudentRegistrationRequest
- 
Set the ID of the coordinator who deals with the request.
- setCoordinatorID(String) - Method in class main.model.request.TransferStudentRequest
- 
Set the ID of the coordinator
- setCoordinatorID(String) - Method in class main.model.user.Coordinator
- 
setter for the coordinatorID
- setCoordinatorName(String) - Method in class main.model.user.Coordinator
- 
setter for the coordinatorName
- setEmail(String) - Method in class main.model.user.Coordinator
- 
setter for the email
- setHashedPassword(String) - Method in class main.model.user.Coordinator
- 
sets the hashed password of the user
- setHashedPassword(String) - Method in class main.model.user.Student
- 
setter for the password
- setHashedPassword(String) - Method in class main.model.user.Supervisor
- 
Sets the hashed password of the user
- setHashedPassword(String) - Method in interface main.model.user.User
- 
Sets the hashed password of the user
- setNewTitle(String) - Method in class main.model.request.StudentChangeTitleRequest
- 
Set the new title of the project
- setProjectID(String) - Method in class main.model.request.StudentChangeTitleRequest
- 
Set the id of the project
- setProjectID(String) - Method in class main.model.user.Student
- 
Sets the ID of the project
- setProjectTitle(String) - Method in class main.model.project.Project
- 
Set the title of the project
- setStatus(ProjectStatus) - Method in class main.model.project.Project
- 
Set the status of the project
- setStatus(RequestStatus) - Method in interface main.model.request.Request
- 
Set the status of the request.
- setStatus(RequestStatus) - Method in class main.model.request.StudentChangeTitleRequest
- 
Set the status of the request.
- setStatus(RequestStatus) - Method in class main.model.request.StudentDeregistrationRequest
- 
Set the status of the request.
- setStatus(RequestStatus) - Method in class main.model.request.StudentRegistrationRequest
- 
Set the status of the request.
- setStatus(RequestStatus) - Method in class main.model.request.TransferStudentRequest
- 
Set the status of the request
- setStatus(StudentStatus) - Method in class main.model.user.Student
- 
Sets the status of the student
- setStudentID(String) - Method in class main.model.project.Project
- 
Set the student ID of the project
- setStudentID(String) - Method in class main.model.request.StudentChangeTitleRequest
- 
Set the id of the student
- setSupervisorID(String) - Method in class main.model.project.Project
- 
Set the supervisor ID of the project
- setSupervisorID(String) - Method in class main.model.request.StudentChangeTitleRequest
- 
Set the id of the supervisor
- setSupervisorID(String) - Method in class main.model.request.TransferStudentRequest
- 
Set the ID of the supervisor
- setSupervisorID(String) - Method in class main.model.user.Student
- 
Sets the ID of the supervisor
- setUp() - Method in class test.controller.AccountManagerTest
- 
Before all test, clear all data in the database
- setUp() - Method in class test.controller.StudentRegistrationMangerTest
- 
This method sets up the test data by clearing all data from the repositories and creating a student and a project.
- setUp() - Method in class test.controller.SupervisorManagerTest
- 
Before all test, clear all data in the database Create a student and a few projects
- setUp() - Static method in class test.repository.user.FacultySaveTest
- 
This method is used to set up the supervisors.
- setUp() - Method in class test.repository.user.UserRepositoryTest
- 
This method is used to set up the supervisors.
- setUpEach() - Method in class test.repository.user.UserRepositoryTest
- 
This method is used to clear the faculty repository before each test.
- showColorfulStatus() - Method in enum class main.model.request.RequestStatus
- 
This method returns a string representation of the status with colors
- showColorfulString() - Method in enum class main.model.project.ProjectStatus
- 
Get the status of the project in a colorful string
- size() - Method in class main.repository.Repository
- 
Gets the size of the repository.
- start() - Static method in class main.boundary.UIEntry
- 
Starts the application.
- status - Variable in class main.model.project.Project
- 
the status of the project
- status - Variable in class main.model.user.Student
- 
The status of a student
- status - Variable in exception class main.utils.exception.StudentStatusException
- 
Thestatusinstance variable holds theStudentStatusof the student that caused the exception.
- StringAndMapConvertor - Class in main.utils.iocontrol
- 
The StringAndMapConvertor class provides methods to convert a String representation of a map to a Map object, and vice versa.
- StringAndMapConvertor() - Constructor for class main.utils.iocontrol.StringAndMapConvertor
- stringToMap(String) - Static method in class main.utils.iocontrol.StringAndMapConvertor
- 
Converts a String representation of a map to a Map object.
- Student - Class in main.model.user
- 
This class represents a student, which is a type of user.
- Student() - Constructor for class main.model.user.Student
- 
default constructor for Student class
- Student(String, String, String) - Constructor for class main.model.user.Student
- 
Constructs a new Student object with the specified student ID and default password.
- Student(String, String, String, String) - Constructor for class main.model.user.Student
- 
Constructs a new Student object with the specified student ID and password.
- Student(Map<String, String>) - Constructor for class main.model.user.Student
- 
Constructs a new Student object with the specified student ID and password.
- STUDENT - Enum constant in enum class main.model.user.UserType
- 
The type of the user is student
- STUDENT_CHANGE_TITLE - Enum constant in enum class main.model.request.RequestType
- 
The request is a student change title request
- STUDENT_DEREGISTRATION - Enum constant in enum class main.model.request.RequestType
- 
The request is a student deregistration request
- STUDENT_REGISTRATION - Enum constant in enum class main.model.request.RequestType
- 
The request is a student registration request
- StudentChangeTitleRequest - Class in main.model.request
- 
This class represents a student request to change the title of a project
- StudentChangeTitleRequest(String, String, String, String, String) - Constructor for class main.model.request.StudentChangeTitleRequest
- 
Constructor
- StudentChangeTitleRequest(Map<String, String>) - Constructor for class main.model.request.StudentChangeTitleRequest
- 
Constructor
- StudentDeregistrationRequest - Class in main.model.request
- 
A request for a student to deregister from a project
- StudentDeregistrationRequest(String, String, String, String) - Constructor for class main.model.request.StudentDeregistrationRequest
- 
Constructor
- StudentDeregistrationRequest(Map<String, String>) - Constructor for class main.model.request.StudentDeregistrationRequest
- 
Constructor
- studentID - Variable in class main.model.project.Project
- 
the student of the project
- studentID - Variable in class main.model.request.StudentChangeTitleRequest
- 
The ID of the student
- studentID - Variable in class main.model.request.StudentDeregistrationRequest
- 
The ID of the student
- studentID - Variable in class main.model.request.StudentRegistrationRequest
- 
The ID of the student
- studentID - Variable in class main.model.request.TransferStudentRequest
- 
The ID of the student
- studentID - Variable in class main.model.user.Student
- 
The ID of the student.
- studentMainPage(User) - Static method in class main.boundary.mainpage.StudentMainPage
- 
This method displays the main page of a student.
- StudentMainPage - Class in main.boundary.mainpage
- 
This is a Java class that represents the main page of a student in a system or application.
- StudentMainPage() - Constructor for class main.boundary.mainpage.StudentMainPage
- StudentMainPageTest - Class in test.boundary
- 
This class tests the functionality of the StudentMainPage class.
- StudentMainPageTest() - Constructor for class test.boundary.StudentMainPageTest
- StudentManager - Class in main.controller.request
- 
StudentManager class
- StudentManager() - Constructor for class main.controller.request.StudentManager
- studentName - Variable in class main.model.user.Student
- 
The name of a student
- StudentRegistrationMangerTest - Class in test.controller
- 
The StudentRegistrationManagerTest class is used to test the methods of the StudentManager class that are related to registering and deregistering a student to a project.
- StudentRegistrationMangerTest() - Constructor for class test.controller.StudentRegistrationMangerTest
- StudentRegistrationRequest - Class in main.model.request
- 
A class that represents a student registration request
- StudentRegistrationRequest(String, String, String, String) - Constructor for class main.model.request.StudentRegistrationRequest
- 
Constructor
- StudentRegistrationRequest(Map<String, String>) - Constructor for class main.model.request.StudentRegistrationRequest
- 
Constructor
- StudentRepository - Class in main.repository.user
- 
The StudentRepository class is a repository for managing the persistence of student objects through file I/O operations.
- StudentRepository() - Constructor for class main.repository.user.StudentRepository
- 
Constructor for the StudentRepository class.
- StudentStatus - Enum Class in main.model.user
- 
This enum represents the status of a student
- StudentStatus() - Constructor for enum class main.model.user.StudentStatus
- StudentStatusException - Exception Class in main.utils.exception
- 
TheStudentStatusExceptionclass is a custom exception that is thrown when a student's status prevents them from performing an action related to selecting a project for their FYP.
- StudentStatusException(StudentStatus) - Constructor for exception class main.utils.exception.StudentStatusException
- 
Creates a new instance of theStudentStatusExceptionclass with a custom error message based on the student's status.
- Supervisor - Class in main.model.user
- 
This class represents a supervisor, which is a type of user.
- Supervisor() - Constructor for class main.model.user.Supervisor
- 
default constructor for Supervisor class
- Supervisor(String, String, String) - Constructor for class main.model.user.Supervisor
- 
Constructs a new Supervisor object with the specified supervisor ID.
- Supervisor(String, String, String, String) - Constructor for class main.model.user.Supervisor
- 
Constructs a new Supervisor object with the specified supervisor ID and password.
- Supervisor(Map<String, String>) - Constructor for class main.model.user.Supervisor
- 
Constructs a new Supervisor object from a map
- SUPERVISOR_TRANSFER_STUDENT - Enum constant in enum class main.model.request.RequestType
- 
The request is a supervisor tranfer student request
- supervisorApproveOrRejectRequest(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method allows the supervisor to approve or reject a request by entering the request ID and the desired status.
- supervisorChangeProjectTitle(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method allows the supervisor to modify the title of an existing project by entering the project ID and the new title.
- supervisorCreateProject(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method allows the supervisor to create a project by entering the required details such as project title, project description, and project capacity.
- supervisorID - Variable in class main.model.project.Project
- 
the supervisor of the project
- supervisorID - Variable in class main.model.request.StudentChangeTitleRequest
- 
The ID of the supervisor who deals with the request
- supervisorID - Variable in class main.model.request.StudentDeregistrationRequest
- 
The ID of the supervisor
- supervisorID - Variable in class main.model.request.StudentRegistrationRequest
- 
The ID of the supervisor
- supervisorID - Variable in class main.model.request.TransferStudentRequest
- 
The ID of the supervisor
- supervisorID - Variable in class main.model.user.Student
- 
The ID of the supervisor
- supervisorID - Variable in class main.model.user.Supervisor
- 
The ID of the supervisor.
- supervisorMainPage(User) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method displays the main page options to the supervisor and handles user input to perform corresponding actions based on the selected option.
- SupervisorMainPage - Class in main.boundary.mainpage
- 
TheSupervisorMainPageclass is a boundary class that represents the main page for a supervisor in a system.
- SupervisorMainPage() - Constructor for class main.boundary.mainpage.SupervisorMainPage
- SupervisorManager - Class in main.controller.request
- 
SupervisorManager class
- SupervisorManager() - Constructor for class main.controller.request.SupervisorManager
- SupervisorManagerTest - Class in test.controller
- 
A test class that tests the functionality of the SupervisorManager class.
- SupervisorManagerTest() - Constructor for class test.controller.SupervisorManagerTest
- supervisorName - Variable in class main.model.user.Supervisor
- 
The name of the supervisor
- supervisorRequestForTransfer(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method allows the supervisor to submit a request for transferring a project by entering the project ID and the student ID.
- supervisors - Static variable in class test.repository.user.FacultySaveTest
- 
The array of supervisors.
- supervisors - Variable in class test.repository.user.UserRepositoryTest
- 
The array of supervisors.
- SupervisorStudentsLimitExceedException - Exception Class in main.utils.exception
- 
Thrown when a supervisor has reached the maximum number of students they can supervise.
- SupervisorStudentsLimitExceedException() - Constructor for exception class main.utils.exception.SupervisorStudentsLimitExceedException
- supervisorViewAllPendingRequest(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method displays all pending student requests for the supervisor.
- supervisorViewAllProjects(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- supervisorViewAllRequestHistory(Supervisor) - Static method in class main.boundary.mainpage.SupervisorMainPage
- 
This method displays all request history for the supervisor.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form