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.
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.