Index

A B C D E F G H I M N P R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values

A

ALLOCATED - Enum constant in enum class main.Models.projectStatus_ENUM
project is allocated after coordinator approves the request
APPROVED - Enum constant in enum class main.Models.requestStatus_ENUM
To show the request is approved.
authenticateStaff(String, String) - Static method in class main.Utils.Authenticator
Method to authenticate staff
authenticateStudent(String, String) - Static method in class main.Utils.Authenticator
Method to authenticate student
Authenticator - Class in main.Utils
Provide methods to authenticate different user types The class does not have any public constructors and should be used as a static utility class.
Authenticator() - Constructor for class main.Utils.Authenticator
 
AVAILABLE - Enum constant in enum class main.Models.projectStatus_ENUM
project is available

B

BLUE - Static variable in class main.Utils.ConsoleColors
blue console color
BLUE_BOLD_BRIGHT - Static variable in class main.Utils.ConsoleColors
bold bright blue console color

C

clearScreen() - Static method in class main.Utils.ConsoleUtils
Clears the console
ConsoleColors - Class in main.Utils
Provide code to change console color The class does not have any public constructors and should be used as a static utility class.
ConsoleColors() - Constructor for class main.Utils.ConsoleColors
 
ConsoleUtils - Class in main.Utils
Provide method to for console related methods The class does not have any public constructors and should be used as a static utility class.
ConsoleUtils() - Constructor for class main.Utils.ConsoleUtils
 
convertSalt(String) - Method in class main.Utils.Encryptor
Convert salt from type String to Byte array
CoordAllProject - Class in main.Pages
Page for Coordinator to view all projects
CoordAllProject(Page, Coordinator) - Constructor for class main.Pages.CoordAllProject
Base constructor for this page
CoordEditTitle - Class in main.Pages
Page for Coordinator to edit title of a project
CoordEditTitle(Page, Coordinator) - Constructor for class main.Pages.CoordEditTitle
Constructor for this class
Coordinator - Class in main.Models
Coordinator is a subclass of Supervisor
Coordinator(String, String) - Constructor for class main.Models.Coordinator
Constructing the Coordinator class
CoordinatorMain - Class in main.Pages
Page for Coordinator's main menu
CoordinatorMain(Page, Coordinator) - Constructor for class main.Pages.CoordinatorMain
Base constructor for this page
CoordMyProject - Class in main.Pages
Page for Coordinator to view own project
CoordMyProject(Page, Coordinator) - Constructor for class main.Pages.CoordMyProject
Base constructor for this page
CoordRequestHistory - Class in main.Pages
Page for Coordinator to all request's history
CoordRequestHistory(Page, Coordinator) - Constructor for class main.Pages.CoordRequestHistory
Base constructor for this page
CoordTransferStudent - Class in main.Pages
Page for Coordinator to request to transfer student
CoordTransferStudent(Page, Coordinator) - Constructor for class main.Pages.CoordTransferStudent
Base constructor for this page
CoordViewRequest - Class in main.Pages
Page for Coordinator to view all requests
CoordViewRequest(Page, Coordinator) - Constructor for class main.Pages.CoordViewRequest
Base constructor for this page
countSupervising - Variable in class main.Models.Supervisor
to keep track of how many students the supervisor is supervising
CreateProjectPage - Class in main.Pages
Page for Supervisor to create projects
CreateProjectPage(Page, Supervisor) - Constructor for class main.Pages.CreateProjectPage
Base constructor for this page

D

DeregisterProjectReq - Class in main.Models
DeregisterProjectRequest is a Request's subclass to deal with deregister request
DeregisterProjectReq(String, String, String, String, requestStatus_ENUM, String, String) - Constructor for class main.Models.DeregisterProjectReq
Constructor for DeregisterProjectReq

E

EditTitleReq - Class in main.Models
EditTitleReq is a subclass of Request that deals with edit title request
EditTitleReq(String, String, String, String, requestStatus_ENUM, String, String, String) - Constructor for class main.Models.EditTitleReq
Constructor for EditTitleReq
email - Variable in class main.Models.User
Email of user
Encryptor - Class in main.Utils
Provide methods to hash password and verify password
Encryptor(String) - Constructor for class main.Utils.Encryptor
Base constructor for Encryptor class
executable() - Method in class main.Pages.CoordAllProject
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CoordEditTitle
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CoordinatorMain
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CoordMyProject
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CoordRequestHistory
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CoordTransferStudent
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CoordViewRequest
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.CreateProjectPage
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.Exit
Main executable for this page
executable() - Method in class main.Pages.Page
main functionality of the page
executable() - Method in class main.Pages.SetPassword
main functionality of the page
executable() - Method in class main.Pages.StaffLogin
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.StaffMain
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.StudentLogin
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.StudentMain
Main executable for this page
executable() - Method in class main.Pages.StudentMyProject
Main executable for this page
executable() - Method in class main.Pages.StudentProjectRegister
Main executable for this page
executable() - Method in class main.Pages.StudentProjectView
Main executable for this page
executable() - Method in class main.Pages.StudentRequestDeregister
Main executable for this page
executable() - Method in class main.Pages.StudentRequestHistory
Main executable for this page
executable() - Method in class main.Pages.StudentRequestTitleChange
Main executable for this page Please see the Page class for abstract method
executable() - Method in class main.Pages.SupervisorDeregister
Main executable for SupervisorDeregister page
executable() - Method in class main.Pages.SupervisorEditTitle
Main executable for SupervisorEditTitle page
executable() - Method in class main.Pages.supervisorProjectView
Main executable for supervisorProjectView page
executable() - Method in class main.Pages.SupervisorRequestHistory
Main executable for SupervisorRequestHistory page
executable() - Method in class main.Pages.SupervisorTransferStudent
Main executable for SupervisorTransferStudent page
executable() - Method in class main.Pages.supervisorViewRequest
Main executable for supervisorViewRequest page
executable() - Method in class main.Pages.Welcome
Main executable for the page
Exit - Class in main.Pages
Exit the current page to return to the previous page
Exit(Page) - Constructor for class main.Pages.Exit
Constructor for Exit

F

FileHandler - Class in main.Utils
Provide methods to read and write file The class does not have any public constructors and should be used as a static utility class.
FileHandler() - Constructor for class main.Utils.FileHandler
 
findFile(String, String, int) - Static method in class main.Utils.FileHandler
Method to find if target exist in file

G

generateHashedPassword(byte[]) - Method in class main.Utils.Encryptor
Method to convert byte array to String
generateLongId() - Static method in class main.Utils.UIDGenerator
Method to 65536 UID in a millis
generateSalt() - Method in class main.Utils.Encryptor
Method to generate salt for hashing
getComments() - Method in class main.Models.Request
Gets comments in request
getDeregisteredStatus() - Method in class main.Models.Student
Gets deregistered status
getEmail() - Method in class main.Models.User
Gets user's email
getID() - Method in class main.Models.Project
Method to get the ID of project
getName() - Method in class main.Models.User
Gets user's name
getNewSupervisorID() - Method in class main.Models.TransferStudentReq
Gets the replacement supervisor's ID
getPreviousPage() - Method in class main.Pages.Page
Gets previous page visited
getProject() - Method in class main.Models.Student
Gets student's project
getProjectbyID(String) - Method in class main.Models.Supervisor
Gets supervisor's project according to project's ID
getProjectID() - Method in class main.Models.Request
Gets the projectID
getProjects() - Method in class main.Models.Supervisor
Gets list of projects created by supervisor
getProjects(int) - Method in class main.Models.Coordinator
Method to retrieve projects of an user
getRequestbyID(String) - Method in class main.Models.Student
Method to get request by its ID
getRequestbyID(String) - Method in class main.Models.Supervisor
Method to get a request in the request list by reuqest ID
getRequesteeID() - Method in class main.Models.Request
Gets ID of requestee
getRequesterID() - Method in class main.Models.Request
Gets the requester's ID
getRequestID() - Method in class main.Models.Request
Gets the requestID
getRequests() - Method in class main.Models.Student
Gets requests made by student
getRequests() - Method in class main.Models.Supervisor
Getter to get supervisor's request arraylist
getRequestStatus() - Method in class main.Models.Request
Gets the status of request
getRequestType() - Method in class main.Models.Request
Gets the type of request
getStatus() - Method in class main.Models.Project
Method to get the status of project
getStudentEmail() - Method in class main.Models.Project
Method to get the email of project's student
getStudentID() - Method in class main.Models.Project
Method to get the ID of project's student
getStudentName() - Method in class main.Models.Project
Method to get the naem of projec's student
getSupCount() - Method in class main.Models.Supervisor
Gets number of students supervising
getSupervisorEmail() - Method in class main.Models.Project
Method to get the email of project's supervisor
getSupervisorID() - Method in class main.Models.Project
Method to get the ID of project's supervisor
getSupervisorName() - Method in class main.Models.Project
Method to get the name of project's supervisor
getTitle() - Method in class main.Models.EditTitleReq
Method to get the new title of request
getTitle() - Method in class main.Models.Project
Method to get the title of project
getType() - Method in class main.Models.User
Gets type of user
getUserID() - Method in class main.Models.User
Gets user's ID
GREEN - Static variable in class main.Utils.ConsoleColors
green console color

H

hash(byte[]) - Method in class main.Utils.Encryptor
Method for hashing password

I

ID - Static variable in class main.Utils.ProjSortBy
Comparator to sort by project ID
ID - Static variable in class main.Utils.ReqSortBy
Comparator to sort by request ID
IinitialiseProject - Interface in main.Models
Provide methods to authenticate different user types
IinitialiseRequest - Interface in main.Models
Interface for classes that have to initialise request
initialiseProject() - Method in class main.Models.Coordinator
Method to initialise the project list of an user
initialiseProject() - Method in interface main.Models.IinitialiseProject
method to initialise the project
initialiseProject() - Method in class main.Models.Student
intialises student's project
initialiseProject() - Method in class main.Models.Supervisor
initialise 1 project
initialiseRequest() - Method in class main.Models.Coordinator
Method to initialize the request list of an user
initialiseRequest() - Method in interface main.Models.IinitialiseRequest
Method to initialise request
initialiseRequest() - Method in class main.Models.Student
intialises student made request
initialiseRequest() - Method in class main.Models.Supervisor
initialises request to be made

M

main - package main
 
main(String[]) - Static method in class main.MainApp
Main driver
main.Models - package main.Models
 
main.Pages - package main.Pages
 
main.Utils - package main.Utils
 
MainApp - Class in main
The main application
MainApp() - Constructor for class main.MainApp
 

N

name - Variable in class main.Models.User
Name of user

P

Page - Class in main.Pages
Abstract class for pages.
Page(Page) - Constructor for class main.Pages.Page
Constructor of Page
PENDING - Enum constant in enum class main.Models.requestStatus_ENUM
To show the request is pending.
printInfo(String, String, String) - Method in class main.Models.DeregisterProjectReq
Method to print the information of request
printInfo(String, String, String) - Method in class main.Models.EditTitleReq
Method to print the information of the request
printInfo(String, String, String) - Method in class main.Models.RegisterProjectReq
prints the information of the request
printInfo(String, String, String) - Method in class main.Models.Request
Prints the information of the request
printInfo(String, String, String) - Method in class main.Models.TransferStudentReq
prints the request's information
printProject() - Method in class main.Models.Student
prints the student's project's details
printProjects() - Method in class main.Models.Supervisor
prints out the list of projects that can be viewed and selected by student
printProjects(int) - Method in class main.Models.Coordinator
Method to print the projects of an user
processRequest(String) - Method in class main.Models.DeregisterProjectReq
Method to process the request
processRequest(String) - Method in class main.Models.EditTitleReq
Method to process request
processRequest(String) - Method in class main.Models.RegisterProjectReq
approve/reject the request and update the student, supervisor and project
processRequest(String) - Method in class main.Models.Request
Process the request
processRequest(String) - Method in class main.Models.TransferStudentReq
approve/reject the request
Project - Class in main.Models
Provide methods to authenticate different user types
Project(String, String, String, String, projectStatus_ENUM, String, String) - Constructor for class main.Models.Project
Constructor of Project class
projectStatus_ENUM - Enum Class in main.Models
Provide status of project
ProjSortBy - Class in main.Utils
Provide methods to sort project arraylist The class does not have any public constructors and should be used as a static utility class.
ProjSortBy() - Constructor for class main.Utils.ProjSortBy
 

R

readFile(String, String, int) - Static method in class main.Utils.FileHandler
Method to read file
RED - Static variable in class main.Utils.ConsoleColors
red console color
RegisterProjectReq - Class in main.Models
The class that handles the student's registration of a project
RegisterProjectReq(String, String, String, String, requestStatus_ENUM, String, String) - Constructor for class main.Models.RegisterProjectReq
constructor of RegisterProjectReq
REJECTED - Enum constant in enum class main.Models.requestStatus_ENUM
To show the request is rejected.
ReqSortBy - Class in main.Utils
Provide methods to sort request arraylist
ReqSortBy() - Constructor for class main.Utils.ReqSortBy
 
Request - Class in main.Models
The Request base class.
Request(String, String, String, String, requestStatus_ENUM, String, String) - Constructor for class main.Models.Request
The constructor of Request
requestStatus_ENUM - Enum Class in main.Models
An Enum that corresponds to the different status types of requests
RESERVED - Enum constant in enum class main.Models.projectStatus_ENUM
project is reserved after a student request for it
RESET - Static variable in class main.Utils.ConsoleColors
resets console color

S

setComments(String) - Method in class main.Models.Request
Sets comments in request
setNewSupervisorID(String) - Method in class main.Models.TransferStudentReq
Sets the replacement supervisor's ID
setPassword(String, String) - Method in class main.Pages.SetPassword
Sets new password of user
SetPassword - Class in main.Pages
A Page to set password of user
SetPassword(Page, String, String) - Constructor for class main.Pages.SetPassword
Constructor of setPassword
setProjectID(String) - Method in class main.Models.Request
Sets the projectID of the request
setRequesteeID(String) - Method in class main.Models.Request
Sets ID of requestee
setRequesterID(String) - Method in class main.Models.Request
Sets the request's requester's ID
setRequestID(String) - Method in class main.Models.Request
Sets the requestID
setRequestStatus(requestStatus_ENUM) - Method in class main.Models.Request
Sets request status
setRequestType(String) - Method in class main.Models.Request
Sets the type of request
setStudent(Student) - Method in class main.Models.Project
Method to assign the project to a student
setSupervisor(Supervisor) - Method in class main.Models.Project
Method to assign the project to a supervisor
setTitle(String) - Method in class main.Models.EditTitleReq
Method to set title of a project
StaffLogin - Class in main.Pages
Page for Supervisor to login
StaffLogin(Page, String) - Constructor for class main.Pages.StaffLogin
Base constructor for this page
StaffMain - Class in main.Pages
Page for Supervisor's main menu
StaffMain(Page, Supervisor) - Constructor for class main.Pages.StaffMain
Base constructor for this page
Status - Static variable in class main.Utils.ProjSortBy
Comparator to sort by project status
Status - Static variable in class main.Utils.ReqSortBy
Comparator to sort by request status
Student - Class in main.Models
The Student class
Student(String, String, Boolean) - Constructor for class main.Models.Student
Constructor of Student
StudentLogin - Class in main.Pages
Page for student's login
StudentLogin(Page, String) - Constructor for class main.Pages.StudentLogin
Base constructor for this page
StudentMain - Class in main.Pages
StudentMain is a subclass of Page that allows student to interact with the FYP system
StudentMain(Page, Student) - Constructor for class main.Pages.StudentMain
Constructor for this class
StudentMyProject - Class in main.Pages
StudentMyProject is a subclass of Page that allows student to view their project
StudentMyProject(Page, Student) - Constructor for class main.Pages.StudentMyProject
Constructor for this class
StudentName - Static variable in class main.Utils.ProjSortBy
Comarator to sort by student name
StudentProjectRegister - Class in main.Pages
StudentProjectRegister is a subclass of Page that allows student to register projects
StudentProjectRegister(Page, Student, String[]) - Constructor for class main.Pages.StudentProjectRegister
Constructor for this class
StudentProjectView - Class in main.Pages
StudentProjectView is a subclass of Page that allows student to view all projects
StudentProjectView(Page, Student) - Constructor for class main.Pages.StudentProjectView
Constructor for this class
StudentRequestDeregister - Class in main.Pages
StudentRequestDeregister is a subclass of Page that allows student to deregister their project
StudentRequestDeregister(Page, Student) - Constructor for class main.Pages.StudentRequestDeregister
Constructor for this class
StudentRequestHistory - Class in main.Pages
StudentRequestHistory is a subclass of Page that allows student to view their request history
StudentRequestHistory(Page, Student) - Constructor for class main.Pages.StudentRequestHistory
Constructor for this class
StudentRequestTitleChange - Class in main.Pages
StudentRequestTitleChange is a subclass of Page that allows supervisor to transfer student
StudentRequestTitleChange(Page, Student) - Constructor for class main.Pages.StudentRequestTitleChange
Constructor for this class
Supervisor - Class in main.Models
The Supervisor class
Supervisor(String, String) - Constructor for class main.Models.Supervisor
constructor of supervisor
SupervisorDeregister - Class in main.Pages
SupervisorDeregister is a subclass of Page that allows supervisor to deregister project
SupervisorDeregister(Page, Supervisor) - Constructor for class main.Pages.SupervisorDeregister
SupervisorDeregister constructor
SupervisorEditTitle - Class in main.Pages
SupervisorEditTitle is a subclass of Page that allows supervisor to edit title of projects
SupervisorEditTitle(Page, Supervisor) - Constructor for class main.Pages.SupervisorEditTitle
SupervisorEditTitle constructor
supervisorProjectView - Class in main.Pages
supervisorProjectView is a subclass of Page that allows supervisor to view their project
supervisorProjectView(Page, Supervisor) - Constructor for class main.Pages.supervisorProjectView
Constructor for this page
SupervisorRequestHistory - Class in main.Pages
SupervisorRequestHistory is a subclass of Page that allows supervisor to view request history
SupervisorRequestHistory(Page, Supervisor) - Constructor for class main.Pages.SupervisorRequestHistory
SupervisorRequestHistory constructor
SupervisorTransferStudent - Class in main.Pages
SupervisorTransferStudent is a subclass of Page that allows supervisor to transfer student
SupervisorTransferStudent(Page, Supervisor) - Constructor for class main.Pages.SupervisorTransferStudent
SupervisorTransferStudent constructor
supervisorViewRequest - Class in main.Pages
supervisorViewRequest is a subclass of Page that allows supervisor to view request
supervisorViewRequest(Page, Supervisor) - Constructor for class main.Pages.supervisorViewRequest
supervisorViewRequest constructor

T

TransferStudentReq - Class in main.Models
The class for requesting to transfer student to another supervisor
TransferStudentReq(String, String, String, String, requestStatus_ENUM, String, String, String) - Constructor for class main.Models.TransferStudentReq
Constructor of the request to transfer student
type - Variable in class main.Models.User
type of user
Type - Static variable in class main.Utils.ReqSortBy
Comparator to sort by request Type

U

UIDGenerator - Class in main.Utils
Provide methods to generate Unique ID for request and project The class does not have any public constructors and should be used as a static utility class.
UIDGenerator() - Constructor for class main.Utils.UIDGenerator
 
UNAVAILABLE - Enum constant in enum class main.Models.projectStatus_ENUM
project is unavailable when supervisor is supervising 2 projects
updateProject() - Method in interface main.Models.IinitialiseProject
Method to update the project
updateProject() - Method in class main.Models.Student
updates the student's project
updateProject() - Method in class main.Models.Supervisor
updates the list of projects created by supervisor and creates a new project
updateRequest() - Method in interface main.Models.IinitialiseRequest
Method to update request
updateRequest() - Method in class main.Models.Student
updates student made request list
updateRequest() - Method in class main.Models.Supervisor
Updates request list of supervisor
User - Class in main.Models
The user base class.
User(String, String) - Constructor for class main.Models.User
Constructor of User
userID - Variable in class main.Models.User
ID of user

V

valueOf(String) - Static method in enum class main.Models.projectStatus_ENUM
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class main.Models.requestStatus_ENUM
Returns the enum constant of this class with the specified name.
values() - Static method in enum class main.Models.projectStatus_ENUM
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class main.Models.requestStatus_ENUM
Returns an array containing the constants of this enum class, in the order they are declared.
verifyUserPassword(String, String, String) - Method in class main.Utils.Encryptor
Method to verify user input password with actual password

W

Welcome - Class in main.Pages
Welcome page
Welcome(Page) - Constructor for class main.Pages.Welcome
Constructor for the Welcome class
writeFile(String, String, int, String) - Static method in class main.Utils.FileHandler
Method to write input string to target line

Y

YELLOW - Static variable in class main.Utils.ConsoleColors
yellow console color
A B C D E F G H I M N P R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values