A B C D E F G H I L M N P R S T U V W
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- addHistory(Date, RequestStatus) - Method in class models.Request
-
Adds a status change to the history of the request.
- ALLOCATE_PROJECT - enums.RequestType
-
A request to allocate a project to a student.
- ALLOCATED - enums.ProjectStatus
-
The project is assigned to a student.
- AllocateProjectRequest - Class in models
-
The
AllocateProjectRequest
class represents a request to allocate a project to a student. - AllocateProjectRequest(String, String, int) - Constructor for class models.AllocateProjectRequest
-
Constructs an
AllocateProjectRequest
object for a new request. - AllocateProjectRequest(String, String, int, int, RequestStatus, ArrayList<String>) - Constructor for class models.AllocateProjectRequest
-
Constructs an
AllocateProjectRequest
object for an existing request. - approve() - Method in class models.AllocateProjectRequest
-
Approves the request to allocate the project to the student.
- approve() - Method in class models.ChangeProjectTitleRequest
-
Approves the request to change the project title and updates the project's title.
- approve() - Method in class models.DeregisterProjectRequest
-
This method approves the
DeregisterProjectRequest
. - approve() - Method in class models.Request
-
Changes the status of the request to APPROVED and updates the request history.
- approve() - Method in class models.TransferStudentRequest
-
Approves the
TransferStudentRequest
object. - APPROVED - enums.RequestStatus
-
Represents a request that has been approved.
- approveProject(Request) - Method in interface interfaces.IRequestSupervisorService
-
Approves the specified project request.
- approveProject(Request) - Method in class services.RequestSupervisorService
- AuthController - Class in controllers
-
The
AuthController
class provides utility methods for managing user authentication within the application. - AuthController() - Constructor for class controllers.AuthController
-
Private constructor to prevent instantiation of the class.
- authenticate(User, String) - Method in class services.AuthService
-
Authenticates the given user with the given password.
- AuthFYPCoordinatorService - Class in services
-
The
AuthFYPCoordinatorService
class extendsAuthService
and provides the login functionality for FYP Coordinators. - AuthFYPCoordinatorService() - Constructor for class services.AuthFYPCoordinatorService
-
Constructs an instance of the
AuthFYPCoordinatorService
class. - authService - Static variable in class controllers.AuthController
-
IAuthService
object to authenticate the user. - AuthService - Class in services
-
The
AuthService
class is an abstract class that implements theIAuthService
interface. - AuthService() - Constructor for class services.AuthService
-
Constructs an instance of the
AuthService
class. - AuthStore - Class in stores
-
The
AuthStore
class provides utility methods for managing the current authenticated user within the application. - AuthStore() - Constructor for class stores.AuthStore
-
Private constructor to prevent instantiation of the class.
- AuthStudentService - Class in services
-
The
AuthStudentService
class extendsAuthService
and provides the login functionality for students. - AuthStudentService() - Constructor for class services.AuthStudentService
-
Constructs an instance of the
AuthStudentService
class. - AuthSupervisorService - Class in services
-
The
AuthSupervisorService
class extendsAuthService
and provides the login functionality for supervisors. - AuthSupervisorService() - Constructor for class services.AuthSupervisorService
-
Constructs an instance of the
AuthSupervisorService
class. - AVAILABLE - enums.ProjectStatus
-
The project is open for students to reserve.
B
- BOLD - Static variable in class utils.TextDecorationUtils
-
TextDecorationUtils.BOLD
constant ANSI escape codes for bold text. - boldText(String) - Static method in class utils.TextDecorationUtils
-
Formats a string to be bolded.
C
- CHANGE_PROJECT_TITLE - enums.RequestType
-
A request to change the title of a project.
- changePassword() - Method in class controllers.UserController
-
Changes the user's password by prompting for their old and new passwords.
- changePassword(String, String) - Method in interface interfaces.IUserService
-
Changes the password of a user if the provided old password matches the current password.
- changePassword(String, String) - Method in class services.UserService
- ChangeProjectTitleRequest - Class in models
-
The
ChangeProjectTitleRequest
class represents a request from a supervisor to change the title of a project. - ChangeProjectTitleRequest(String, String, int, int, RequestStatus, ArrayList<String>, String) - Constructor for class models.ChangeProjectTitleRequest
-
Constructs a
ChangeProjectTitleRequest
object to initialize an existing request. - ChangeProjectTitleRequest(String, String, int, String) - Constructor for class models.ChangeProjectTitleRequest
-
Constructs a
ChangeProjectTitleRequest
object to create a new request. - changeProjectTitleRequestCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores change project title request data.
- CommonView - Class in views
-
The
CommonView
class provides utility methods for displaying user interface components in the console. - CommonView() - Constructor for class views.CommonView
-
Private constructor to prevent instantiation of the class.
- controllers - package controllers
- createAllocateProjectRequest(String, String, int) - Method in interface interfaces.IRequestStudentService
-
Creates a new allocate project request with the specified sender ID, receiver ID, and project ID.
- createAllocateProjectRequest(String, String, int) - Method in class services.RequestStudentService
- createChangeProjectTitleRequest(String, String, int, String) - Method in interface interfaces.IRequestStudentService
-
Creates a new change project title request with the specified sender ID, receiver ID, project ID, and new title.
- createChangeProjectTitleRequest(String, String, int, String) - Method in class services.RequestStudentService
- createDeregisterProjectRequest(String, String, int) - Method in interface interfaces.IRequestStudentService
-
Creates a new deregister project request with the specified sender ID, receiver ID, and project ID.
- createDeregisterProjectRequest(String, String, int) - Method in class services.RequestStudentService
- createProjects() - Method in class controllers.SupervisorController
-
Creates new projects based on user input and adds them to the supervisor's project list.
- createProjects(ArrayList<Project>) - Method in interface interfaces.IProjectSupervisorService
-
Creates new projects from the provided list of projects.
- createProjects(ArrayList<Project>) - Method in class services.ProjectSupervisorService
- createTransferStudentRequest(String, String, int, String) - Method in interface interfaces.IRequestSupervisorService
-
Creates a new transfer student request with the specified sender ID, receiver ID, project ID, and replacement supervisor ID.
- createTransferStudentRequest(String, String, int, String) - Method in class services.RequestSupervisorService
- CsvDataService - Class in services
-
The
CsvDataService
class implements theIFileDataService
interface and provides methods for reading and writing data from/to CSV files. - CsvDataService() - Constructor for class services.CsvDataService
-
Constructs an instance of the
CsvDataService
class. - csvFilePaths() - Static method in class utils.FilePathsUtils
-
Returns a mapping of CSV file paths for various data types used in the application.
- currentUser - Static variable in class stores.AuthStore
-
The currently authenticated user.
D
- DataStore - Class in stores
-
The
DataStore
class provides utility methods for managing data storage within the application. - DataStore() - Constructor for class stores.DataStore
-
Private constructor to prevent instantiation of the class.
- DEREGISTER_PROJECT - enums.RequestType
-
A request to deregister a project.
- DeregisterProjectRequest - Class in models
-
The
DeregisterProjectRequest
class represents a request made by a student to deregister a project. - DeregisterProjectRequest(String, String, int) - Constructor for class models.DeregisterProjectRequest
-
This constructor creates a new
DeregisterProjectRequest
object. - DeregisterProjectRequest(String, String, int, int, RequestStatus, ArrayList<String>) - Constructor for class models.DeregisterProjectRequest
-
This constructor initializes an existing
DeregisterProjectRequest
object. - displayProjectInfo(Project) - Method in interface interfaces.IProjectView
-
Displays information about the given project.
- displayProjectInfo(Project) - Method in class views.ProjectAllocatedView
- displayProjectInfo(Project) - Method in class views.ProjectAvailableView
- displayProjectInfo(Project) - Method in class views.ProjectSubmittedView
- displayRequestInfo(Request) - Method in interface interfaces.IRequestView
-
Displays information about the given request.
- displayRequestInfo(Request) - Method in class views.RequestAllocateProjectView
- displayRequestInfo(Request) - Method in class views.RequestChangeProjectTitleView
- displayRequestInfo(Request) - Method in class views.RequestDeregisterProjectView
- displayRequestInfo(Request) - Method in class views.RequestTransferStudentView
- displayRequests(ArrayList<Request>) - Method in class controllers.SupervisorController
-
Helper method to display the request information for a list of requests.
E
- email - Variable in class models.User
-
The email address of the user.
- endSession() - Static method in class controllers.AuthController
-
Ends the current user session by logging the user out and displaying a logout message.
- enums - package enums
- exportFYPCoordinatorData(String, String, String, Map<String, FYPCoordinator>) - Method in interface interfaces.IFileDataService
-
Exports FYP Coordinator data to the specified file paths.
- exportFYPCoordinatorData(String, String, String, Map<String, FYPCoordinator>) - Method in class services.CsvDataService
- exportProjectData(String, Map<Integer, Project>) - Method in interface interfaces.IFileDataService
-
Exports project data to the specified file path.
- exportProjectData(String, Map<Integer, Project>) - Method in class services.CsvDataService
- exportRequestData(String, String, String, Map<Integer, Request>) - Method in interface interfaces.IFileDataService
-
Exports request data to the specified file paths.
- exportRequestData(String, String, String, Map<Integer, Request>) - Method in class services.CsvDataService
- exportStudentData(String, String, Map<String, Student>) - Method in interface interfaces.IFileDataService
-
Exports student data to the specified file paths.
- exportStudentData(String, String, Map<String, Student>) - Method in class services.CsvDataService
- exportSupervisorData(String, String, Map<String, Supervisor>) - Method in interface interfaces.IFileDataService
-
Exports supervisor data to the specified file paths.
- exportSupervisorData(String, String, Map<String, Supervisor>) - Method in class services.CsvDataService
F
- fileDataService - Static variable in class stores.DataStore
-
The
IFileDataService
instance used for data operations. - filePathsMap - Static variable in class stores.DataStore
-
A
Map
containing file paths for various data types. - filePathsMap - Static variable in class utils.FilePathsUtils
-
A
Map
object that contains the file paths for various data types used in the application. - FilePathsUtils - Class in utils
-
The
FilePathsUtils
class provides utility methods for managing file paths within the application. - FilePathsUtils() - Constructor for class utils.FilePathsUtils
-
Private constructor to prevent instantiation of the class.
- formatHistory(Date, RequestStatus) - Method in class models.Request
-
Returns a string representation of the status change with the given date and status.
- FYPCoordinator - Class in models
-
The
FYPCoordinator
class represents a faculty member who serves as the coordinator for the final year project. - FYPCoordinator(String, String, String, String, int) - Constructor for class models.FYPCoordinator
-
Constructs a
FYPCoordinator
object with given coordinator ID, name, email, password, and number of projects. - FYPCOORDINATOR - enums.UserRole
-
Represents a user with the role of a Final Year Project Coordinator.
- FYPCoordinatorController - Class in controllers
-
The
FYPCoordinatorController
class extendsSupervisorController
and provides utility methods for managing the FYP Coordinator user role within the application. - FYPCoordinatorController() - Constructor for class controllers.FYPCoordinatorController
-
Constructs an instance of the
FYPCoordinatorController
class. - fypCoordinatorCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores FYP coordinator data.
- fypCoordinatorID - Variable in class models.FYPCoordinator
-
The ID of the FYPCoordinator.
- fypcoordinatorsData - Static variable in class stores.DataStore
-
A
Map
containing FYP coordinator ID as the key andFYPCoordinator
objects as the value. - FypmsApp - Class in main
-
The main class responsible for running the FYPMS application.
- FypmsApp() - Constructor for class main.FypmsApp
-
Private constructor to prevent instantiation of the class.
G
- getAllocatedProject(String) - Method in interface interfaces.IProjectStudentService
-
Retrieves the allocated project for the specified student.
- getAllocatedProject(String) - Method in class services.ProjectStudentService
- getAllProjects() - Method in interface interfaces.IProjectFYPCoordinatorService
-
Retrieves a list of all projects.
- getAllProjects() - Method in class services.ProjectFYPCoordinatorService
- getAllProjectsByStatus(ProjectStatus) - Method in interface interfaces.IProjectFYPCoordinatorService
-
Retrieves a list of projects filtered by the specified project status.
- getAllProjectsByStatus(ProjectStatus) - Method in class services.ProjectFYPCoordinatorService
- getAllProjectsBySupervisor(String) - Method in interface interfaces.IProjectFYPCoordinatorService
-
Retrieves a list of projects submitted by the specified supervisor.
- getAllProjectsBySupervisor(String) - Method in class services.ProjectFYPCoordinatorService
- getAllRequests() - Method in interface interfaces.IRequestFYPCoordinatorService
-
Retrieves a list of all requests.
- getAllRequests() - Method in class services.RequestFYPCoordinatorService
- getAvailableProjects() - Method in interface interfaces.IProjectStudentService
-
Retrieves a list of available projects.
- getAvailableProjects() - Method in class services.ProjectStudentService
- getCurrentUser() - Static method in class stores.AuthStore
-
Gets the current user from the AuthStore.
- getEmail() - Method in class models.User
-
Returns the email address of the User.
- getFYPCoordinatorID() - Method in class models.FYPCoordinator
-
Returns the coordinator ID of the FYPCoordinator.
- getFYPCoordinatorsData() - Static method in class stores.DataStore
-
Gets the FYP coordinators data map.
- getHistory() - Method in class models.Request
-
Returns the history of status changes of the request.
- getIncomingRequests(String) - Method in interface interfaces.IRequestSupervisorService
-
Retrieves a list of incoming requests sent to the supervisor with the specified ID.
- getIncomingRequests(String) - Method in class services.RequestSupervisorService
- getIsDeregistered() - Method in class models.Student
-
Returns whether a student is deregistered.
- getName() - Method in class models.User
-
Returns the name of the User.
- getNewTitle() - Method in class models.ChangeProjectTitleRequest
-
Returns the new title for the project in the request.
- getNumOfProjects() - Method in class models.Supervisor
-
Returns the number of projects supervised by the Supervisor.
- getOutgoingRequests(String) - Method in interface interfaces.IRequestSupervisorService
-
Retrieves a list of outgoing requests sent by the supervisor with the specified ID.
- getOutgoingRequests(String) - Method in class services.RequestSupervisorService
- getPassword() - Method in class models.User
-
Returns the password of the User.
- getProject() - Method in class models.Request
-
Returns the project associated with the request.
- getProjectID() - Method in class models.Project
-
Returns the ID of the project.
- getProjectsData() - Static method in class stores.DataStore
-
Gets the projects data map.
- getReceiver() - Method in class models.Request
-
Returns the receiver of the request.
- getReplacementSupervisorID() - Method in class models.TransferStudentRequest
-
Returns the ID of the supervisor who will be the new supervisor for the transferred student.
- getRequestID() - Method in class models.Request
-
Returns the ID of the request.
- getRequestsData() - Static method in class stores.DataStore
-
Gets the requests data map.
- getReservedProject(String) - Method in interface interfaces.IProjectStudentService
-
Retrieves the reserved project for the specified student.
- getReservedProject(String) - Method in class services.ProjectStudentService
- getRole() - Method in class models.User
-
Returns the UserRole of the User.
- getSender() - Method in class models.Request
-
Returns the sender of the request.
- getStatus() - Method in class models.Project
-
Returns the status of the project.
- getStatus() - Method in class models.Request
-
Returns the status of the request.
- getStudent() - Method in class models.DeregisterProjectRequest
-
This method returns the
Student
object associated with the student ID of theDeregisterProjectRequest
. - getStudent() - Method in class models.Project
-
Returns the student assigned to the project.
- getStudentID() - Method in class models.Student
-
Returns the student ID of the Student.
- getStudentPendingRequests(String) - Method in interface interfaces.IRequestSupervisorService
-
Retrieves a list of pending requests made by the students of the supervisor with the specified ID.
- getStudentPendingRequests(String) - Method in class services.RequestSupervisorService
- getStudentRequests(String) - Method in interface interfaces.IRequestStudentService
-
Retrieves a list of requests made by the student with the specified ID.
- getStudentRequests(String) - Method in class services.RequestStudentService
- getStudentsData() - Static method in class stores.DataStore
-
Gets the students data map.
- getSubmittedProjects(String) - Method in interface interfaces.IProjectSupervisorService
-
Retrieves a list of projects submitted by the supervisor with the specified ID.
- getSubmittedProjects(String) - Method in class services.ProjectSupervisorService
- getSupervisor() - Method in class models.Project
-
Returns the supervisor assigned to supervise the project.
- getSupervisorID() - Method in class models.Supervisor
-
Returns the supervisor ID of the Supervisor.
- getSupervisorPendingRequests(String) - Method in interface interfaces.IRequestFYPCoordinatorService
-
Retrieves a list of pending requests made to the FYP Coordinator with the specified ID.
- getSupervisorPendingRequests(String) - Method in class services.RequestFYPCoordinatorService
- getSupervisorsData() - Static method in class stores.DataStore
-
Gets the supervisors data map.
- getTitle() - Method in class models.Project
-
Returns the title of the project.
- getType() - Method in class models.Request
-
Returns the type of the request.
- getUserID() - Method in class models.User
-
Returns the user ID of the User.
H
I
- IAuthService - Interface in interfaces
-
The
IAuthService
interface defines a contract for managing authentication services, such as login and logout. - IFileDataService - Interface in interfaces
-
The
IFileDataService
interface defines a contract for importing and exporting data to and from files. - importFYPCoordinatorData(String, String, String) - Method in interface interfaces.IFileDataService
-
Imports FYP Coordinator data from the specified file paths.
- importFYPCoordinatorData(String, String, String) - Method in class services.CsvDataService
- importProjectData(String, String, String, String, String) - Method in interface interfaces.IFileDataService
-
Imports project data from the specified file paths.
- importProjectData(String, String, String, String, String) - Method in class services.CsvDataService
- importRequestData(String, String, String) - Method in interface interfaces.IFileDataService
-
Imports request data from the specified file paths.
- importRequestData(String, String, String) - Method in class services.CsvDataService
- importStudentData(String, String) - Method in interface interfaces.IFileDataService
-
Imports student data from the specified file paths.
- importStudentData(String, String) - Method in class services.CsvDataService
- importSupervisorData(String, String) - Method in interface interfaces.IFileDataService
-
Imports supervisor data from the specified file paths.
- importSupervisorData(String, String) - Method in class services.CsvDataService
- initDataStore(IFileDataService, Map<String, String>) - Static method in class stores.DataStore
-
Initializes the DataStore by setting up the file data service, file paths map, and importing data from the file system.
- interfaces - package interfaces
- IProjectFYPCoordinatorService - Interface in interfaces
-
The
IProjectFYPCoordinatorService
interface defines a contract for managing FYP Coordinator-related project services. - IProjectStudentService - Interface in interfaces
-
The
IProjectStudentService
interface defines a contract for managing student-related project services. - IProjectSupervisorService - Interface in interfaces
-
The
IProjectSupervisorService
interface defines a contract for managing supervisor-related project services. - IProjectView - Interface in interfaces
-
The
IProjectView
interface defines a contract for displaying project information. - IRequestFYPCoordinatorService - Interface in interfaces
-
The
IRequestFYPCoordinatorService
interface defines a contract for managing FYP Coordinator-related request services. - IRequestStudentService - Interface in interfaces
-
The
IRequestStudentService
interface defines a contract for managing student-related request services. - IRequestSupervisorService - Interface in interfaces
-
The
IRequestSupervisorService
interface defines a contract for managing supervisor-related request services. - IRequestView - Interface in interfaces
-
The
IRequestView
interface defines a contract for displaying request information. - isDeregistered - Variable in class models.Student
-
The registration status of the student.
- isLoggedIn() - Static method in class stores.AuthStore
-
Checks if the user is logged in.
- ITALIC - Static variable in class utils.TextDecorationUtils
-
TextDecorationUtils.ITALIC
constant ANSI escape codes for italic text. - italicText(String) - Static method in class utils.TextDecorationUtils
-
Formats a string to be italic.
- IUserService - Interface in interfaces
-
The
IUserService
interface defines a contract for user services.
L
- lastProjectID - Static variable in class models.Project
-
The ID of the last project that was created.
- lastRequestID - Static variable in class models.Request
-
The ID of the last request created.
- login(String, String) - Method in interface interfaces.IAuthService
-
Logs in a user with the specified user ID and password.
- login(String, String) - Method in class services.AuthFYPCoordinatorService
- login(String, String) - Method in class services.AuthService
- login(String, String) - Method in class services.AuthStudentService
- login(String, String) - Method in class services.AuthSupervisorService
- logMaxCapacityReached() - Method in class controllers.FYPCoordinatorController
-
Logs a message indicating that a supervisor's maximum project capacity has been reached adn that remaining available projects are now unavailable.
- logMaxCapacityUnreached() - Method in class controllers.FYPCoordinatorController
-
Logs a message indicating that a supervisor's maximum project capacity has not been reached and that unavailable projects are not available.
- logout() - Method in interface interfaces.IAuthService
-
Logs out the currently logged in user.
- logout() - Method in class services.AuthService
- logSupervisorStatus(String, String, int) - Method in class controllers.FYPCoordinatorController
-
Logs the status of the supervisor, including their name, ID, and the number of projects they are currently supervising.
M
- main - package main
- main(String[]) - Static method in class main.FypmsApp
-
The entry point for the FYPMS application.
- MAX_PROJECTS - Static variable in class models.Supervisor
-
The maximum number of projects that can be supervised by a
Supervisor
. - models - package models
N
- name - Variable in class models.User
-
The name of the user.
- newTitle - Variable in class models.ChangeProjectTitleRequest
-
The new title for the project.
- numOfProjects - Variable in class models.Supervisor
-
The number of projects supervised by the supervisor.
P
- parseUserRow(String[]) - Method in class services.CsvDataService
-
Parses a string array containing user data and returns a map of user information.
- password - Variable in class models.User
-
The password of the user.
- PENDING - enums.RequestStatus
-
Represents a request that is awaiting approval or rejection.
- pressEnterToContinue() - Static method in class views.CommonView
-
Prompts the user to press the "Enter" key to continue with the application.
- printNavbar(String) - Static method in class views.CommonView
-
Prints the navigation bar with the given path.
- printReceiverInfo(User) - Static method in class utils.RequestViewUtils
-
Prints information about the receiver of the request, including their user ID, name, and email.
- printRequestHeader(Request, String) - Static method in class utils.RequestViewUtils
-
Prints the header for a request, including its ID, type, and status.
- printRequestHistory(Request) - Static method in class utils.RequestViewUtils
-
Prints the history of a request.
- printSenderInfo(User) - Static method in class utils.RequestViewUtils
-
Prints information about the sender of the request, including their user ID, name, and email.
- printSplashScreen() - Static method in class views.CommonView
-
Prints the splash screen for the Final Year Project Management System (FYPMS).
- printSubHeader(String) - Static method in class utils.RequestViewUtils
-
Prints a subheader for a specific section of the request display.
- Project - Class in models
-
The
Project
class represents a project that a supervisor has created - Project(int, String, String, String, ProjectStatus) - Constructor for class models.Project
-
Constructs a
Project
object for an existing project - Project(String, String, String, ProjectStatus) - Constructor for class models.Project
-
Constructs a
Project
object for a new project - ProjectAllocatedView - Class in views
-
The
ProjectAllocatedView
class implementsIProjectView
and provides methods for displaying project information when the project is allocated. - ProjectAllocatedView() - Constructor for class views.ProjectAllocatedView
-
Constructs an instance of the
ProjectAllocatedView
class. - ProjectAvailableView - Class in views
-
The
ProjectAvailableView
class implementsIProjectView
and provides methods for displaying project information when the project is available. - ProjectAvailableView() - Constructor for class views.ProjectAvailableView
-
Constructs an instance of the
ProjectAvailableView
class. - projectCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores project data.
- projectFYPCoordinatorService - Static variable in class controllers.FYPCoordinatorController
-
An instance of the
IProjectFYPCoordinatorService
interface used to perform operations related to projects in the FYPMS system. - ProjectFYPCoordinatorService - Class in services
-
The
ProjectFYPCoordinatorService
class extendsProjectSupervisorService
and implementsIProjectFYPCoordinatorService
, providing project-related functionalities for FYP Coordinators. - ProjectFYPCoordinatorService() - Constructor for class services.ProjectFYPCoordinatorService
-
Constructs an instance of the
ProjectFYPCoordinatorService
class. - projectID - Variable in class models.Project
-
The ID of the project.
- projectID - Variable in class models.Request
-
The ID of the project associated with the request.
- projectsData - Static variable in class stores.DataStore
-
A
Map
containing project ID as the key andProject
objects as the value. - projectSelector(ArrayList<Project>) - Static method in class utils.SelectorUtils
-
Selects a project from a list of projects by getting user input.
- ProjectStatus - Enum in enums
-
The
ProjectStatus
enumeration represents the various states a project can be in. - ProjectStatus() - Constructor for enum enums.ProjectStatus
- projectStatusSelector() - Static method in class utils.SelectorUtils
-
Selects a project status by getting user input.
- projectStudentService - Static variable in class controllers.StudentController
-
The
IProjectStudentService
instance used for accessing project data and services for students. - ProjectStudentService - Class in services
-
The
ProjectStudentService
class implementsIProjectStudentService
, providing project-related functionalities for students. - ProjectStudentService() - Constructor for class services.ProjectStudentService
-
Constructs an instance of the
ProjectStudentService
class. - ProjectSubmittedView - Class in views
-
The
ProjectSubmittedView
class implementsIProjectView
and provides methods for displaying project information when the project is submitted. - ProjectSubmittedView() - Constructor for class views.ProjectSubmittedView
-
Constructs an instance of the
ProjectSubmittedView
class. - projectSupervisorService - Static variable in class controllers.SupervisorController
-
The project supervisor service used to perform operations on projects.
- ProjectSupervisorService - Class in services
-
The
ProjectSupervisorService
class implementsIProjectSupervisorService
, providing project-related functionalities for supervisors. - ProjectSupervisorService() - Constructor for class services.ProjectSupervisorService
-
Constructs an instance of the
ProjectSupervisorService
class. - projectView - Static variable in class controllers.SupervisorController
-
The project view used to display project information.
R
- readCsvFile(String, List<String>) - Method in class services.CsvDataService
-
Reads data from the CSV file located at the given file path and returns it as a list of string arrays.
- receiverID - Variable in class models.Request
-
The ID of the receiver of the request.
- reject() - Method in class models.AllocateProjectRequest
-
Rejects the request to allocate the project to the student.
- reject() - Method in class models.Request
-
Changes the status of the request to REJECTED and updates the request history.
- REJECTED - enums.RequestStatus
-
Represents a request that has been rejected.
- rejectProject(Request) - Method in interface interfaces.IRequestSupervisorService
-
Rejects the specified project request.
- rejectProject(Request) - Method in class services.RequestSupervisorService
- replacementSupervisorID - Variable in class models.TransferStudentRequest
-
The ID of the supervisor who will be the new supervisor for the transferred student.
- Request - Class in models
-
The abstract class
Request
represents a request made by a user to a supervisor or FYP coordinator to perform a certain action on a project. - Request(String, String, int) - Constructor for class models.Request
-
Constructs a new
Request
object with a new request ID, pending status, empty history, sender ID, receiver ID, and project ID. - Request(String, String, int, int, RequestStatus, ArrayList<String>) - Constructor for class models.Request
-
Constructs a
Request
object with existing request ID, status, history, sender ID, receiver ID, and project ID. - RequestAllocateProjectView - Class in views
-
The
RequestAllocateProjectView
class implementsIRequestView
and provides methods for displaying request information related to allocating a project to a student. - RequestAllocateProjectView() - Constructor for class views.RequestAllocateProjectView
-
Constructs an instance of the
RequestAllocateProjectView
class. - RequestChangeProjectTitleView - Class in views
-
The
RequestChangeProjectTitleView
class implementsIRequestView
and provides methods for displaying request information related to changing a project's title. - RequestChangeProjectTitleView() - Constructor for class views.RequestChangeProjectTitleView
-
Constructs an instance of the
RequestChangeProjectTitleView
class. - requestCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores request data.
- requestData - Static variable in class stores.DataStore
-
A
Map
containing request ID as the key andRequest
objects as the value. - RequestDeregisterProjectView - Class in views
-
The
RequestDeregisterProjectView
class implementsIRequestView
and provides methods for displaying request information related to deregistering a student from a project. - RequestDeregisterProjectView() - Constructor for class views.RequestDeregisterProjectView
-
Constructs an instance of the
RequestDeregisterProjectView
class. - requestFYPCoordinatorService - Static variable in class controllers.FYPCoordinatorController
-
An instance of the
IRequestFYPCoordinatorService
interface used to perform operations related to requests in the FYPMS system. - RequestFYPCoordinatorService - Class in services
-
The
RequestFYPCoordinatorService
class extendsRequestSupervisorService
and implementsIRequestFYPCoordinatorService
, providing request-related functionalities for FYP Coordinators. - RequestFYPCoordinatorService() - Constructor for class services.RequestFYPCoordinatorService
-
Constructs an instance of the
RequestFYPCoordinatorService
class. - requestFYPDeregistration() - Method in class controllers.StudentController
-
Sends a request for FYP deregistration.
- requestID - Variable in class models.Request
-
The ID of the request.
- requestSelector(ArrayList<Request>) - Static method in class utils.SelectorUtils
-
Selects a request from a list of requests by getting user input.
- RequestStatus - Enum in enums
-
The
RequestStatus
enumeration represents the different states a request can be in. - RequestStatus() - Constructor for enum enums.RequestStatus
- requestStudentService - Static variable in class controllers.StudentController
-
The
IRequestStudentService
instance used for accessing request data and services for students. - RequestStudentService - Class in services
-
The
RequestStudentService
class implementsIRequestStudentService
, providing request-related functionalities for students. - RequestStudentService() - Constructor for class services.RequestStudentService
-
Constructs an instance of the
RequestStudentService
class. - requestStudentTransfer() - Method in class controllers.SupervisorController
-
Allows the supervisor to initiate a student transfer request by selecting a project and a replacement supervisor.
- requestSupervisorService - Static variable in class controllers.SupervisorController
-
The request supervisor service used to perform operations on requests.
- RequestSupervisorService - Class in services
-
The
RequestSupervisorService
class implementsIRequestSupervisorService
, providing request-related functionalities for supervisors. - RequestSupervisorService() - Constructor for class services.RequestSupervisorService
-
Constructs an instance of the
RequestSupervisorService
class. - requestTitleChange() - Method in class controllers.StudentController
-
Sends a request for a project title change.
- RequestTransferStudentView - Class in views
-
The
RequestTransferStudentView
class implementsIRequestView
and provides methods for displaying request information related to transferring a student to a replacement supervisor. - RequestTransferStudentView() - Constructor for class views.RequestTransferStudentView
-
Constructs an instance of the
RequestTransferStudentView
class. - RequestType - Enum in enums
-
The
RequestType
enumeration represents the different types of requests. - RequestType() - Constructor for enum enums.RequestType
- requestView - Static variable in class controllers.StudentController
-
The project view used to display project information.
- requestView - Static variable in class controllers.SupervisorController
-
The request view used to display request information.
- RequestViewUtils - Class in utils
-
The
RequestViewUtils
class provides utility methods for displaying request-related information, such as request header, sender/receiver info, and request history. - RequestViewUtils() - Constructor for class utils.RequestViewUtils
-
Constructs an instance of the
RequestViewUtils
class. - RESERVED - enums.ProjectStatus
-
The project is reserved by a student and awaiting approval.
- RESET_CODE - Static variable in class utils.TextDecorationUtils
-
TextDecorationUtils.RESET_CODE
ANSI reset code. - role - Variable in class models.User
-
The
UserRole
of the user.
S
- saveData() - Static method in class stores.DataStore
-
Saves the data from the DataStore to the file system.
- sc - Static variable in class controllers.AuthController
-
Scanner
object to get input from the user. - sc - Static variable in class controllers.FYPCoordinatorController
-
Scanner
object to get input from the user. - sc - Static variable in class controllers.StudentController
-
Scanner
object to get input from the user. - sc - Static variable in class controllers.SupervisorController
-
Scanner
object to get input from the user. - sc - Static variable in class controllers.UserController
-
Scanner
object to get input from the user. - sc - Static variable in class utils.SelectorUtils
-
Scanner
object to get input from the user. - sc - Static variable in class views.CommonView
-
Scanner
object to get input from the user. - sc2002_fypms - module sc2002_fypms
-
This project is a Java-based application for managing final year projects (FYP) for students in tertiary institutions.
- SelectorUtils - Class in utils
-
The
SelectorUtils
class provides utility methods to select various entities like projects, supervisors, and requests from a list by getting user input. - SelectorUtils() - Constructor for class utils.SelectorUtils
-
Constructs an instance of the
SelectorUtils
class. - senderID - Variable in class models.Request
-
The ID of the sender making the request.
- sendProjectToCoordinator() - Method in class controllers.StudentController
-
Sends a project allocation request to the FYP coordinator.
- services - package services
- setCurrentUser(User) - Static method in class stores.AuthStore
-
Sets the current user in the AuthStore.
- setFYPCoordinatorsData(Map<String, FYPCoordinator>) - Static method in class stores.DataStore
-
Sets the FYP coordinators data map and saves the data to the file system.
- setHistory(ArrayList<String>) - Method in class models.Request
-
Sets the history of status changes of the request.
- setIsDeregistered(Boolean) - Method in class models.Student
-
Sets the isDeregistered status of the Student.
- setNumOfProjects(int) - Method in class models.Supervisor
-
Sets the number of projects supervised by the Supervisor.
- setPassword(String, String) - Method in class models.User
-
Sets the password of the user.
- setProjectsData(Map<Integer, Project>) - Static method in class stores.DataStore
-
Sets the projects data map and saves the data to the file system.
- setRequestsData(Map<Integer, Request>) - Static method in class stores.DataStore
-
Sets the requests data map and saves the data to the file system.
- setRole(UserRole) - Method in class models.User
-
Sets the UserRole of the User.
- setStatus(ProjectStatus) - Method in class models.Project
-
Sets the status of the project.
- setStatus(RequestStatus) - Method in class models.Request
-
Sets the status of the request.
- setStudent(String) - Method in class models.Project
-
Sets the student assigned to the project.
- setStudentsData(Map<String, Student>) - Static method in class stores.DataStore
-
Sets the students data map and saves the data to the file system.
- setSupervisor(String) - Method in class models.Project
-
Sets the supervisor assigned to supervise the project.
- setSupervisorsData(Map<String, Supervisor>) - Static method in class stores.DataStore
-
Sets the supervisors data map and saves the data to the file system.
- setTitle(String) - Method in class models.Project
-
Sets the title of the project.
- setType(RequestType) - Method in class models.Request
-
Sets the type of the request.
- start() - Method in class controllers.FYPCoordinatorController
-
Starts the FYP Coordinator menu and prompts the user to select an action.
- start() - Method in class controllers.StudentController
-
Starts the student menu and prompts the user to select an action.
- start() - Method in class controllers.SupervisorController
-
Starts the supervisor controller and displays the main menu for the supervisor.
- startSession() - Static method in class controllers.AuthController
-
Starts a user session by prompting the user to select their role and enter their credentials.
- status - Variable in class models.Project
-
The status of the project.
- status - Variable in class models.Request
-
The status of the request.
- stores - package stores
- Student - Class in models
-
The
Student
class represents a student user in the system. - Student(String, String, String, String, boolean) - Constructor for class models.Student
-
Constructs a
Student
object with given student ID, name, email, password, and registration status. - STUDENT - enums.UserRole
-
Represents a user with the role of a student.
- StudentController - Class in controllers
-
The
StudentController
class is responsible for handling the student-specific user interface and user interactions. - StudentController() - Constructor for class controllers.StudentController
-
Constructs an instance of the
StudentController
class. - studentCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores student data.
- studentID - Variable in class models.DeregisterProjectRequest
-
The ID of the student sending the deregistration request.
- studentID - Variable in class models.Project
-
The ID of the student who is working on this project.
- studentID - Variable in class models.Student
-
The ID of the student.
- studentsData - Static variable in class stores.DataStore
-
A
Map
containing student ID as the key andStudent
objects as the value. - Supervisor - Class in models
-
The
Supervisor
class represents a user with the role of supervisor. - Supervisor(String, String, String, String, int) - Constructor for class models.Supervisor
-
Constructs a
Supervisor
object with given supervisor ID, name, email, password, and number of projects. - SUPERVISOR - enums.UserRole
-
Represents a user with the role of a supervisor.
- SupervisorController - Class in controllers
-
The
SupervisorController
class handles the user interactions for supervisors. - SupervisorController() - Constructor for class controllers.SupervisorController
-
Constructs an instance of the
SupervisorController
class. - supervisorCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores supervisor data.
- supervisorID - Variable in class models.Project
-
The ID of the supervisor assigned to supervise this project.
- supervisorID - Variable in class models.Supervisor
-
The ID of the supervisor.
- supervisorsData - Static variable in class stores.DataStore
-
A
Map
containing supervisor ID as the key andSupervisor
objects as the value. - supervisorSelector(Map<String, Supervisor>) - Static method in class utils.SelectorUtils
-
Selects a supervisor from a map of supervisors by getting user input.
T
- TextDecorationUtils - Class in utils
-
The
TextDecorationUtils
class provides utility methods for providing text decoration in the console display for the whole application. - TextDecorationUtils() - Constructor for class utils.TextDecorationUtils
- title - Variable in class models.Project
-
The title of the project.
- TRANSFER_STUDENT - enums.RequestType
-
A request to transfer a student from one supervisor to another.
- TransferStudentRequest - Class in models
-
The
TransferStudentRequest
class represents a request made to transfer a student from one supervisor to another. - TransferStudentRequest(String, String, int, int, RequestStatus, ArrayList<String>, String) - Constructor for class models.TransferStudentRequest
-
Constructs a
TransferStudentRequest
object with the given sender ID, receiver ID, project ID, request ID, request status, history, and replacement supervisorID. - TransferStudentRequest(String, String, int, String) - Constructor for class models.TransferStudentRequest
-
Constructs a
TransferStudentRequest
object with the given sender ID, receiver ID, project ID, and replacement supervisor ID. - transferStudentRequestCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores transfer student request data.
- type - Variable in class models.Request
-
The type of request.
U
- UNAVAILABLE - enums.ProjectStatus
-
The project is not available for reservation.
- UNDERLINE - Static variable in class utils.TextDecorationUtils
-
TextDecorationUtils.UNDERLINE
constant ANSI escape codes for underline text. - underlineText(String) - Static method in class utils.TextDecorationUtils
-
Formats a string to be underlined.
- updateAvailabilityOfProjects(Request) - Method in class controllers.FYPCoordinatorController
-
A utility function that updates the availability of projects after a request (allocate, transfer, deregister) has been completed.
- updateProject() - Method in class controllers.SupervisorController
-
Allows the supervisor to update the title of a selected project.
- updateProjectTitle(Project, String, String) - Method in interface interfaces.IProjectSupervisorService
-
Updates the title of the specified project if the supervisor ID matches the project's supervisor.
- updateProjectTitle(Project, String, String) - Method in class services.ProjectSupervisorService
- updateRemainingProjectsToUnavailable(String) - Method in interface interfaces.IProjectSupervisorService
-
Updates the remaining projects of the specified supervisor to unavailable.
- updateRemainingProjectsToUnavailable(String) - Method in class services.ProjectSupervisorService
- updateUnavailableProjectsToAvailable(String) - Method in interface interfaces.IProjectSupervisorService
-
Updates the unavailable projects of the specified supervisor to available.
- updateUnavailableProjectsToAvailable(String) - Method in class services.ProjectSupervisorService
- User - Class in models
-
The
User
class represents a user in the system. - User(String, String, String, String) - Constructor for class models.User
-
Constructs a
User
object with given user ID, name, email, and password. - UserController - Class in controllers
-
The
UserController
class is responsible for handling user-related actions, such as changing the user's password. - UserController() - Constructor for class controllers.UserController
-
Constructs an instance of the
UserController
class. - userCsvHeaders - Static variable in class services.CsvDataService
-
The list of headers for the CSV file that stores user data.
- userID - Variable in class models.User
-
The ID of the user.
- UserRole - Enum in enums
-
The
UserRole
enumeration represents the different roles a user can have in the system. - UserRole() - Constructor for enum enums.UserRole
- UserService - Class in services
-
The
UserService
class implements theIUserService
interface and provides functionality related to user management, such as changing passwords. - UserService() - Constructor for class services.UserService
-
Constructs an instance of the
UserService
class. - utils - package utils
V
- valueOf(String) - Static method in enum enums.ProjectStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum enums.RequestStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum enums.RequestType
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum enums.UserRole
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum enums.ProjectStatus
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum enums.RequestStatus
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum enums.RequestType
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum enums.UserRole
-
Returns an array containing the constants of this enum type, in the order they are declared.
- viewAllocatedProject(IProjectView) - Method in class controllers.StudentController
-
Displays the allocated project for the current student.
- viewApproveRejectPendingRequest() - Method in class controllers.FYPCoordinatorController
-
Overrides the
SupervisorController
's method for viewing, approving, and rejecting pending requests. - viewApproveRejectPendingRequest() - Method in class controllers.SupervisorController
-
Displays a list of pending requests for the supervisor to approve or reject.
- viewAvailableProject(IProjectView) - Method in class controllers.StudentController
-
Displays the list of available projects for the current student.
- viewProjects() - Method in class controllers.FYPCoordinatorController
-
Displays all projects
- viewProjects() - Method in class controllers.SupervisorController
-
Displays the submitted projects of the supervisor.
- viewProjectsByFilter() - Method in class controllers.FYPCoordinatorController
-
Displays all projects with filters applied.
- viewRequests() - Method in class controllers.FYPCoordinatorController
-
Displays all requests
- viewRequests() - Method in class controllers.StudentController
-
Displays the request status and history for the current student.
- viewRequests() - Method in class controllers.SupervisorController
-
Displays the incoming and outgoing requests for the supervisor.
- views - package views
W
- writeCsvFile(String, List<String>, List<String>) - Method in class services.CsvDataService
-
Writes the given data to a CSV file located at the given file path.
All Classes All Packages