Index

A B C D E F G I L M N O P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

AccountController - Class in controller
Controller responsible for managing user accounts and authentication.
AccountController() - Constructor for class controller.AccountController
 
add(T) - Method in class entity.list.ModelList
Adds a single item to the end of the list and saves the list to the file.
addApplicantID(String) - Method in class entity.project.Project
Adds a single applicant ID to the list of applicants who have booked a flat.
allOptions() - Static method in class boundary.ApplicantPage
Displays the main menu options available to the logged-in applicant.
allOptions() - Static method in class boundary.ManagerPage
Displays the main menu options available to the logged-in manager.
allOptions() - Static method in class boundary.OfficerPage
Displays the main menu options available to the logged-in officer.
AlreadyRegisteredException - Exception Class in exception
Custom checked exception thrown when an attempt is made to register a user whose user ID already exists within the system.
AlreadyRegisteredException() - Constructor for exception class exception.AlreadyRegisteredException
Constructs a new AlreadyRegisteredException with a default detail message.
answerEnquiries() - Static method in class boundary.ManagerPage
Handles the process for a manager to answer a specific enquiry.
answerEnquiry() - Static method in class boundary.OfficerPage
Handles the process for an officer to answer a specific enquiry.
answerEnquiry(String, String) - Static method in class controller.OfficerRequestController
Records an answer provided by the officer for a specific enquiry.
Applicant - Class in entity.user
Represents an Applicant user in the housing application system.
Applicant() - Constructor for class entity.user.Applicant
Default constructor.
Applicant(String, String, String, int, MaritalStatus) - Constructor for class entity.user.Applicant
Parameterized constructor to create an Applicant with specified initial details.
APPLICANT - Enum constant in enum class entity.user.UserType
Represents a standard applicant user seeking housing.
ApplicantController - Class in controller
Controller responsible for handling business logic related to actions performed by Applicants.
ApplicantController() - Constructor for class controller.ApplicantController
 
ApplicantList - Class in entity.list
Manages a list of Applicant objects, handling data persistence and retrieval.
ApplicantList(String) - Constructor for class entity.list.ApplicantList
Constructs an ApplicantList instance associated with a specific file path.
ApplicantPage - Class in boundary
Represents the boundary layer for handling applicant interactions and displaying the applicant menu.
ApplicantPage() - Constructor for class boundary.ApplicantPage
 
ApplicationStatus - Enum Class in entity.user
Represents the status of an applicant's application for a specific housing project.
applyProject() - Static method in class boundary.ApplicantPage
Handles the process for an applicant to apply for a specific project.
applyProject() - Static method in class boundary.OfficerPage
Handles the process for the officer (acting as an applicant) to apply for a specific project.
applyProject(String, FlatType) - Static method in class controller.ApplicantController
Processes a project application request for the current applicant.
APPROVED - Enum constant in enum class entity.user.RegistrationStatus
The officer's registration request has been approved by a manager; the officer is assigned to the project.
ApprovedStatus - Enum Class in entity.request
Represents the approval status of a request that requires explicit approval or rejection, such as BTO applications, withdrawals, or officer registrations.

B

BOOKED - Enum constant in enum class entity.user.ApplicationStatus
The applicant has successfully booked a specific flat unit after their application was approved.
bookFlat() - Static method in class boundary.OfficerPage
Initiates the process for booking a flat for a specific applicant.
bookFlat(String) - Static method in class controller.OfficerProjectController
Books a flat for a specified applicant.
boundary - package boundary
 
BTO_APPLICATION - Enum constant in enum class entity.request.RequestType
Represents a request submitted by an applicant to apply for a Build-To-Order (BTO) housing project.
BTO_WITHDRAWAL - Enum constant in enum class entity.request.RequestType
Represents a request submitted by an applicant to withdraw a previously submitted BTO application.
BTOApplication - Class in entity.request
Represents a specific type of request for a Build-To-Order (BTO) housing project application.
BTOApplication() - Constructor for class entity.request.BTOApplication
Default constructor.
BTOApplication(String, RequestType, String, String, RequestStatus) - Constructor for class entity.request.BTOApplication
Parameterized constructor to create a BTOApplication with specified initial details.
BTOWithdrawal - Class in entity.request
Represents a specific type of request to withdraw a previously submitted Build-To-Order (BTO) housing application.
BTOWithdrawal() - Constructor for class entity.request.BTOWithdrawal
Default constructor.
BTOWithdrawal(String, RequestType, String, String, RequestStatus) - Constructor for class entity.request.BTOWithdrawal
Parameterized constructor to create a BTOWithdrawal request with specified initial details.

C

changeApplicationStatus() - Static method in class boundary.ManagerPage
Allows the manager to change the approval status of an application request.
changeApplicationStatus(String, ApprovedStatus) - Static method in class controller.ManagerRequestController
Changes the approval status (PENDING, SUCCESSFUL, UNSUCCESSFUL) for specific types of applications (BTO Application, BTO Withdrawal, Officer Registration) and triggers related cascading actions.
changePassword() - Static method in class boundary.LoginPage
Handles the password change process for a user.
changePassword(String, String, String) - Static method in class controller.AccountController
Changes the password for a given user ID after verifying the old password.
changeRequestStatus(String, RequestStatus) - Static method in class controller.ManagerRequestController
Changes the overall status (e.g., PENDING, DONE) of a specific request.
checkApplicable(String) - Static method in class controller.ApplicantController
Checks if the currently set applicant is eligible to apply for a given project.
checkPassword(String, String) - Static method in class controller.AccountController
Checks if the provided plain text password matches the stored hashed password for the given user ID.
checkQuery(String) - Static method in class controller.ApplicantController
Checks if the current applicant is allowed to modify (edit/delete) a specific enquiry.
checkValidProject(List<String>) - Static method in class controller.OfficerProjectController
Helper method to check if the officer is associated with any projects.
clear() - Method in class entity.list.ModelList
Removes all items from the internal list.
clearPage() - Static method in class utils.UIController
Attempts to clear the console screen.
coloredString() - Method in enum class entity.request.ApprovedStatus
Returns a string representation of the approval status, formatted with ANSI escape codes for colored console output.
coloredString() - Method in enum class entity.request.RequestStatus
Returns a string representation of the status, formatted with ANSI escape codes for colored console output.
coloredString() - Method in enum class entity.user.ApplicationStatus
Returns a string representation of the status, formatted with ANSI escape codes for colored console output.
coloredString() - Method in enum class entity.user.RegistrationStatus
Returns a string representation of the status, formatted with ANSI escape codes for colored console output.
controller - package controller
 
Converter<T> - Class in utils
Utility class providing static methods for converting objects to and from string representations, primarily designed for CSV serialization and deserialization.
Converter() - Constructor for class utils.Converter
 
createProject() - Static method in class boundary.ManagerPage
Handles the creation of a new project by the manager.
createProject(String, String, List<String>, Map<FlatType, Integer>, Map<FlatType, Integer>, LocalDate, LocalDate, int) - Static method in class controller.ManagerProjectController
Creates a new project and associates it with the current manager.

D

DATE - Enum constant in enum class utils.SortType
Indicates that sorting should be performed based on a date attribute of the items, typically the project's open date or another relevant date.
DATE_SEPARATOR - Static variable in class utils.Converter
Separator used within a CSV field to delimit parts of a LocalDate representation.
dateToString(LocalDate) - Static method in class utils.Converter
Formats a LocalDate object into a specific string representation using DATE_SEPARATOR.
delete(String) - Method in class entity.list.ModelList
Deletes an item from the list based on its ID.
deleteProject() - Static method in class boundary.ManagerPage
Handles the deletion of a project by the manager.
deleteProject(String) - Static method in class controller.ManagerProjectController
Deletes a project and handles cascading updates/cleanups.
deleteQuery() - Static method in class boundary.ApplicantPage
Allows the applicant to delete an existing query they submitted.
deleteQuery() - Static method in class boundary.OfficerPage
Allows the officer (acting as an applicant) to delete one of their own submitted queries.
deleteQuery(String) - Static method in class controller.ApplicantController
Deletes an existing enquiry submitted by the current applicant.
Display - Class in utils
Utility class containing static methods for displaying formatted information about various entity objects (Applicants, Officers, Managers, Projects, Requests) to the standard console output.
Display() - Constructor for class utils.Display
 
displayApplicant(Applicant, boolean) - Static method in class utils.Display
Displays formatted information about an Applicant.
displayFilter() - Static method in class controller.FilterController
Displays the currently active filter and sort settings to the console.
displayManager(Manager) - Static method in class utils.Display
Displays formatted information about a Manager.
displayOfficer(Officer) - Static method in class utils.Display
Displays formatted information about an Officer.
displayProject(Project, UserType, FlatType) - Static method in class utils.Display
Displays formatted information about a Project.
displayRequest(Request, UserType) - Static method in class utils.Display
Displays formatted information about a Request.
DONE - Enum constant in enum class entity.request.RequestStatus
The request has been fully processed and is considered complete.

E

editProject() - Static method in class boundary.ManagerPage
Handles the editing of an existing project by the manager.
editProject(String, Project) - Static method in class controller.ManagerProjectController
Updates an existing project's details in the ProjectList.
editQuery() - Static method in class boundary.ApplicantPage
Allows the applicant to edit an existing query they submitted.
editQuery() - Static method in class boundary.OfficerPage
Allows the officer (acting as an applicant) to edit one of their own submitted queries.
editQuery(String, String) - Static method in class controller.ApplicantController
Edits the text content of an existing enquiry submitted by the current applicant.
endDate - Static variable in class controller.FilterController
The latest acceptable project close date for filtering.
Enquiry - Class in entity.request
Represents a specific type of request where a user submits an enquiry or question, typically regarding a specific project.
Enquiry() - Constructor for class entity.request.Enquiry
Default constructor.
Enquiry(String, RequestType, String, String, RequestStatus, String) - Constructor for class entity.request.Enquiry
Parameterized constructor to create an Enquiry request with specified initial details.
ENQUIRY - Enum constant in enum class entity.request.RequestType
Represents a request submitted by a user (e.g., applicant) asking a question or seeking information, usually about a project.
entity.list - package entity.list
 
entity.project - package entity.project
 
entity.request - package entity.request
 
entity.user - package entity.user
 
exception - package exception
 
exit() - Static method in class utils.UIController
Clears the console screen and terminates the Java Virtual Machine, effectively exiting the application.

F

FilterController - Class in controller
Controller responsible for managing filter and sort criteria for Project lists.
FilterController() - Constructor for class controller.FilterController
 
filteredList(List<Project>) - Static method in class controller.FilterController
Applies the currently configured filters and sorting to a given list of Projects.
filteredListFromID(List<String>) - Static method in class controller.FilterController
Retrieves Project objects based on a list of project IDs and then applies the current filters.
findUser(String) - Static method in class controller.AccountController
Finds a user by their user ID across all user type lists.
flatType - Static variable in class controller.FilterController
The specific FlatType to filter by.
FlatType - Enum Class in entity.project
Represents the different types of flats available within housing projects.

G

generateReceipt() - Static method in class boundary.OfficerPage
Generates a general receipt (details depend on controller implementation).
generateReceipt() - Static method in class controller.OfficerProjectController
Generates a 'receipt' by displaying details of all applicants who have successfully BOOKED a flat across all projects the current officer is registered for.
generateReceiptByApplicant() - Static method in class boundary.OfficerPage
Generates a receipt specifically for an applicant.
generateReceiptByApplicant(String) - Static method in class controller.OfficerProjectController
Generates a 'receipt' for a specific applicant ID.
generateReceiptByProject() - Static method in class boundary.OfficerPage
Generates receipts related to a specific project.
generateReceiptByProject(String) - Static method in class controller.OfficerProjectController
Generates a 'receipt' by displaying details of all applicants who have successfully BOOKED a flat for a specific project ID, provided the current officer is registered for that project.
generateReport() - Static method in class boundary.ManagerPage
Generates a report based on project or request data (specifics depend on controller implementation).
generateReport() - Static method in class controller.ManagerProjectController
Generates and displays a report of applicants for a specific project based on criteria provided by the user.
getAge() - Method in class entity.user.Applicant
Gets the applicant's age.
getAge() - Method in class entity.user.Manager
Gets the manager's age.
getAge() - Method in interface entity.user.User
Gets the age of this user.
getAll() - Method in class entity.list.ModelList
Returns a defensive copy of the internal list of items.
getAnswer() - Method in class entity.request.Enquiry
Gets the text content of the answer provided for this enquiry.
getApplicantID() - Method in class entity.project.Project
Gets the list of user IDs of applicants who have successfully booked a flat in this project.
getApplicationStatus() - Method in class entity.request.BTOApplication
Gets the current approval status of this BTO application.
getApplicationStatus() - Method in class entity.user.Applicant
Gets the map containing the application status for different projects.
getApplicationStatusByID(String) - Method in class entity.user.Applicant
Gets the application status for a specific project ID from the status map.
getAppliedFlat() - Method in class entity.user.Applicant
Gets the map containing the flat type applied for in different projects.
getAppliedFlatByID(String) - Method in class entity.user.Applicant
Gets the flat type applied for for a specific project ID from the map.
getAvailableOfficer() - Method in class entity.project.Project
Gets the number of available officer slots for this project.
getAvailableUnit() - Method in class entity.project.Project
Gets the map of available units per flat type.
getByID(String) - Method in class entity.list.ApplicantList
Retrieves an Applicant from the list based on their unique user ID.
getByID(String) - Method in class entity.list.ManagerList
Retrieves a Manager from the list based on their unique user ID.
getByID(String) - Method in class entity.list.ModelList
Retrieves an item of type T from the list based on its unique String identifier.
getByID(String) - Method in class entity.list.OfficerList
Retrieves an Officer from the list based on their unique user ID.
getByID(String) - Method in class entity.list.ProjectList
Retrieves a Project from the list based on its unique project ID.
getByID(String) - Method in class entity.list.RequestList
Retrieves a Request (or one of its subclasses) from the list based on its unique request ID.
getCloseDate() - Method in class entity.project.Project
Gets the application close date.
getField(T) - Static method in class utils.Converter
Generates a comma-separated string of field names for a given object's class, including fields inherited from superclasses (up to two levels).
getFilePath() - Method in class entity.list.ApplicantList
Gets the file path associated with this ApplicantList instance, indicating where the applicant data is persisted.
getFilePath() - Method in class entity.list.ManagerList
Gets the file path associated with this ManagerList instance, indicating where the manager data is persisted.
getFilePath() - Method in class entity.list.ModelList
Gets the specific file path used by the concrete subclass for data persistence.
getFilePath() - Method in class entity.list.OfficerList
Gets the file path associated with this OfficerList instance, indicating where the officer data is persisted.
getFilePath() - Method in class entity.list.ProjectList
 
getFilePath() - Method in class entity.list.RequestList
Gets the file path associated with this RequestList instance, indicating where the request data is persisted.
getHashedPassword() - Method in class entity.user.Applicant
Gets the applicant's hashed password.
getHashedPassword() - Method in class entity.user.Manager
Gets the manager's hashed password.
getHashedPassword() - Method in interface entity.user.User
Gets the securely hashed password for this user's account.
getInstance() - Static method in class entity.list.ApplicantList
Provides a static factory method to get an instance of ApplicantList.
getInstance() - Static method in class entity.list.ManagerList
Provides a static factory method to get an instance of ManagerList.
getInstance() - Static method in class entity.list.OfficerList
Provides a static factory method to get an instance of OfficerList.
getInstance() - Static method in class entity.list.ProjectList
Provides a static factory method to get an instance of ProjectList.
getInstance() - Static method in class entity.list.RequestList
Provides a static factory method to get an instance of RequestList.
getManagerID() - Method in class entity.project.Project
Gets the user ID of the manager responsible for this project.
getMaritalStatus() - Method in class entity.user.Applicant
Gets the applicant's marital status.
getMaritalStatus() - Method in class entity.user.Manager
Gets the manager's marital status.
getMaritalStatus() - Method in interface entity.user.User
Gets the marital status of this user.
getName() - Method in class entity.project.Project
Gets the name of the project.
getName() - Method in class entity.user.Applicant
Gets the applicant's name.
getName() - Method in class entity.user.Manager
Gets the manager's name.
getName() - Method in interface entity.user.User
Gets the name of this user.
getNeighborhood() - Method in class entity.project.Project
Gets the list of nearby neighbourhood names.
getOfficerID() - Method in class entity.project.Project
Gets the list of user IDs of officers assigned to this project.
getOfficerProject() - Method in class entity.user.Officer
Gets the list of project IDs the officer is assigned to or registered for.
getOpenDate() - Method in class entity.project.Project
Gets the application open date.
getPrice() - Method in class entity.project.Project
Gets the map of prices per flat type.
getProject() - Method in class entity.user.Applicant
Gets the ID of the single project the applicant is currently actively associated with (e.g., the one they have applied to or booked).
getProject() - Method in class entity.user.Manager
Gets the list of project IDs managed by this manager.
getProjectID() - Method in class entity.project.Project
Gets the unique project ID.
getProjectID() - Method in class entity.request.Request
Gets the project ID related to this request.
getProjectID() - Method in interface entity.request.Requestable
Gets the project ID related to this request, if applicable.
getQuery() - Method in class entity.request.Enquiry
Gets the text content of the user's submitted query.
getRegistrationStatus() - Method in class entity.request.OfficerRegistration
Gets the current approval status of this officer registration request.
getRegistrationStatus() - Method in class entity.user.Officer
Gets the map containing the officer's registration status for different projects.
getRegistrationStatusByID(String) - Method in class entity.user.Officer
Gets the registration status for a specific project ID from the status map.
getRequestClass(String) - Static method in class utils.Converter
Determines the specific subclass of Request based on a serialized string line.
getRequestID() - Method in class entity.request.Request
Gets the unique identifier for this request.
getRequestID() - Method in interface entity.request.Requestable
Gets the unique identifier for this request.
getRequestStatus() - Method in class entity.request.Request
Gets the overall processing status of this request.
getRequestStatus() - Method in interface entity.request.Requestable
Gets the overall processing status of this request (e.g., PENDING, DONE).
getRequestType() - Method in class entity.request.Request
Gets the type of this request.
getRequestType() - Method in interface entity.request.Requestable
Gets the type of this request.
getUserID() - Static method in class controller.AccountController
Gets the user ID of the currently authenticated user.
getUserID() - Method in class entity.request.Request
Gets the user ID associated with this request.
getUserID() - Method in interface entity.request.Requestable
Gets the user ID associated with this request (e.g., the user who submitted it).
getUserID() - Method in class entity.user.Applicant
Gets the applicant's user ID.
getUserID() - Method in class entity.user.Manager
Gets the manager's user ID.
getUserID() - Method in interface entity.user.User
Gets the unique identifier for this user.
getVisibility() - Method in class entity.project.Project
Gets the visibility status of the project.
getWithdrawalStatus() - Method in class entity.request.BTOWithdrawal
Gets the current approval status of this withdrawal request.

I

IDController - Class in utils
Utility class responsible for generating unique, sequential identifiers (IDs) for new Project and Request entities.
IDController() - Constructor for class utils.IDController
 
init() - Static method in class controller.FilterController
Initializes or resets all filter criteria to their default state.
init() - Static method in class utils.IDController
Initializes the static ID counters by scanning the existing Project and Request lists.
InvalidUserFormatException - Exception Class in exception
Custom checked exception thrown when a provided user ID does not conform to the expected format (e.g., NRIC format).
InvalidUserFormatException() - Constructor for exception class exception.InvalidUserFormatException
Constructs a new InvalidUserFormatException with a default detail message.
IOController - Class in utils
Utility class providing static methods for handling console input operations.
IOController() - Constructor for class utils.IOController
 

L

LINE_SEPARATOR - Static variable in class utils.UIController
A constant string used as a visual separator in console output, typically for separating different sections or headers.
LIST_SEPARATOR - Static variable in class utils.Converter
Separator used within a CSV field to delimit elements of a List.
listToString(List<String>) - Static method in class utils.Converter
Converts a List of Strings into a single string representation using LIST_SEPARATOR.
load(String, boolean) - Method in class entity.list.ModelList
Loads list data from the specified file path.
load(String, boolean) - Method in class entity.list.RequestList
Overrides the load method to handle polymorphism within the Request hierarchy.
load(String, boolean) - Method in interface entity.list.Saveable
Loads the object's state from the specified file path.
location - Static variable in class controller.FilterController
List of desired neighbourhood locations for filtering.
login() - Static method in class boundary.LoginPage
Handles the user login process.
login(String, String) - Static method in class controller.AccountController
Attempts to log in a user with the provided credentials.
LoginPage - Class in boundary
Represents the boundary layer for handling user login, registration, and initial interactions.
LoginPage() - Constructor for class boundary.LoginPage
 
logout() - Static method in class controller.AccountController
Logs out the currently authenticated user.
loopApplicant() - Static method in class utils.UIController
Pauses execution, prompts the user to press Enter, and then navigates back to the main Applicant menu by calling ApplicantPage.allOptions().
loopManager() - Static method in class utils.UIController
Pauses execution, prompts the user to press Enter, and then navigates back to the main Manager menu by calling ManagerPage.allOptions().
loopOfficer() - Static method in class utils.UIController
Pauses execution, prompts the user to press Enter, and then navigates back to the main Officer menu by calling OfficerPage.allOptions().

M

main - package main
 
main(String[]) - Static method in class main.Main
The main method that serves as the entry point for the application execution.
Main - Class in main
The main entry point class for the housing application system.
Main() - Constructor for class main.Main
 
Manager - Class in entity.user
Represents a Manager user in the housing application system.
Manager() - Constructor for class entity.user.Manager
Default constructor.
Manager(String, String, String, int, MaritalStatus) - Constructor for class entity.user.Manager
Parameterized constructor to create a Manager with specified initial personal details.
MANAGER - Enum constant in enum class entity.user.UserType
Represents a manager user, typically with higher-level responsibilities such as creating projects, managing officers, and overseeing application approvals.
ManagerList - Class in entity.list
Manages a list of Manager objects, handling data persistence and retrieval.
ManagerList(String) - Constructor for class entity.list.ManagerList
Constructs a ManagerList instance associated with a specific file path.
ManagerPage - Class in boundary
Represents the boundary layer for handling manager interactions and displaying the manager menu.
ManagerPage() - Constructor for class boundary.ManagerPage
 
ManagerProjectController - Class in controller
Controller responsible for handling project-related operations initiated by a Manager.
ManagerProjectController() - Constructor for class controller.ManagerProjectController
 
ManagerRequestController - Class in controller
Controller responsible for handling request-related operations from a Manager's perspective.
ManagerRequestController() - Constructor for class controller.ManagerRequestController
 
MAP_SEPARATOR - Static variable in class utils.Converter
Separator used within a Map entry string to separate the key from the value.
mapToString(Map<A, B>) - Static method in class utils.Converter
Converts a Map<A, B> into a single string representation.
MaritalStatus - Enum Class in entity.user
Represents the marital status of a user within the system.
MARRIED - Enum constant in enum class entity.user.MaritalStatus
Represents the 'Married' marital status.
ModelList<T> - Class in entity.list
An abstract generic base class for managing lists of model objects of type T.
ModelList(String, Class<T>) - Constructor for class entity.list.ModelList
Initializes the ModelList.

N

NAME - Enum constant in enum class utils.SortType
Indicates that sorting should be performed based on the name attribute of the items.
newProjectID() - Static method in class utils.IDController
Generates a new, unique project ID sequentially.
newRequestID() - Static method in class utils.IDController
Generates a new, unique request ID sequentially.
nextDate() - Static method in class utils.IOController
Prompts the user to enter a date (day, month, year separately as integers) and constructs a LocalDate object.
nextInt() - Static method in class utils.IOController
Reads the next integer value from the console input.
nextLine() - Static method in class utils.IOController
Reads the next complete line of text (up to the newline character) from the console input.
NONE - Enum constant in enum class entity.request.RequestType
Represents an unspecified, default, or null request type.

O

objToString(T) - Static method in class utils.Converter
Serializes an object into a single comma-separated string representation.
Officer - Class in entity.user
Represents an Officer user in the housing application system.
Officer() - Constructor for class entity.user.Officer
Default constructor.
Officer(String, String, String, int, MaritalStatus) - Constructor for class entity.user.Officer
Parameterized constructor to create an Officer with specified initial personal details.
OFFICER - Enum constant in enum class entity.user.UserType
Represents an officer user, potentially responsible for processing applications or managing specific aspects of projects.
OfficerList - Class in entity.list
Manages a list of Officer objects, handling data persistence and retrieval.
OfficerList(String) - Constructor for class entity.list.OfficerList
Constructs an OfficerList instance associated with a specific file path.
OfficerPage - Class in boundary
Represents the boundary layer for handling interactions for users logged in as Officers.
OfficerPage() - Constructor for class boundary.OfficerPage
 
OfficerProjectController - Class in controller
Controller responsible for handling project-related operations performed by an Officer.
OfficerProjectController() - Constructor for class controller.OfficerProjectController
 
OfficerRegistration - Class in entity.request
Represents a specific type of request where an Officer applies to register for or be assigned to a specific project.
OfficerRegistration() - Constructor for class entity.request.OfficerRegistration
Default constructor.
OfficerRegistration(String, RequestType, String, String, RequestStatus) - Constructor for class entity.request.OfficerRegistration
Parameterized constructor to create an OfficerRegistration request with specified initial details.
OfficerRequestController - Class in controller
Controller responsible for handling request-related operations specific to Officers.
OfficerRequestController() - Constructor for class controller.OfficerRequestController
 

P

PasswordIncorrectException - Exception Class in exception
Custom checked exception thrown during authentication processes (like login or password change verification) when the provided password does not match the stored credentials for the user account.
PasswordIncorrectException() - Constructor for exception class exception.PasswordIncorrectException
Constructs a new PasswordIncorrectException with a default detail message.
PENDING - Enum constant in enum class entity.request.ApprovedStatus
The request is awaiting review and an approval decision (e.g., by a manager).
PENDING - Enum constant in enum class entity.request.RequestStatus
The request is currently awaiting processing, review, or further action.
PENDING - Enum constant in enum class entity.user.ApplicationStatus
The application has been submitted but is awaiting review or processing.
PENDING - Enum constant in enum class entity.user.RegistrationStatus
The officer has submitted a request to register for the project, and it is awaiting review by a manager.
PRICE - Enum constant in enum class utils.SortType
Indicates that sorting should be performed based on a price attribute of the items.
priceLowerBound - Static variable in class controller.FilterController
The minimum desired price for filtering.
priceUpperBound - Static variable in class controller.FilterController
The maximum desired price for filtering.
Project - Class in entity.project
Represents a housing project entity.
Project() - Constructor for class entity.project.Project
Default constructor.
Project(String, String, List<String>, Map<FlatType, Integer>, Map<FlatType, Integer>, LocalDate, LocalDate, String, int, boolean) - Constructor for class entity.project.Project
Parameterized constructor to create a Project with specified initial values.
ProjectList - Class in entity.list
Manages a list of Project objects, handling data persistence and retrieval.
ProjectList() - Constructor for class entity.list.ProjectList
Constructs a ProjectList instance.
ProjectNotFoundException - Exception Class in exception
Custom checked exception thrown when an operation attempts to access or modify a project using an identifier (Project ID) that does not correspond to any existing project in the system's data store (e.g., ProjectList).
ProjectNotFoundException() - Constructor for exception class exception.ProjectNotFoundException
Constructs a new ProjectNotFoundException with a default detail message.

Q

query() - Static method in class boundary.ApplicantPage
Allows the applicant to submit a query regarding a specific project.
query() - Static method in class boundary.OfficerPage
Allows the officer (acting as an applicant) to submit a personal query about a specific project.
query(String, String) - Static method in class controller.ApplicantController
Submits an enquiry from the current applicant regarding a specific project.

R

readPassword() - Static method in class utils.IOController
Reads a password securely from the console, if available.
register() - Static method in class boundary.LoginPage
Handles the user registration process.
register(UserType, String, String, String, int, MaritalStatus) - Static method in class controller.AccountController
Registers a new user in the system.
registerProject() - Static method in class boundary.OfficerPage
Allows the officer to register their interest in working on a specific project.
registerProject(String) - Static method in class controller.OfficerRequestController
Submits a registration request for the current officer to join a specific project.
REGISTRATION - Enum constant in enum class entity.request.RequestType
Represents a request submitted by an officer to register for assignment to a specific project.
RegistrationStatus - Enum Class in entity.user
Represents the status of an Officer's registration request for a specific housing project.
REJECTED - Enum constant in enum class entity.user.RegistrationStatus
The officer's registration request has been rejected by a manager.
Request - Class in entity.request
Base entity class representing a generic request within the system.
Request() - Constructor for class entity.request.Request
Default constructor.
Request(String, RequestType, String, String, RequestStatus) - Constructor for class entity.request.Request
Parameterized constructor to create a Request with specified initial values.
Requestable - Interface in entity.request
Defines the essential contract for any object that represents a request within the system.
RequestList - Class in entity.list
Manages a list of Request objects and their potential subclasses (e.g., Enquiry, BTOApplication), handling data persistence and retrieval.
RequestList(String) - Constructor for class entity.list.RequestList
Constructs a RequestList instance associated with a specific file path.
RequestStatus - Enum Class in entity.request
Represents the overall processing status of a Request within the system.
RequestType - Enum Class in entity.request
Defines the different categories or types of requests that can be initiated and processed within the housing application system.

S

save(String) - Method in class entity.list.ModelList
Saves the current state of the internal list to the specified file path, overwriting existing content.
save(String) - Method in interface entity.list.Saveable
Saves the object's current state to the specified file path.
Saveable - Interface in entity.list
Defines a contract for classes whose state can be persisted (saved to) and loaded from a storage medium, typically a file identified by a path.
setAge(int) - Method in class entity.user.Applicant
Sets the applicant's age.
setAge(int) - Method in class entity.user.Manager
Sets the manager's age.
setAge(int) - Method in interface entity.user.User
Sets the age of this user.
setAll(Project) - Method in class entity.project.Project
Copies all attribute values from another Project object into this object.
setAnswer(String) - Method in class entity.request.Enquiry
Sets the text content of the answer for this enquiry.
setApplicantID(String) - Static method in class controller.ApplicantController
Sets the applicant ID for the current session context.
setApplicantID(List<String>) - Method in class entity.project.Project
Sets the list of user IDs of applicants who have successfully booked a flat in this project.
setApplicationStatus(ApprovedStatus) - Method in class entity.request.BTOApplication
Sets the approval status of this BTO application.
setApplicationStatusByID(String, ApplicationStatus) - Method in class entity.user.Applicant
Sets or updates the application status for a specific project ID in the status map.
setAppliedFlatByID(String, FlatType) - Method in class entity.user.Applicant
Sets or updates the flat type applied for for a specific project ID in the map.
setAvailableOfficer(int) - Method in class entity.project.Project
Sets the number of available officer slots for this project.
setAvailableUnit(FlatType, Integer) - Method in class entity.project.Project
Sets the number of available units for a specific flat type.
setAvailableUnit(Map<FlatType, Integer>) - Method in class entity.project.Project
Sets the map of available units per flat type.
setCloseDate(LocalDate) - Method in class entity.project.Project
Sets the application close date.
setHashedPassoword(String) - Method in class entity.user.Applicant
Sets the applicant's hashed password.
setHashedPassoword(String) - Method in class entity.user.Manager
Sets the manager's hashed password.
setHashedPassoword(String) - Method in interface entity.user.User
Sets the securely hashed password for this user's account.
setManagerID(String) - Static method in class controller.ManagerProjectController
Sets the manager ID for the current session context.
setManagerID(String) - Static method in class controller.ManagerRequestController
Sets the manager ID for the current session context.
setManagerID(String) - Method in class entity.project.Project
Sets the user ID of the manager responsible for this project.
setMaritalStatus(MaritalStatus) - Method in class entity.user.Applicant
Sets the applicant's marital status.
setMaritalStatus(MaritalStatus) - Method in class entity.user.Manager
Sets the manager's marital status.
setMaritalStatus(MaritalStatus) - Method in interface entity.user.User
Sets the marital status of this user.
setName(String) - Method in class entity.project.Project
Sets the name of the project.
setName(String) - Method in class entity.user.Applicant
Sets the applicant's name.
setName(String) - Method in class entity.user.Manager
Sets the manager's name.
setName(String) - Method in interface entity.user.User
Sets the name of this user.
setNeighborhood(List<String>) - Method in class entity.project.Project
Sets the list of nearby neighbourhood names.
setOfficerID(String) - Static method in class controller.OfficerProjectController
Sets the officer ID for the current session context.
setOfficerID(String) - Static method in class controller.OfficerRequestController
Sets the officer ID for the current session context.
setOfficerID(List<String>) - Method in class entity.project.Project
Sets the list of user IDs of officers assigned to this project.
setOfficerProject(List<String>) - Method in class entity.user.Officer
Sets the list of project IDs the officer is assigned to or registered for.
setOpenDate(LocalDate) - Method in class entity.project.Project
Sets the application open date.
setPrice(Map<FlatType, Integer>) - Method in class entity.project.Project
Sets the map of prices per flat type.
setProject(String) - Method in class entity.user.Applicant
Sets the ID of the single project the applicant is currently actively associated with.
setProject(List<String>) - Method in class entity.user.Manager
Sets the list of project IDs managed by this manager.
setProjectCount(int) - Static method in class utils.IDController
Manually sets the internal counter used for generating the next project ID.
setProjectID(String) - Method in class entity.project.Project
Sets the unique project ID.
setProjectID(String) - Method in class entity.request.Request
Sets the project ID related to this request.
setProjectID(String) - Method in interface entity.request.Requestable
Sets the project ID related to this request.
setQuery(String) - Method in class entity.request.Enquiry
Sets the text content of the user's submitted query.
setRegistrationStatus(ApprovedStatus) - Method in class entity.request.OfficerRegistration
Sets the approval status of this officer registration request.
setRegistrationStatusByID(String, RegistrationStatus) - Method in class entity.user.Officer
Sets or updates the registration status for a specific project ID in the status map.
setRequestCount(int) - Static method in class utils.IDController
Manually sets the internal counter used for generating the next request ID.
setRequestID(String) - Method in class entity.request.Request
Sets the unique identifier for this request.
setRequestID(String) - Method in interface entity.request.Requestable
Sets the unique identifier for this request.
setRequestStatus(RequestStatus) - Method in class entity.request.Request
Sets the overall processing status of this request.
setRequestStatus(RequestStatus) - Method in interface entity.request.Requestable
Sets the overall processing status of this request.
setRequestType(RequestType) - Method in class entity.request.Request
Sets the type of this request.
setRequestType(RequestType) - Method in interface entity.request.Requestable
Sets the type of this request.
setup() - Static method in class controller.FilterController
Provides a console interface for the user to set up or modify the filter criteria.
setUserID(String) - Static method in class controller.AccountController
Sets the user ID for the currently authenticated user.
setUserID(String) - Method in class entity.request.Request
Sets the user ID associated with this request.
setUserID(String) - Method in interface entity.request.Requestable
Sets the user ID associated with this request.
setUserID(String) - Method in class entity.user.Applicant
Sets the applicant's user ID.
setUserID(String) - Method in class entity.user.Manager
Sets the manager's user ID.
setUserID(String) - Method in interface entity.user.User
Sets the unique identifier for this user.
setVisibility(boolean) - Method in class entity.project.Project
Sets the visibility status of the project.
setWithdrawalStatus(ApprovedStatus) - Method in class entity.request.BTOWithdrawal
Sets the approval status of this withdrawal request.
SINGLE - Enum constant in enum class entity.user.MaritalStatus
Represents the 'Single' marital status.
size() - Method in class entity.list.ModelList
Returns the current number of items in the list.
sortType - Static variable in class controller.FilterController
The criteria used for sorting the filtered list (e.g., by NAME, PRICE, DATE).
SortType - Enum Class in utils
Represents the different criteria or fields by which a list of items (e.g., Project objects) can be sorted.
startDate - Static variable in class controller.FilterController
The earliest acceptable project open date for filtering.
stringToDate(String) - Static method in class utils.Converter
Parses a string representation (using DATE_SEPARATOR) into a LocalDate object.
stringToList(String) - Static method in class utils.Converter
Converts a string representation (using LIST_SEPARATOR) back into a List of Strings.
stringToMap(String, Class<A>, Class<B>) - Static method in class utils.Converter
Converts a string representation (using LIST_SEPARATOR for entries and MAP_SEPARATOR within entries) back into a Map<A, B>.
stringtoObj(String, Class<T>) - Static method in class utils.Converter
Deserializes a single line of comma-separated string data into an object of the specified class.
SUCCESSFUL - Enum constant in enum class entity.request.ApprovedStatus
The request has been explicitly approved.
SUCCESSFUL - Enum constant in enum class entity.user.ApplicationStatus
The application has been reviewed and approved; the applicant is eligible to proceed (e.g., book a flat).

T

THREE_ROOM - Enum constant in enum class entity.project.FlatType
Represents a three-room flat type.
toggleVisibility() - Static method in class boundary.ManagerPage
Toggles the visibility status of a project (Visible - Not Visible).
toggleVisibility(String) - Static method in class controller.ManagerProjectController
Toggles the visibility status of the specified project.
TWO_ROOM - Enum constant in enum class entity.project.FlatType
Represents a two-room flat type.

U

UIController - Class in utils
Utility class providing static methods for controlling common console-based User Interface (UI) behaviors within the application.
UIController() - Constructor for class utils.UIController
 
UNSUCCESSFUL - Enum constant in enum class entity.request.ApprovedStatus
The request has been explicitly rejected or deemed unsuccessful.
UNSUCCESSFUL - Enum constant in enum class entity.user.ApplicationStatus
The application has been reviewed and rejected, or potentially withdrawn by the applicant after approval.
update(String, T) - Method in class entity.list.ModelList
Updates an item in the list.
updateAll(List<T>) - Method in class entity.list.ModelList
Replaces the entire contents of the current list with the provided list of new items.
User - Interface in entity.user
Defines the common contract for all user types within the system (e.g., Applicant, Officer, Manager).
UserNotFoundException - Exception Class in exception
Custom checked exception thrown when an operation attempts to find, authenticate, or operate on a user using an identifier (User ID) that does not correspond to any existing user in the system's data stores (e.g., ApplicantList, OfficerList, ManagerList).
UserNotFoundException() - Constructor for exception class exception.UserNotFoundException
Constructs a new UserNotFoundException with a default detail message.
UserType - Enum Class in entity.user
Represents the different types or roles a user can have within the system.
utils - package utils
 

V

valueOf(String) - Static method in enum class entity.project.FlatType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.request.ApprovedStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.request.RequestStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.request.RequestType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.user.ApplicationStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.user.MaritalStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.user.RegistrationStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class entity.user.UserType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class utils.SortType
Returns the enum constant of this class with the specified name.
values() - Static method in enum class entity.project.FlatType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.request.ApprovedStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.request.RequestStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.request.RequestType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.user.ApplicationStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.user.MaritalStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.user.RegistrationStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class entity.user.UserType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class utils.SortType
Returns an array containing the constants of this enum class, in the order they are declared.
viewAllEnquiries() - Static method in class boundary.ManagerPage
Displays all enquiries across all projects (presumably those the manager has access to view).
viewAllEnquiries() - Static method in class controller.ManagerRequestController
Displays all Enquiry requests present in the system, regardless of the project or manager.
viewApplicableProject() - Static method in class boundary.ApplicantPage
Displays projects that the currently logged-in applicant is eligible to apply for, potentially based on filters or eligibility criteria handled by the ApplicantController.
viewApplicableProject() - Static method in class boundary.OfficerPage
Displays projects that the officer (acting as an applicant) is eligible to apply for.
viewApplicableProject() - Static method in class controller.ApplicantController
Displays a list of projects that the current applicant is eligible to apply for.
viewApplicantApplicationStatus() - Static method in class boundary.OfficerPage
Displays the application status of applicants, filtered for projects the officer manages.
viewApplicantApplicationStatus() - Static method in class controller.OfficerProjectController
Displays the application status for all applicants across all projects the current officer is registered for.
viewApplicantApplicationStatus(ApplicationStatus) - Static method in class controller.OfficerProjectController
Displays applicants with a specific ApplicationStatus across all projects the current officer is registered for.
viewApplicantApplicationStatus(String) - Static method in class controller.OfficerProjectController
Displays the application status for all applicants associated with a specific project ID.
viewApplicantApplicationStatus(String, ApplicationStatus) - Static method in class controller.OfficerProjectController
Displays applicants with a specific ApplicationStatus for a specific project ID.
viewAppliedApplication() - Static method in class boundary.ApplicantPage
Displays details of the applications submitted by the currently logged-in applicant.
viewAppliedApplication() - Static method in class controller.ApplicantController
Displays the current applicant's pending and historical BTO applications and withdrawals.
viewAppliedProject() - Static method in class boundary.ApplicantPage
Displays the projects for which the currently logged-in applicant has submitted an application.
viewAppliedProject() - Static method in class boundary.OfficerPage
Displays projects the officer (acting as an applicant) has applied for.
viewAppliedProject() - Static method in class controller.ApplicantController
Displays details of the single project the applicant has currently applied to, if any.
viewEnquiries() - Static method in class boundary.ManagerPage
Displays enquiries specifically assigned to or related to the current manager's projects.
viewEnquiries() - Static method in class boundary.OfficerPage
Displays enquiries assigned to or related to the currently logged-in officer.
viewEnquiries() - Static method in class controller.ManagerRequestController
Displays all enquiries associated with the projects managed by the currently set manager.
viewEnquiries() - Static method in class controller.OfficerRequestController
Displays all enquiries associated with all projects the current officer is registered for.
viewEnquiries(String) - Static method in class controller.OfficerRequestController
Displays enquiries associated with a specific project ID, but only if the current officer is registered for that project.
viewEnquiriesByProject() - Static method in class boundary.OfficerPage
Displays enquiries filtered by a specific project ID.
viewOfficerRegistrationStatus() - Static method in class boundary.ManagerPage
Displays the registration status of officers (details depend on controller implementation).
viewOfficerRegistrationStatus() - Static method in class controller.ManagerProjectController
Displays all OfficerRegistration requests found in the RequestList.
viewProjectList() - Static method in class boundary.ManagerPage
Displays the list of projects created by a specific manager.
viewProjectList(String) - Static method in class controller.ManagerProjectController
Displays a list of projects managed by the specified manager ID, after applying current filters.
viewQuery() - Static method in class boundary.ApplicantPage
Displays the queries submitted by the currently logged-in applicant.
viewQuery() - Static method in class boundary.OfficerPage
Displays the personal queries submitted by the officer (acting as an applicant).
viewQuery() - Static method in class controller.ApplicantController
Displays all enquiries previously submitted by the current applicant.
viewRegisteredProject() - Static method in class boundary.OfficerPage
Displays the projects the officer is currently registered to work on.
viewRegisteredProject() - Static method in class controller.OfficerRequestController
Displays a list of projects the current officer is successfully registered for.
viewRegistrableProject() - Static method in class boundary.OfficerPage
Displays the registrable projects of applicants, filtered for projects the officer manages.
viewRegistrableProject() - Static method in class controller.OfficerProjectController
Displays a list of projects that the current officer may be eligible to register for.
viewRegistrationStatus() - Static method in class boundary.OfficerPage
Displays the status of the officer's applications to register for projects.
viewRegistrationStatus() - Static method in class controller.OfficerRequestController
Displays the history of project registration requests submitted by the current officer.
viewRequest() - Static method in class boundary.ManagerPage
Displays requests (applications, etc.) associated with the projects managed by the current manager.
viewRequest() - Static method in class controller.ManagerRequestController
Stores the user ID of the manager currently interacting with the system.
viewRequest(boolean) - Static method in class controller.ManagerRequestController
Displays specific types of requests using the APPLICANT display format.

W

welcome() - Static method in class boundary.LoginPage
Displays the initial welcome screen and the main menu options (Login, Register, Change Password, Exit).
withdrawApplication() - Static method in class boundary.ApplicantPage
Handles the process for an applicant to withdraw their application from a project.
withdrawApplication() - Static method in class boundary.OfficerPage
Handles the process for the officer (acting as an applicant) to withdraw their project application.
withdrawApplication(String) - Static method in class controller.ApplicantController
Submits a request for the current applicant to withdraw their application from a specific project.
A B C D E F G I L M N O P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form