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
-
The
status
instance variable holds theStudentStatus
of 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
-
The
StudentStatusException
class 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 the
StudentStatusException
class 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
-
The
SupervisorMainPage
class 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