A B C D E F G H I L M N P R S T U V W 
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 extends AuthService 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 the IAuthService 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 extends AuthService 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 extends AuthService 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 the IFileDataService 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 extends SupervisorController 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 and FYPCoordinator 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 the DeregisterProjectRequest.
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

history - Variable in class models.Request
The history of the status changes of the request.

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 implements IProjectView 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 implements IProjectView 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 extends ProjectSupervisorService and implements IProjectFYPCoordinatorService, 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 and Project 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 implements IProjectStudentService, 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 implements IProjectView 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 implements IProjectSupervisorService, 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 implements IRequestView 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 implements IRequestView 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 and Request objects as the value.
RequestDeregisterProjectView - Class in views
The RequestDeregisterProjectView class implements IRequestView 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 extends RequestSupervisorService and implements IRequestFYPCoordinatorService, 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 implements IRequestStudentService, 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 implements IRequestSupervisorService, 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 implements IRequestView 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
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 and Student 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 and Supervisor 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 the IUserService 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.
A B C D E F G H I L M N P R S T U V W 
All Classes All Packages