All Classes and Interfaces

Class
Description
Controller responsible for managing user accounts and authentication.
Custom checked exception thrown when an attempt is made to register a user whose user ID already exists within the system.
Represents an Applicant user in the housing application system.
Controller responsible for handling business logic related to actions performed by Applicants.
Manages a list of Applicant objects, handling data persistence and retrieval.
Represents the boundary layer for handling applicant interactions and displaying the applicant menu.
Represents the status of an applicant's application for a specific housing project.
Represents the approval status of a request that requires explicit approval or rejection, such as BTO applications, withdrawals, or officer registrations.
Represents a specific type of request for a Build-To-Order (BTO) housing project application.
Represents a specific type of request to withdraw a previously submitted Build-To-Order (BTO) housing application.
Utility class providing static methods for converting objects to and from string representations, primarily designed for CSV serialization and deserialization.
Utility class containing static methods for displaying formatted information about various entity objects (Applicants, Officers, Managers, Projects, Requests) to the standard console output.
Represents a specific type of request where a user submits an enquiry or question, typically regarding a specific project.
Controller responsible for managing filter and sort criteria for Project lists.
Represents the different types of flats available within housing projects.
Utility class responsible for generating unique, sequential identifiers (IDs) for new Project and Request entities.
Custom checked exception thrown when a provided user ID does not conform to the expected format (e.g., NRIC format).
Utility class providing static methods for handling console input operations.
Represents the boundary layer for handling user login, registration, and initial interactions.
The main entry point class for the housing application system.
Represents a Manager user in the housing application system.
Manages a list of Manager objects, handling data persistence and retrieval.
Represents the boundary layer for handling manager interactions and displaying the manager menu.
Controller responsible for handling project-related operations initiated by a Manager.
Controller responsible for handling request-related operations from a Manager's perspective.
Represents the marital status of a user within the system.
An abstract generic base class for managing lists of model objects of type T.
Represents an Officer user in the housing application system.
Manages a list of Officer objects, handling data persistence and retrieval.
Represents the boundary layer for handling interactions for users logged in as Officers.
Controller responsible for handling project-related operations performed by an Officer.
Represents a specific type of request where an Officer applies to register for or be assigned to a specific project.
Controller responsible for handling request-related operations specific to Officers.
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.
Represents a housing project entity.
Manages a list of Project objects, handling data persistence and retrieval.
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).
Represents the status of an Officer's registration request for a specific housing project.
Base entity class representing a generic request within the system.
Defines the essential contract for any object that represents a request within the system.
Manages a list of Request objects and their potential subclasses (e.g., Enquiry, BTOApplication), handling data persistence and retrieval.
Represents the overall processing status of a Request within the system.
Defines the different categories or types of requests that can be initiated and processed within the housing application system.
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.
Represents the different criteria or fields by which a list of items (e.g., Project objects) can be sorted.
Utility class providing static methods for controlling common console-based User Interface (UI) behaviors within the application.
Defines the common contract for all user types within the system (e.g., Applicant, Officer, Manager).
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).
Represents the different types or roles a user can have within the system.