Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
A
- AccountUIHelper - Class in com.ntu.fdae.group1.bto.views
-
Helper class for account-related UI operations in the BTO Management System.
- AccountUIHelper(BaseUI, AuthenticationController) - Constructor for class com.ntu.fdae.group1.bto.views.AccountUIHelper
-
Constructs a new AccountUIHelper with the specified dependencies.
- addApprovedOfficer(String) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Adds an officer to the list of officers approved to work on this project.
- addReply(String, LocalDate) - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Adds a reply to this enquiry.
- ALLOWED_SPECIAL_CHARS - Static variable in class com.ntu.fdae.group1.bto.utils.ValidationUtil
-
Defines the set of special characters allowed in passwords.
- App - Class in com.ntu.fdae.group1.bto
-
Main entry point for the BTO Management System application.
- App(ControllerContainer, Scanner) - Constructor for class com.ntu.fdae.group1.bto.App
-
Constructs a new App instance with the specified controller container and scanner.
- appController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller for BTO housing applications and application processing.
- Applicant - Class in com.ntu.fdae.group1.bto.models.user
-
Represents an Applicant in the BTO system.
- Applicant(String, String, String, int, MaritalStatus) - Constructor for class com.ntu.fdae.group1.bto.models.user.Applicant
-
Constructs a new Applicant with the specified details.
- APPLICANT - Enum constant in enum com.ntu.fdae.group1.bto.enums.UserRole
-
Represents a regular user who can browse BTO projects and submit applications.
- ApplicantUI - Class in com.ntu.fdae.group1.bto.views
-
User interface for Applicant users in the BTO Management System.
- ApplicantUI(Applicant, UserController, ProjectController, ApplicationController, EnquiryController, AuthenticationController, Scanner) - Constructor for class com.ntu.fdae.group1.bto.views.ApplicantUI
-
Constructs a new ApplicantUI with the specified dependencies.
- Application - Class in com.ntu.fdae.group1.bto.models.project
-
Represents an application for a BTO housing project in the system.
- Application(String, String, String, LocalDate) - Constructor for class com.ntu.fdae.group1.bto.models.project.Application
-
Constructs a new Application with the specified details.
- ApplicationController - Class in com.ntu.fdae.group1.bto.controllers.project
-
Controller for application-related operations
- ApplicationController(IApplicationService) - Constructor for class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Constructs a new ApplicationController
- ApplicationException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown for errors related to BTO housing applications.
- ApplicationException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.ApplicationException
-
Constructs a new ApplicationException with the specified detail message.
- ApplicationException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.ApplicationException
-
Constructs a new ApplicationException with the specified detail message and cause.
- ApplicationRepository - Class in com.ntu.fdae.group1.bto.repository.project
-
Implementation of the IApplicationRepository interface that persists Application entities to a CSV file.
- ApplicationRepository() - Constructor for class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Constructs a new ApplicationRepository.
- ApplicationService - Class in com.ntu.fdae.group1.bto.services.project
-
Implementation of the IApplicationService interface that manages the application lifecycle in the BTO Management System.
- ApplicationService(IApplicationRepository, IProjectRepository, IEligibilityService, IOfficerRegistrationRepository) - Constructor for class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Constructs a new ApplicationService with the specified repositories and services.
- ApplicationStatus - Enum in com.ntu.fdae.group1.bto.enums
-
Defines the possible statuses for BTO housing applications in the system.
- ApplicationUIHelper - Class in com.ntu.fdae.group1.bto.views
-
Helper class for application-related UI operations in the BTO Management System.
- ApplicationUIHelper(BaseUI, ApplicationController, ProjectController, UserController) - Constructor for class com.ntu.fdae.group1.bto.views.ApplicationUIHelper
-
Constructs a new ApplicationUIHelper with the specified dependencies.
- APPROVED - Enum constant in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Represents a registration request that has been approved by an administrator.
- authController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller handling user authentication, login, and session management.
- AuthenticationController - Class in com.ntu.fdae.group1.bto.controllers.user
-
Controller for authentication-related operations
- AuthenticationController(IAuthenticationService) - Constructor for class com.ntu.fdae.group1.bto.controllers.user.AuthenticationController
-
Constructs a new AuthenticationController
- AuthenticationException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown for errors related to user authentication in the BTO system.
- AuthenticationException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.AuthenticationException
-
Constructs a new AuthenticationException with the specified detail message.
- AuthenticationException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.AuthenticationException
-
Constructs a new AuthenticationException with the specified detail message and cause.
- AuthenticationService - Class in com.ntu.fdae.group1.bto.services.user
-
Implementation of the IAuthenticationService interface that provides authentication functionality for the BTO Management System.
- AuthenticationService(IUserRepository) - Constructor for class com.ntu.fdae.group1.bto.services.user.AuthenticationService
-
Constructs a new AuthenticationService with the specified user repository.
- AuthorizationException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown when a user attempts to access a resource or perform an action for which they do not have proper authorization.
- AuthorizationException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.AuthorizationException
-
Constructs a new AuthorizationException with the specified detail message.
- AuthorizationException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.AuthorizationException
-
Constructs a new AuthorizationException with the specified detail message and cause.
B
- BaseUI - Class in com.ntu.fdae.group1.bto.views
-
Abstract base class for common UI functionalities in the BTO Management System.
- BaseUI(Scanner) - Constructor for class com.ntu.fdae.group1.bto.views.BaseUI
-
Constructs a BaseUI with the specified Scanner for input operations.
- BOOKED - Enum constant in enum com.ntu.fdae.group1.bto.enums.ApplicationStatus
-
Represents an application where the applicant has successfully selected and booked a flat.
- Booking - Class in com.ntu.fdae.group1.bto.models.booking
-
Represents a booking made by an applicant for a flat in a BTO project.
- Booking(String, String, String, String, FlatType, LocalDate) - Constructor for class com.ntu.fdae.group1.bto.models.booking.Booking
-
Constructs a new Booking with all required fields.
- bookingController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller managing flat booking operations including selection and confirmation.
- BookingController - Class in com.ntu.fdae.group1.bto.controllers.booking
-
Controller class responsible for managing booking operations in the BTO Management System.
- BookingController(IBookingService) - Constructor for class com.ntu.fdae.group1.bto.controllers.booking.BookingController
-
Constructs a new BookingController with the specified booking service.
- BookingException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown when errors occur during the booking process.
- BookingException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.BookingException
-
Constructs a new BookingException with a detailed message.
- BookingException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.BookingException
-
Constructs a new BookingException with a detailed message and cause.
- BookingReceiptInfo - Class in com.ntu.fdae.group1.bto.models.booking
-
Data Transfer Object (DTO) containing all information needed for a booking receipt.
- BookingReceiptInfo(String, String, int, MaritalStatus, String, String, String, String, LocalDate) - Constructor for class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Constructor for BookingReceiptInfo.
- BookingRepository - Class in com.ntu.fdae.group1.bto.repository.booking
-
Implementation of the IBookingRepository interface that persists Booking entities to a CSV file.
- BookingRepository() - Constructor for class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Constructs a new BookingRepository.
- BookingService - Class in com.ntu.fdae.group1.bto.services.booking
-
Implementation of the IBookingService interface that provides booking functionality for the BTO Management System.
- BookingService(IApplicationRepository, IProjectRepository, IBookingRepository, IUserRepository) - Constructor for class com.ntu.fdae.group1.bto.services.booking.BookingService
-
Constructs a new BookingService with the specified repositories.
- BookingUIHelper - Class in com.ntu.fdae.group1.bto.views
-
Helper class for booking-related UI operations in the BTO Management System.
- BookingUIHelper(BaseUI, UserController) - Constructor for class com.ntu.fdae.group1.bto.views.BookingUIHelper
-
Constructs a new BookingUIHelper with the specified dependencies.
C
- canApplicantApply(User, Project) - Method in class com.ntu.fdae.group1.bto.services.booking.EligibilityService
-
Checks if a user is eligible to apply for a specific project.
- canApplicantApply(User, Project) - Method in interface com.ntu.fdae.group1.bto.services.booking.IEligibilityService
-
Checks if an applicant meets the eligibility criteria for a specific project.
- canOfficerRegister(HDBOfficer, Project, Collection<OfficerRegistration>, Collection<Application>) - Method in class com.ntu.fdae.group1.bto.services.booking.EligibilityService
-
Determines if an HDB Officer is eligible to register for a specific project.
- canOfficerRegister(HDBOfficer, Project, Collection<OfficerRegistration>, Collection<Application>) - Method in interface com.ntu.fdae.group1.bto.services.booking.IEligibilityService
-
Checks if an officer can register to work on a specific project.
- changePassword(User, String) - Method in class com.ntu.fdae.group1.bto.controllers.user.AuthenticationController
-
Changes a user's password
- changePassword(User, String) - Method in class com.ntu.fdae.group1.bto.services.user.AuthenticationService
-
Changes a user's password after validating its strength.
- changePassword(User, String) - Method in interface com.ntu.fdae.group1.bto.services.user.IAuthenticationService
-
Changes a user's password.
- checkManagerProjectHandlingEligibility(HDBManager, LocalDate, LocalDate, Collection<Project>) - Method in class com.ntu.fdae.group1.bto.services.booking.EligibilityService
-
Checks if an HDB Manager is eligible to handle a new project with the specified dates.
- checkManagerProjectHandlingEligibility(HDBManager, LocalDate, LocalDate, Collection<Project>) - Method in interface com.ntu.fdae.group1.bto.services.booking.IEligibilityService
-
Checks if an HDB Manager is eligible to create/handle a new project based on concurrency rules.
- clearConsole() - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Clears the console.
- com.ntu.fdae.group1.bto - package com.ntu.fdae.group1.bto
- com.ntu.fdae.group1.bto.controllers - package com.ntu.fdae.group1.bto.controllers
- com.ntu.fdae.group1.bto.controllers.booking - package com.ntu.fdae.group1.bto.controllers.booking
- com.ntu.fdae.group1.bto.controllers.enquiry - package com.ntu.fdae.group1.bto.controllers.enquiry
- com.ntu.fdae.group1.bto.controllers.project - package com.ntu.fdae.group1.bto.controllers.project
- com.ntu.fdae.group1.bto.controllers.user - package com.ntu.fdae.group1.bto.controllers.user
- com.ntu.fdae.group1.bto.enums - package com.ntu.fdae.group1.bto.enums
- com.ntu.fdae.group1.bto.exceptions - package com.ntu.fdae.group1.bto.exceptions
- com.ntu.fdae.group1.bto.models.booking - package com.ntu.fdae.group1.bto.models.booking
- com.ntu.fdae.group1.bto.models.enquiry - package com.ntu.fdae.group1.bto.models.enquiry
- com.ntu.fdae.group1.bto.models.project - package com.ntu.fdae.group1.bto.models.project
- com.ntu.fdae.group1.bto.models.user - package com.ntu.fdae.group1.bto.models.user
- com.ntu.fdae.group1.bto.repository - package com.ntu.fdae.group1.bto.repository
- com.ntu.fdae.group1.bto.repository.booking - package com.ntu.fdae.group1.bto.repository.booking
- com.ntu.fdae.group1.bto.repository.enquiry - package com.ntu.fdae.group1.bto.repository.enquiry
- com.ntu.fdae.group1.bto.repository.project - package com.ntu.fdae.group1.bto.repository.project
- com.ntu.fdae.group1.bto.repository.user - package com.ntu.fdae.group1.bto.repository.user
- com.ntu.fdae.group1.bto.repository.util - package com.ntu.fdae.group1.bto.repository.util
- com.ntu.fdae.group1.bto.services.booking - package com.ntu.fdae.group1.bto.services.booking
- com.ntu.fdae.group1.bto.services.enquiry - package com.ntu.fdae.group1.bto.services.enquiry
- com.ntu.fdae.group1.bto.services.project - package com.ntu.fdae.group1.bto.services.project
- com.ntu.fdae.group1.bto.services.user - package com.ntu.fdae.group1.bto.services.user
- com.ntu.fdae.group1.bto.utils - package com.ntu.fdae.group1.bto.utils
- com.ntu.fdae.group1.bto.views - package com.ntu.fdae.group1.bto.views
- ControllerContainer - Class in com.ntu.fdae.group1.bto.controllers
-
Container class that aggregates all controllers used in the BTO application.
- ControllerContainer(AuthenticationController, UserController, ProjectController, ApplicationController, OfficerRegistrationController, BookingController, ReceiptController, EnquiryController, ReportController) - Constructor for class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Constructs a new ControllerContainer with all required controller instances.
- createBooking(HDBOfficer, String, FlatType) - Method in class com.ntu.fdae.group1.bto.controllers.booking.BookingController
-
Creates a new booking for an applicant by an HDB officer.
- createEnquiry(User, String, String) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Creates a new enquiry in the system.
- createEnquiry(User, String, String) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Creates a new enquiry with the specified details.
- createEnquiry(User, String, String) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Creates a new enquiry in the system.
- createProject(HDBManager, String, String, Map<String, ProjectFlatInfo>, LocalDate, LocalDate, int) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Creates a new project
- createProject(HDBManager, String, String, Map<String, ProjectFlatInfo>, LocalDate, LocalDate, int) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Creates a new BTO project with the specified details.
- createProject(HDBManager, String, String, Map<String, ProjectFlatInfo>, LocalDate, LocalDate, int) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Creates a new project with the specified details.
- CsvRepositoryHelper<ID,
T> - Class in com.ntu.fdae.group1.bto.repository.util -
Helper class that provides common CSV file operations for repositories.
- CsvRepositoryHelper(String, String[], Function<List<String[]>, Map<ID, T>>, Function<Map<ID, T>, List<String[]>>) - Constructor for class com.ntu.fdae.group1.bto.repository.util.CsvRepositoryHelper
-
Constructs a new CsvRepositoryHelper with the specified parameters.
D
- DataAccessException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown when there are issues accessing or manipulating data in repositories.
- DataAccessException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.DataAccessException
-
Constructs a new DataAccessException with a detailed message.
- DataAccessException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.DataAccessException
-
Constructs a new DataAccessException with a detailed message and cause.
- DataAccessException(Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.DataAccessException
-
Constructs a new DataAccessException with a cause.
- DATE_FORMATTER - Static variable in class com.ntu.fdae.group1.bto.views.BaseUI
-
Standard date formatter used consistently across the UI for displaying and parsing dates in ISO format (YYYY-MM-DD).
- decreaseRemainingUnits() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Decreases the number of remaining units by one, simulating a flat being reserved.
- deleteById(String) - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Deletes the entity with the specified ID.
- deleteById(String) - Method in interface com.ntu.fdae.group1.bto.repository.enquiry.IEnquiryRepository
-
Deletes the entity with the specified ID.
- deleteById(String) - Method in interface com.ntu.fdae.group1.bto.repository.project.IProjectRepository
-
Deletes the Project with the specified ID.
- deleteById(String) - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Deletes the Project with the specified ID.
- deleteEnquiry(String, User) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Deletes an existing enquiry from the system.
- deleteEnquiry(String, User) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Deletes an enquiry with the specified ID.
- deleteEnquiry(String, User) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Deletes an existing enquiry from the system.
- deleteProject(HDBManager, String) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Deletes a project
- deleteProject(HDBManager, String) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Deletes a project from the system.
- deleteProject(HDBManager, String) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Deletes a project if it meets the deletion criteria.
- displayApplicantProjectDetails(Project) - Method in class com.ntu.fdae.group1.bto.views.ProjectUIHelper
-
Displays project details relevant to an Applicant.
- displayApplicationList(List<Application>, String) - Method in class com.ntu.fdae.group1.bto.views.ApplicationUIHelper
-
Displays a formatted list of applications and returns a map for selection.
- displayBookingReceipt(BookingReceiptInfo) - Method in class com.ntu.fdae.group1.bto.views.BookingUIHelper
-
Displays the formatted details of a booking receipt.
- displayEnquiryDetails(Enquiry) - Method in class com.ntu.fdae.group1.bto.views.EnquiryUIHelper
-
Displays the full details of a single Enquiry object.
- displayEnquiryList(List<Enquiry>, String) - Method in class com.ntu.fdae.group1.bto.views.EnquiryUIHelper
-
Displays a formatted list of enquiries, sorted by unreplied first, and returns a map for selection.
- displayError(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Displays an error message, typically formatted differently.
- displayFlatAvailability(Project) - Method in class com.ntu.fdae.group1.bto.views.ProjectUIHelper
-
Displays the availability of different flat types for a given project.
- displayHeader(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Displays a standard menu header.
- displayList(List<T>, Function<T, String>) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Displays a list of items with custom formatting.
- displayLogin() - Method in class com.ntu.fdae.group1.bto.views.LoginUI
-
Displays the login prompt and handles the login process.
- displayMainMenu() - Method in class com.ntu.fdae.group1.bto.views.ApplicantUI
-
Displays the main menu for applicant users and handles their selections.
- displayMainMenu() - Method in class com.ntu.fdae.group1.bto.views.HDBManagerUI
-
Displays the main menu for HDB manager users and handles their selections.
- displayMainMenu() - Method in class com.ntu.fdae.group1.bto.views.HDBOfficerUI
-
Displays the main menu for HDB officer users and handles their selections.
- displayMainMenu() - Method in class com.ntu.fdae.group1.bto.views.MainMenuUI
-
Displays the main menu and handles user input.
- displayMessage(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Displays a standard message to the console.
- displayOfficerRegistrationDetails(OfficerRegistration) - Method in class com.ntu.fdae.group1.bto.views.OfficerRegUIHelper
-
Displays detailed information about a specific officer registration.
- displayOfficerRegList(List<OfficerRegistration>, String) - Method in class com.ntu.fdae.group1.bto.views.OfficerRegUIHelper
-
Displays a formatted list of officer registrations and provides a mapping for selection.
- displayOfficerRegListForViewing(List<OfficerRegistration>, String) - Method in class com.ntu.fdae.group1.bto.views.OfficerRegUIHelper
-
Displays a formatted list of officer registrations for viewing purposes only.
- displayRegister() - Method in class com.ntu.fdae.group1.bto.views.LoginUI
-
Displays the registration prompt and handles the registration process.
- displayStaffProjectDetails(Project, int) - Method in class com.ntu.fdae.group1.bto.views.ProjectUIHelper
-
Displays comprehensive project details relevant to HDB Staff (Officers/Managers).
E
- editContent(String) - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Edits the content of this enquiry.
- editCoreProjectDetails(HDBManager, String, String, String, LocalDate, LocalDate, int) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Edits the core details of an existing project.
- editCoreProjectDetails(HDBManager, String, String, String, LocalDate, LocalDate, int) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Edits the core details of an existing project.
- editEnquiry(String, String, User) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Edits an existing enquiry's content.
- editEnquiry(String, String, User) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Edits the content of an existing enquiry.
- editEnquiry(String, String, User) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Edits an existing enquiry's content.
- editProject(HDBManager, String, String, String, LocalDate, LocalDate, int) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Edits an existing project
- EligibilityService - Class in com.ntu.fdae.group1.bto.services.booking
-
Service class that implements eligibility checking rules for the BTO Management System.
- EligibilityService(IProjectRepository) - Constructor for class com.ntu.fdae.group1.bto.services.booking.EligibilityService
-
Constructs a new EligibilityService with the required project repository.
- Enquiry - Class in com.ntu.fdae.group1.bto.models.enquiry
-
Represents a customer enquiry in the BTO system.
- Enquiry(String, String, String, String, LocalDate) - Constructor for class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Constructs a new Enquiry with the specified details.
- enquiryController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller handling customer enquiries and support requests.
- EnquiryController - Class in com.ntu.fdae.group1.bto.controllers.enquiry
-
Controller responsible for managing enquiry-related operations in the BTO Management System.
- EnquiryController(IEnquiryService, IOfficerRegistrationService) - Constructor for class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Constructs a new EnquiryController with the specified services.
- EnquiryRepository - Class in com.ntu.fdae.group1.bto.repository.enquiry
-
Implementation of the IEnquiryRepository interface that persists Enquiry entities to a CSV file.
- EnquiryRepository() - Constructor for class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Constructs a new EnquiryRepository.
- EnquiryService - Class in com.ntu.fdae.group1.bto.services.enquiry
-
Service for managing enquiries in the BTO Management System.
- EnquiryService(IEnquiryRepository) - Constructor for class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Constructs an EnquiryService with the specified enquiry repository.
- EnquiryUIHelper - Class in com.ntu.fdae.group1.bto.views
-
Helper class to manage common UI tasks related to displaying Enquiry information.
- EnquiryUIHelper(BaseUI, UserController, ProjectController) - Constructor for class com.ntu.fdae.group1.bto.views.EnquiryUIHelper
-
Constructs a new EnquiryUIHelper with the required UI and controllers.
- equals(Object) - Method in class com.ntu.fdae.group1.bto.models.project.Project
F
- FileUtil - Class in com.ntu.fdae.group1.bto.utils
-
Utility class providing common file operations, CSV handling, and data parsing capabilities for the BTO Management System.
- findAll() - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Retrieves all entities currently managed by this repository.
- findAll() - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Retrieves all entities currently managed by this repository.
- findAll() - Method in interface com.ntu.fdae.group1.bto.repository.IRepository
-
Retrieves all entities currently managed by this repository.
- findAll() - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Retrieves all entities currently managed by this repository.
- findAll() - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Retrieves all entities currently managed by this repository.
- findAll() - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Retrieves all entities currently managed by this repository.
- findAll() - Method in class com.ntu.fdae.group1.bto.repository.user.UserRepository
-
Retrieves all entities currently managed by this repository.
- findAllFlatInfoIds() - Method in interface com.ntu.fdae.group1.bto.repository.project.IProjectRepository
-
Retrieves all unique flat information IDs associated with projects across the system.
- findAllFlatInfoIds() - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Retrieves all unique flat information IDs associated with projects across the system.
- findApprovedHandlingProject(HDBOfficer) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Finds ALL projects an officer is currently approved to handle.
- findByApplicantNric(String) - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Finds all bookings made by a specific applicant.
- findByApplicantNric(String) - Method in interface com.ntu.fdae.group1.bto.repository.booking.IBookingRepository
-
Finds all bookings made by a specific applicant.
- findByApplicantNric(String) - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Finds an application by the applicant's NRIC.
- findByApplicantNric(String) - Method in interface com.ntu.fdae.group1.bto.repository.project.IApplicationRepository
-
Finds an application by the applicant's NRIC.
- findByApplicationId(String) - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Finds a booking by its associated application ID.
- findByApplicationId(String) - Method in interface com.ntu.fdae.group1.bto.repository.booking.IBookingRepository
-
Finds a booking by its associated application ID.
- findById(ID) - Method in interface com.ntu.fdae.group1.bto.repository.IRepository
-
Finds and retrieves a single entity by its unique identifier.
- findById(String) - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Finds a booking by its unique identifier.
- findById(String) - Method in interface com.ntu.fdae.group1.bto.repository.booking.IBookingRepository
-
Finds a booking by its unique identifier.
- findById(String) - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Finds and retrieves a single entity by its unique identifier.
- findById(String) - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Finds and retrieves a single entity by its unique identifier.
- findById(String) - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Finds and retrieves a single entity by its unique identifier.
- findById(String) - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Finds and retrieves a single entity by its unique identifier.
- findById(String) - Method in class com.ntu.fdae.group1.bto.repository.user.UserRepository
-
Finds and retrieves a single entity by its unique identifier.
- findByOfficerNric(String) - Method in interface com.ntu.fdae.group1.bto.repository.project.IOfficerRegistrationRepository
-
Retrieves all project registrations for a specific officer.
- findByOfficerNric(String) - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Retrieves all project registrations for a specific officer.
- findByProjectId(String) - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Finds all bookings associated with a specific project.
- findByProjectId(String) - Method in interface com.ntu.fdae.group1.bto.repository.booking.IBookingRepository
-
Finds all bookings associated with a specific project.
- findByProjectId(String) - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Retrieves all enquiries related to a specific project.
- findByProjectId(String) - Method in interface com.ntu.fdae.group1.bto.repository.enquiry.IEnquiryRepository
-
Retrieves all enquiries related to a specific project.
- findByProjectId(String) - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Finds all applications associated with a specific project.
- findByProjectId(String) - Method in interface com.ntu.fdae.group1.bto.repository.project.IApplicationRepository
-
Finds all applications associated with a specific project.
- findByProjectId(String) - Method in interface com.ntu.fdae.group1.bto.repository.project.IOfficerRegistrationRepository
-
Retrieves all officer registrations for a specific project.
- findByProjectId(String) - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Retrieves all officer registrations for a specific project.
- findByStatus(ApplicationStatus) - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Finds all applications with a specific status.
- findByStatus(ApplicationStatus) - Method in interface com.ntu.fdae.group1.bto.repository.project.IApplicationRepository
-
Finds all applications with a specific status.
- findByUserNric(String) - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Retrieves all enquiries submitted by a specific user.
- findByUserNric(String) - Method in interface com.ntu.fdae.group1.bto.repository.enquiry.IEnquiryRepository
-
Retrieves all enquiries submitted by a specific user.
- findEnquiryById(String) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Finds an enquiry by its unique identifier.
- findEnquiryById(String) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Finds an enquiry by its unique identifier.
- findEnquiryById(String) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Finds an enquiry by its unique identifier.
- findProjectById(String) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Finds a project by its ID
- findProjectById(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves a project by its unique identifier.
- findProjectById(String) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Retrieves a project by its unique identifier.
- findUserById(String) - Method in interface com.ntu.fdae.group1.bto.services.user.IUserService
-
Finds a user by their NRIC (National Registration Identity Card).
- findUserById(String) - Method in class com.ntu.fdae.group1.bto.services.user.UserService
-
Finds a user by their NRIC (National Registration Identity Card).
- findUserNames(Collection<String>) - Method in interface com.ntu.fdae.group1.bto.services.user.IUserService
-
Retrieves names for a collection of users identified by their NRICs.
- findUserNames(Collection<String>) - Method in class com.ntu.fdae.group1.bto.services.user.UserService
-
Retrieves names for a collection of users identified by their NRICs.
- FlatType - Enum in com.ntu.fdae.group1.bto.enums
-
Represents the different types of flats available in HDB BTO projects.
- formatDateSafe(LocalDate) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Formats a LocalDate safely for display, handling null values.
- formatEnumName(Enum<?>) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Formats an enum constant for user-friendly display.
- formatLocalDate(LocalDate) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Formats a LocalDate into a string using the predefined ISO date format.
G
- generateApplicationId() - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Generates a new unique application ID.
- generateBookingId() - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Generates a new unique booking ID.
- generateBookingReceipt(Booking) - Method in interface com.ntu.fdae.group1.bto.services.booking.IReceiptService
-
Generates comprehensive receipt information for a given booking.
- generateBookingReceipt(Booking) - Method in class com.ntu.fdae.group1.bto.services.booking.ReceiptService
-
Gathers necessary information (Applicant, Project) related to the given Booking and constructs a BookingReceiptInfo DTO.
- generateBookingReport(Map<String, String>) - Method in class com.ntu.fdae.group1.bto.controllers.project.ReportController
-
Generates a booking report
- generateBookingReport(Map<String, String>) - Method in interface com.ntu.fdae.group1.bto.services.project.IReportService
-
Generates a report about bookings
- generateBookingReport(Map<String, String>) - Method in class com.ntu.fdae.group1.bto.services.project.ReportService
-
Generates a detailed booking report that can be filtered by various criteria.
- generateEnquiryId() - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Generates a new unique enquiry ID.
- generateFlatInfoId() - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Generates a new unique flat information ID.
- generateOfficerRegId() - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Generates a new unique officer registration ID.
- generateProjectId() - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Generates a new unique project ID.
- getAge() - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Gets the age of this user.
- getAllProjects(User, Map<String, Object>) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Retrieves all projects in the system, with optional filtering.
- getAllProjects(User, Map<String, Object>) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves all projects accessible to a specific user, with optional filters.
- getAllProjects(User, Map<String, Object>) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Retrieves all projects visible to a specific user, with optional filters.
- getApplicantAge() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the age of the applicant.
- getApplicantMaritalStatus() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the marital status of the applicant.
- getApplicantName() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the full name of the applicant.
- getApplicantNric() - Method in class com.ntu.fdae.group1.bto.models.booking.Booking
-
Gets the NRIC of the applicant who made this booking.
- getApplicantNric() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the NRIC of the applicant.
- getApplicantNric() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the NRIC of the applicant who submitted this application.
- getApplicationForUser(String) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Gets the application for a specific applicant
- getApplicationForUser(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Gets the application for a specific applicant
- getApplicationId() - Method in class com.ntu.fdae.group1.bto.models.booking.Booking
-
Gets the application ID associated with this booking.
- getApplicationId() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the unique identifier for this application.
- getApplicationsByProject(String) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Gets all applications for a specific project
- getApplicationsByProject(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Gets all applications for a specific project
- getApplicationsByStatus(ApplicationStatus) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Gets all applications with a specific status
- getApplicationsByStatus(ApplicationStatus) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Gets all applications with a specific status
- getApplicationsByStatus(HDBStaff, ApplicationStatus) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Retrieves applications with a specific status.
- getApprovedOfficerNrics() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the list of NRICs of HDB officers approved to work on this project.
- getBookedFlatType() - Method in class com.ntu.fdae.group1.bto.models.booking.Booking
-
Gets the type of flat that has been booked.
- getBookedFlatType() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the type of flat that has been booked.
- getBookingDate() - Method in class com.ntu.fdae.group1.bto.models.booking.Booking
-
Gets the date when the booking was made.
- getBookingDate() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the date when the booking was made.
- getBookingId() - Method in class com.ntu.fdae.group1.bto.models.booking.Booking
-
Gets the unique identifier for this booking.
- getBookingId() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the booking ID associated with this receipt.
- getBookingReceiptInfo(HDBOfficer, Booking) - Method in class com.ntu.fdae.group1.bto.controllers.booking.ReceiptController
-
Retrieves the consolidated information needed to generate a booking receipt.
- getBookingsByProject(String) - Method in class com.ntu.fdae.group1.bto.services.booking.BookingService
-
Retrieves all bookings associated with a specific project.
- getBookingsByProject(String) - Method in interface com.ntu.fdae.group1.bto.services.booking.IBookingService
-
Retrieves all bookings associated with a specific project.
- getBookingsForProject(String) - Method in class com.ntu.fdae.group1.bto.controllers.booking.BookingController
-
Retrieves all bookings associated with a specific project.
- getClosingDate() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the date when the application period closes.
- getContent() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the content or question of this enquiry.
- getEnquiryId() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the unique identifier for this enquiry.
- getFlatInfo(FlatType) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets information about a specific flat type in this project.
- getFlatType() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Gets the flat type enum value.
- getFlatTypes() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the map of flat types available in this project.
- getManagerNric() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the NRIC of the manager assigned to this project.
- getMaritalStatus() - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Gets the marital status of this user.
- getMaxOfficerSlots() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the maximum number of officer slots available for this project.
- getMyApplication(User) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Gets the application for a specific applicant
- getMyRegistrations(HDBOfficer) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Retrieves all registration requests submitted by the specified officer.
- getMyRegistrationStatus(HDBOfficer, String) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Retrieves the current registration status for a specific officer regarding a specific project.
- getName() - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Gets the full name of this user.
- getNeighborhood() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the neighborhood of this project.
- getNric() - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Gets the NRIC number of this user.
- getOfficerNric() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Gets the NRIC of the officer requesting to work on the project.
- getOpeningDate() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the date when the application period opens.
- getPasswordHash() - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Gets the hashed password of this user.
- getPendingRegistrationCountForProject(HDBStaff, String) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Gets the count of PENDING officer registrations specifically for a given project.
- getPendingRegistrationCountForProject(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Gets the count of pending registration requests for a specific project.
- getPendingRegistrationCountForProject(String) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Gets the count of pending registration requests for a specific project.
- getPendingRegistrations() - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Gets all pending registration requests across all projects.
- getPendingRegistrations() - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Gets all pending registration requests across all projects.
- getPendingRegistrations(HDBManager) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Gets a list of all officer registrations currently in the PENDING state.
- getPendingRegistrationsForProject(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Gets all pending registration requests for a specific project.
- getPendingRegistrationsForProject(String) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Gets all pending registration requests for a specific project.
- getPreferredFlatType() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the flat type preferred by the applicant.
- getPrice() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Gets the price of this flat type.
- getProjectApplications(HDBStaff, String) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Retrieves all applications for a specific project.
- getProjectId() - Method in class com.ntu.fdae.group1.bto.models.booking.Booking
-
Gets the ID of the project where the flat is booked.
- getProjectId() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the ID of the project this enquiry is related to.
- getProjectId() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the ID of the BTO project being applied for.
- getProjectId() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Gets the ID of the project the officer is requesting to work on.
- getProjectId() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the unique identifier for this project.
- getProjectName() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the name of the project.
- getProjectName() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the name of this housing project.
- getProjectNeighborhood() - Method in class com.ntu.fdae.group1.bto.models.booking.BookingReceiptInfo
-
Gets the location or address of the project.
- getProjectsAvailableForOfficerRegistration(HDBOfficer) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves all projects available for an HDB Officer to register for.
- getProjectsAvailableForOfficerRegistration(HDBOfficer) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
- getProjectsAvailableForRegistration(HDBOfficer) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Gets projects potentially available for the given officer to register for handling.
- getProjectsManagedBy(HDBManager) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Gets projects managed by a specific HDB Manager object.
- getProjectsManagedBy(HDBManager, Map<String, Object>) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Retrieves projects managed by a specific HDB manager, with optional filtering.
- getProjectsManagedBy(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves all projects managed by a specific manager.
- getProjectsManagedBy(String) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Retrieves all projects managed by a specific manager.
- getProjectsManagedBy(String, Map<String, Object>) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves all projects managed by a specific manager with optional filters.
- getProjectsManagedBy(String, Map<String, Object>) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
- getRegistrationId() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Gets the unique identifier for this registration.
- getRegistrationsByOfficer(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Gets all registration records for a specific officer.
- getRegistrationsByOfficer(String) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Gets all registration records for a specific officer.
- getRegistrationsByProject(String) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Gets all registration records for a specific project.
- getRegistrationsByProject(String) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Gets all registration records for a specific project.
- getRegistrationStatus(HDBOfficer, String) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Gets the registration status of an officer for a specific project.
- getRegistrationStatus(HDBOfficer, String) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Gets the current registration status for a specific officer and project.
- getRemainingOfficerSlots() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the remaining number of officer slots available for this project.
- getRemainingUnits() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Gets the number of units of this flat type that are still available for application.
- getReply() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the reply provided by HDB staff.
- getReplyDate() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the date when a reply was provided.
- getRequestDate() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Gets the date when the registration request was submitted.
- getRequestedWithdrawalDate() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the date when a withdrawal was requested by the applicant.
- getRole() - Method in class com.ntu.fdae.group1.bto.models.user.Applicant
-
Gets the user role of this Applicant.
- getRole() - Method in class com.ntu.fdae.group1.bto.models.user.HDBManager
-
Gets the user role of this HDB Manager.
- getRole() - Method in class com.ntu.fdae.group1.bto.models.user.HDBOfficer
-
Gets the user role of this HDB Officer.
- getRole() - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Gets the role of this user in the system.
- getStatus() - Method in enum com.ntu.fdae.group1.bto.enums.MaritalStatus
-
Gets the user-friendly display string for this marital status.
- getStatus() - Method in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Gets the user-friendly display string for this registration status.
- getStatus() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the current status of this application in the workflow.
- getStatus() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Gets the current status of this registration request.
- getSubmissionDate() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the date when this enquiry was submitted.
- getSubmissionDate() - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Gets the date when the application was submitted.
- getTotalUnits() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Gets the total number of units of this flat type in the project.
- getTypeName() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Gets the name of this flat type as a string.
- getUser(String) - Method in class com.ntu.fdae.group1.bto.controllers.user.UserController
-
Retrieves a user by their NRIC.
- getUserName(String) - Method in class com.ntu.fdae.group1.bto.controllers.user.UserController
-
Retrieves the name of a user identified by their NRIC.
- getUserNamesForList(Collection<String>) - Method in class com.ntu.fdae.group1.bto.controllers.user.UserController
-
Retrieves names for a collection of users identified by their NRICs.
- getUserNric() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Gets the NRIC of the user who submitted this enquiry.
- getVisibleProjectsForUser(User) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Gets projects visible to a user (without additional filters).
- getVisibleProjectsForUser(User) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves all currently visible projects for which the user is eligible to apply.
- getVisibleProjectsForUser(User) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
- getVisibleProjectsForUser(User, Map<String, Object>) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Retrieves projects that are visible to a specific user, with optional filtering.
- getVisibleProjectsForUser(User, Map<String, Object>) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Retrieves all currently visible projects for which the user is eligible to apply, filtered by the provided criteria.
- getVisibleProjectsForUser(User, Map<String, Object>) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Gets a list of projects that are currently visible and eligible for a specific user (typically an Applicant or Officer acting as one) to potentially apply for.
H
- handlePasswordChange(User) - Method in class com.ntu.fdae.group1.bto.views.AccountUIHelper
-
Handles the interactive workflow for a logged-in user to change their password, including password strength validation via the controller.
- hashCode() - Method in class com.ntu.fdae.group1.bto.models.project.Project
- hashPassword(String) - Static method in class com.ntu.fdae.group1.bto.utils.PasswordUtil
-
Hashes the given plain-text password using PBKDF2WithHmacSHA256 with a newly generated salt and configured iteration count.
- HDB_MANAGER - Enum constant in enum com.ntu.fdae.group1.bto.enums.UserRole
-
Represents an HDB manager with administrative access to the entire system.
- HDB_OFFICER - Enum constant in enum com.ntu.fdae.group1.bto.enums.UserRole
-
Represents an HDB officer who processes applications and manages project operations.
- HDBManager - Class in com.ntu.fdae.group1.bto.models.user
-
Represents an HDB Manager in the BTO system.
- HDBManager(String, String, String, int, MaritalStatus) - Constructor for class com.ntu.fdae.group1.bto.models.user.HDBManager
-
Constructs a new HDB Manager with the specified details.
- HDBManagerUI - Class in com.ntu.fdae.group1.bto.views
-
User interface for HDB Manager users in the BTO Management System.
- HDBManagerUI(HDBManager, UserController, ProjectController, ApplicationController, OfficerRegistrationController, EnquiryController, ReportController, AuthenticationController, Scanner) - Constructor for class com.ntu.fdae.group1.bto.views.HDBManagerUI
-
Constructs a new HDBManagerUI with the specified dependencies.
- HDBOfficer - Class in com.ntu.fdae.group1.bto.models.user
-
Represents an HDB Officer in the BTO system.
- HDBOfficer(String, String, String, int, MaritalStatus) - Constructor for class com.ntu.fdae.group1.bto.models.user.HDBOfficer
-
Constructs a new HDB Officer with the specified details.
- HDBOfficerUI - Class in com.ntu.fdae.group1.bto.views
-
User interface for HDB Officer users in the BTO Management System.
- HDBOfficerUI(HDBOfficer, UserController, ProjectController, ApplicationController, OfficerRegistrationController, BookingController, ReceiptController, EnquiryController, AuthenticationController, Scanner) - Constructor for class com.ntu.fdae.group1.bto.views.HDBOfficerUI
-
Constructs a new HDBOfficerUI with the specified dependencies.
- HDBStaff - Class in com.ntu.fdae.group1.bto.models.user
-
Abstract base class representing an HDB staff member in the BTO system.
- HDBStaff(String, String, String, int, MaritalStatus) - Constructor for class com.ntu.fdae.group1.bto.models.user.HDBStaff
-
Constructs a new HDB staff member with the specified details.
I
- IApplicationRepository - Interface in com.ntu.fdae.group1.bto.repository.project
-
Repository interface for accessing and manipulating Application entities in the data store.
- IApplicationService - Interface in com.ntu.fdae.group1.bto.services.project
-
Service interface defining operations for managing BTO project applications.
- IAuthenticationService - Interface in com.ntu.fdae.group1.bto.services.user
-
Service interface for authentication operations in the BTO Management System.
- IBookingRepository - Interface in com.ntu.fdae.group1.bto.repository.booking
-
Repository interface for accessing and manipulating Booking entities in the data store.
- IBookingService - Interface in com.ntu.fdae.group1.bto.services.booking
-
Interface defining the service operations for handling booking functionality in the BTO Management System.
- IdGenerator - Class in com.ntu.fdae.group1.bto.utils
-
Utility class for generating sequential IDs with a fixed prefix and zero-padding.
- IEligibilityService - Interface in com.ntu.fdae.group1.bto.services.booking
-
Service interface for determining eligibility of users for various BTO system operations.
- IEnquiryRepository - Interface in com.ntu.fdae.group1.bto.repository.enquiry
-
Repository interface for accessing and manipulating Enquiry entities in the BTO Management System.
- IEnquiryService - Interface in com.ntu.fdae.group1.bto.services.enquiry
-
Interface defining the service operations for handling enquiries in the BTO Management System.
- increaseRemainingUnits() - Method in class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Increases the number of remaining units by one, simulating a flat being released.
- initialise(IProjectRepository, IApplicationRepository, IBookingRepository, IEnquiryRepository, IOfficerRegistrationRepository) - Static method in class com.ntu.fdae.group1.bto.utils.IdGenerator
-
Initialises the ID counters by scanning existing IDs from loaded repositories.
- InvalidInputException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown when user input validation fails.
- InvalidInputException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.InvalidInputException
-
Constructs a new InvalidInputException with a detailed message.
- InvalidInputException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.InvalidInputException
-
Constructs a new InvalidInputException with a detailed message and cause.
- IOfficerRegistrationRepository - Interface in com.ntu.fdae.group1.bto.repository.project
-
Repository interface for accessing and manipulating OfficerRegistration entities in the BTO Management System.
- IOfficerRegistrationService - Interface in com.ntu.fdae.group1.bto.services.project
-
Service interface defining operations for managing HDB Officer registrations to projects.
- IProjectRepository - Interface in com.ntu.fdae.group1.bto.repository.project
-
Repository interface for accessing and manipulating Project entities in the BTO Management System.
- IProjectService - Interface in com.ntu.fdae.group1.bto.services.project
-
Service interface for project-related operations in the BTO Management System.
- IReceiptService - Interface in com.ntu.fdae.group1.bto.services.booking
-
Service interface defining operations for generating booking receipts in the BTO Management System.
- IReportService - Interface in com.ntu.fdae.group1.bto.services.project
-
Service interface for report generation operations in the BTO Management System.
- IRepository<T,
ID> - Interface in com.ntu.fdae.group1.bto.repository -
Generic repository interface defining the core data access operations for all entities in the BTO Management System.
- isApplicantEligibleForFlatType(User, FlatType) - Method in class com.ntu.fdae.group1.bto.services.booking.EligibilityService
-
Checks if a user is eligible for a specific flat type.
- isApplicantEligibleForFlatType(User, FlatType) - Method in interface com.ntu.fdae.group1.bto.services.booking.IEligibilityService
-
Checks if an applicant is eligible for a specific flat type.
- isApproved() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Checks if this registration request has been approved.
- isPending() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Checks if this registration request is still pending review.
- isRejected() - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Checks if this registration request has been rejected.
- isReplied() - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Checks if this enquiry has been replied to.
- isValidNric(String) - Static method in class com.ntu.fdae.group1.bto.utils.ValidationUtil
-
Validates if a string conforms to the Singapore NRIC format.
- isVisible() - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Gets the visibility status of this project.
- IUserRepository - Interface in com.ntu.fdae.group1.bto.repository.user
-
Repository interface for managing User entities.
- IUserService - Interface in com.ntu.fdae.group1.bto.services.user
-
Service interface for user-related operations in the BTO Management System.
J
- joinList(List<String>, String) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Joins a list of strings with a specified delimiter.
L
- loadAll() - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Loads all entities from the persistent storage into memory.
- loadAll() - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Loads all entities from the persistent storage into memory.
- loadAll() - Method in interface com.ntu.fdae.group1.bto.repository.IRepository
-
Loads all entities from the persistent storage into memory.
- loadAll() - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Loads all entities from the persistent storage into memory.
- loadAll() - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Loads all entities from the persistent storage into memory.
- loadAll() - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Loads all entities from the persistent storage into memory.
- loadAll() - Method in class com.ntu.fdae.group1.bto.repository.user.UserRepository
-
Loads all entities from the persistent storage into memory.
- loadData() - Method in class com.ntu.fdae.group1.bto.repository.util.CsvRepositoryHelper
-
Loads data from the CSV file and converts it to a map of entities.
- login(String, String) - Method in class com.ntu.fdae.group1.bto.controllers.user.AuthenticationController
-
Attempts to log in a user
- login(String, String) - Method in class com.ntu.fdae.group1.bto.services.user.AuthenticationService
-
Authenticates a user with the provided credentials.
- login(String, String) - Method in interface com.ntu.fdae.group1.bto.services.user.IAuthenticationService
-
Authenticates a user with the provided credentials.
- LoginUI - Class in com.ntu.fdae.group1.bto.views
-
LoginUI class for handling the login process in the BTO Management System.
- LoginUI(AuthenticationController, Scanner) - Constructor for class com.ntu.fdae.group1.bto.views.LoginUI
-
Constructs a new LoginUI with the specified authentication controller and scanner.
M
- main(String[]) - Static method in class com.ntu.fdae.group1.bto.App
-
Main method that serves as the entry point for the BTO Management System.
- MainMenuUI - Class in com.ntu.fdae.group1.bto.views
-
MainMenuUI class for handling the main menu of the BTO Management System.
- MainMenuUI(AuthenticationController, Scanner) - Constructor for class com.ntu.fdae.group1.bto.views.MainMenuUI
-
Constructs a new MainMenuUI with the specified authentication controller and scanner.
- MaritalStatus - Enum in com.ntu.fdae.group1.bto.enums
-
Defines the possible marital statuses for users in the BTO system.
- MARRIED - Enum constant in enum com.ntu.fdae.group1.bto.enums.MaritalStatus
-
Represents a user who is legally married.
O
- officerRegController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller handling officer registration requests and approval workflows.
- OfficerRegistration - Class in com.ntu.fdae.group1.bto.models.project
-
Represents a registration request from an HDB officer to work on a specific BTO project.
- OfficerRegistration(String, String, String, LocalDate) - Constructor for class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Constructs a new OfficerRegistration with the specified details.
- OfficerRegistrationController - Class in com.ntu.fdae.group1.bto.controllers.project
-
Controller for officer registration operations.
- OfficerRegistrationController(IOfficerRegistrationService, IProjectService) - Constructor for class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Constructs a new OfficerRegistrationController with necessary services.
- OfficerRegistrationRepository - Class in com.ntu.fdae.group1.bto.repository.project
-
Repository implementation for managing OfficerRegistration entities in the BTO Management System.
- OfficerRegistrationRepository() - Constructor for class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Constructs a new OfficerRegistrationRepository.
- OfficerRegistrationService - Class in com.ntu.fdae.group1.bto.services.project
-
Service that manages the registration of HDB Officers to projects in the BTO Management System.
- OfficerRegistrationService(IOfficerRegistrationRepository, IProjectRepository, IApplicationRepository, IEligibilityService) - Constructor for class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Constructs a new OfficerRegistrationService with the specified repositories and services.
- OfficerRegStatus - Enum in com.ntu.fdae.group1.bto.enums
-
Defines the possible registration statuses for HDB officers in the BTO system.
- OfficerRegUIHelper - Class in com.ntu.fdae.group1.bto.views
-
Helper class for officer registration related UI operations in the BTO Management System.
- OfficerRegUIHelper(BaseUI, ProjectController, UserController) - Constructor for class com.ntu.fdae.group1.bto.views.OfficerRegUIHelper
-
Constructs a new OfficerRegUIHelper with the specified dependencies.
P
- parseDoubleOrDefault(String, Double) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Safely parses a Double from a string with a fallback default value.
- parseEnum(Class<E>, String) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Safely parses an enum value from a string (case-insensitive).
- parseEnum(Class<E>, String, E) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Safely parses an enum value from a string (case-insensitive) with a default value.
- parseIntOrDefault(String, Integer) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Safely parses an Integer from a string with a fallback default value.
- parseLocalDate(String) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Safely parses a LocalDate from a string using the predefined ISO date format.
- PasswordUtil - Class in com.ntu.fdae.group1.bto.utils
-
Utility class for handling password hashing and verification using PBKDF2WithHmacSHA256.
- pause() - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Pauses execution until the user presses Enter.
- PENDING - Enum constant in enum com.ntu.fdae.group1.bto.enums.ApplicationStatus
-
Represents an application that has been submitted but not yet processed.
- PENDING - Enum constant in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Represents a registration request that is awaiting review.
- performApplicationSubmission(User, String) - Method in class com.ntu.fdae.group1.bto.views.ApplicationUIHelper
-
Guides the user through submitting an application for a specific project, including handling flat type preferences based on eligibility and availability.
- performBooking(HDBOfficer, String, FlatType) - Method in class com.ntu.fdae.group1.bto.services.booking.BookingService
-
Performs a booking operation for an applicant by an HDB officer.
- performBooking(HDBOfficer, String, FlatType) - Method in interface com.ntu.fdae.group1.bto.services.booking.IBookingService
-
Performs a booking operation for an applicant by an HDB officer.
- performViewAndWithdraw(User) - Method in class com.ntu.fdae.group1.bto.views.ApplicationUIHelper
-
Displays the details of the applicant's current or most recent application and provides an option to request withdrawal if applicable.
- Project - Class in com.ntu.fdae.group1.bto.models.project
-
Represents a BTO housing project in the system.
- Project(String, String, String, Map<FlatType, ProjectFlatInfo>, LocalDate, LocalDate, String, int) - Constructor for class com.ntu.fdae.group1.bto.models.project.Project
-
Constructs a new Project with the specified details.
- projectController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller managing BTO projects, including creation, updates, and queries.
- ProjectController - Class in com.ntu.fdae.group1.bto.controllers.project
-
Controller for project-related operations
- ProjectController(IProjectService) - Constructor for class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Constructs a new ProjectController
- ProjectFlatInfo - Class in com.ntu.fdae.group1.bto.models.project
-
Represents detailed information about a specific flat type within a BTO project.
- ProjectFlatInfo(FlatType, int, int, double) - Constructor for class com.ntu.fdae.group1.bto.models.project.ProjectFlatInfo
-
Constructs a new ProjectFlatInfo with the specified details.
- ProjectRepository - Class in com.ntu.fdae.group1.bto.repository.project
-
Repository implementation for managing Project entities in the BTO Management System.
- ProjectRepository() - Constructor for class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Constructs a new ProjectRepository.
- ProjectService - Class in com.ntu.fdae.group1.bto.services.project
-
Service class for managing project-related operations in the BTO Management System.
- ProjectService(IProjectRepository, IEligibilityService, IApplicationRepository, IOfficerRegistrationRepository) - Constructor for class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Constructs a new ProjectService with the required dependencies.
- ProjectUIHelper - Class in com.ntu.fdae.group1.bto.views
-
Helper class for project-related UI operations in the BTO Management System.
- ProjectUIHelper(BaseUI, UserController, ProjectController) - Constructor for class com.ntu.fdae.group1.bto.views.ProjectUIHelper
-
Constructs a new ProjectUIHelper with necessary UI and controllers.
- promptForConfirmation(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for confirmation (Y/N).
- promptForDate(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for a date input with basic error handling.
- promptForDouble(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for a double input with basic error handling.
- promptForEnum(String, Class<E>, List<E>) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user to select an item from a list of enum values.
- promptForInput(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for string input.
- promptForInt(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for an integer input with basic error handling.
- promptForPassword(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for a password input, masking the input for security.
- promptForPasswordWithToggle(String) - Method in class com.ntu.fdae.group1.bto.views.BaseUI
-
Prompts the user for potentially sensitive input (like a password), offering an option to make the input visible.
- promptForProjectFilters(boolean, boolean) - Method in class com.ntu.fdae.group1.bto.views.ProjectUIHelper
-
Prompts the user for project filtering criteria (Neighbourhood, Flat Type, Visibility).
R
- readCsvLines(String) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Reads all lines from a CSV file, skipping the header.
- receiptController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller for generating and managing booking receipts and payment records.
- ReceiptController - Class in com.ntu.fdae.group1.bto.controllers.booking
-
Controller responsible for managing receipt generation operations in the BTO Management System.
- ReceiptController(IReceiptService) - Constructor for class com.ntu.fdae.group1.bto.controllers.booking.ReceiptController
-
Constructs a new ReceiptController with the specified receipt service.
- ReceiptService - Class in com.ntu.fdae.group1.bto.services.booking
-
Service for generating booking receipts in the BTO Management System.
- ReceiptService(IUserRepository, IProjectRepository) - Constructor for class com.ntu.fdae.group1.bto.services.booking.ReceiptService
-
Constructs a ReceiptService with required repositories.
- registerApplicant(String, String, int, MaritalStatus) - Method in class com.ntu.fdae.group1.bto.controllers.user.AuthenticationController
-
Registers a new applicant
- registerApplicant(String, String, int, MaritalStatus) - Method in class com.ntu.fdae.group1.bto.services.user.AuthenticationService
-
Registers a new applicant user using default password.
- registerApplicant(String, String, int, MaritalStatus) - Method in interface com.ntu.fdae.group1.bto.services.user.IAuthenticationService
-
Registers a new Applicant user.
- RegistrationException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Custom exception class for handling registration-related errors in the BTO system.
- RegistrationException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.RegistrationException
-
Constructs a new registration exception with the specified detail message.
- RegistrationException(String, Throwable) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.RegistrationException
-
Constructs a new registration exception with the specified detail message and cause.
- REJECTED - Enum constant in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Represents a registration request that has been rejected by an administrator.
- removeApprovedOfficer(String) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Removes an officer from the list of officers approved to work on this project.
- replyToEnquiry(HDBStaff, String, String) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Adds an official reply to an existing enquiry.
- replyToEnquiry(String, String, HDBStaff) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Adds a reply to an enquiry.
- replyToEnquiry(String, String, HDBStaff) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Adds an official reply to an existing enquiry.
- reportController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller for generating system reports and analytics.
- ReportController - Class in com.ntu.fdae.group1.bto.controllers.project
-
Controller for report-related operations
- ReportController(IReportService) - Constructor for class com.ntu.fdae.group1.bto.controllers.project.ReportController
-
Constructs a new ReportController
- ReportService - Class in com.ntu.fdae.group1.bto.services.project
-
Implementation of the IReportService interface that provides report generation functionality for the BTO Management System.
- ReportService(IBookingRepository, IProjectRepository, IUserRepository) - Constructor for class com.ntu.fdae.group1.bto.services.project.ReportService
-
Constructs a new ReportService with the repositories needed for report generation.
- requestProjectRegistration(HDBOfficer, String) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Requests registration of an HDB officer to a project.
- requestProjectRegistration(HDBOfficer, String) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Requests registration of an HDB officer to a project.
- requestRegistration(HDBOfficer, String) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Handles an HDB Officer's request to register for a specific project.
- requestWithdrawal(User) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Requests withdrawal of an application
- requestWithdrawal(User) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Requests withdrawal of an existing application
- requestWithdrawal(User) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Requests withdrawal of an existing application
- reviewApplication(HDBManager, String, boolean) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Reviews an application
- reviewApplication(HDBManager, String, boolean) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Reviews an application
- reviewApplication(HDBManager, String, boolean) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Reviews an application
- reviewRegistration(HDBManager, String, boolean) - Method in class com.ntu.fdae.group1.bto.controllers.project.OfficerRegistrationController
-
Handles an HDB Manager's review (approval or rejection) of a pending officer registration request.
- reviewRegistration(HDBManager, String, boolean) - Method in interface com.ntu.fdae.group1.bto.services.project.IOfficerRegistrationService
-
Reviews (approves or rejects) an officer's registration request.
- reviewRegistration(HDBManager, String, boolean) - Method in class com.ntu.fdae.group1.bto.services.project.OfficerRegistrationService
-
Reviews (approves or rejects) an officer's registration request.
- reviewWithdrawal(HDBManager, String, boolean) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Reviews a withdrawal request
- reviewWithdrawal(HDBManager, String, boolean) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Reviews a withdrawal request
- reviewWithdrawal(HDBManager, String, boolean) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Reviews a withdrawal request
- run() - Method in class com.ntu.fdae.group1.bto.App
-
Starts and runs the main application loop.
S
- save(Booking) - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Saves an entity to the repository.
- save(Enquiry) - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Saves an entity to the repository.
- save(Application) - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Saves an entity to the repository.
- save(OfficerRegistration) - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Saves an entity to the repository.
- save(Project) - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Saves an entity to the repository.
- save(User) - Method in class com.ntu.fdae.group1.bto.repository.user.UserRepository
-
Saves an entity to the repository.
- save(T) - Method in interface com.ntu.fdae.group1.bto.repository.IRepository
-
Saves an entity to the repository.
- saveAll(Map<ID, T>) - Method in interface com.ntu.fdae.group1.bto.repository.IRepository
-
Saves multiple entities to the repository in a batch operation.
- saveAll(Map<String, Booking>) - Method in class com.ntu.fdae.group1.bto.repository.booking.BookingRepository
-
Saves multiple entities to the repository in a batch operation.
- saveAll(Map<String, Enquiry>) - Method in class com.ntu.fdae.group1.bto.repository.enquiry.EnquiryRepository
-
Saves multiple entities to the repository in a batch operation.
- saveAll(Map<String, Application>) - Method in class com.ntu.fdae.group1.bto.repository.project.ApplicationRepository
-
Saves multiple entities to the repository in a batch operation.
- saveAll(Map<String, OfficerRegistration>) - Method in class com.ntu.fdae.group1.bto.repository.project.OfficerRegistrationRepository
-
Saves multiple entities to the repository in a batch operation.
- saveAll(Map<String, Project>) - Method in class com.ntu.fdae.group1.bto.repository.project.ProjectRepository
-
Saves multiple entities to the repository in a batch operation.
- saveAll(Map<String, User>) - Method in class com.ntu.fdae.group1.bto.repository.user.UserRepository
-
Saves multiple entities to the repository in a batch operation.
- saveData(Map<ID, T>) - Method in class com.ntu.fdae.group1.bto.repository.util.CsvRepositoryHelper
-
Saves a map of entities to the CSV file.
- scanner - Variable in class com.ntu.fdae.group1.bto.views.BaseUI
-
Scanner object for reading user input from the console.
- selectBookingFromList(List<Booking>, String) - Method in class com.ntu.fdae.group1.bto.views.BookingUIHelper
-
Displays a list of bookings and prompts the user to select one.
- selectEnquiryFromList(List<Enquiry>, String) - Method in class com.ntu.fdae.group1.bto.views.EnquiryUIHelper
-
Displays a numbered list of enquiries with summary information and prompts the user to select one.
- selectProjectFromList(List<Project>, String) - Method in class com.ntu.fdae.group1.bto.views.ProjectUIHelper
-
Displays a numbered list of projects with basic information and prompts the user to select one.
- setApprovedOfficerNrics(List<String>) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the entire list of approved officer NRICs for this project.
- setClosingDate(LocalDate) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the project closing date.
- setContent(String) - Method in class com.ntu.fdae.group1.bto.models.enquiry.Enquiry
-
Updates the content of this enquiry.
- setFlatTypes(Map<FlatType, ProjectFlatInfo>) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the entire map of flat types for this project.
- setMaxOfficerSlots(int) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the maximum number of officer slots available for this project.
- setNeighborhood(String) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the project neighborhood.
- setOpeningDate(LocalDate) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the project opening date.
- setPreferredFlatType(FlatType) - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Sets the flat type preferred by the applicant.
- setProjectName(String) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the project name.
- setRequestedWithdrawalDate(LocalDate) - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Sets the date when a withdrawal was requested by the applicant.
- setStatus(ApplicationStatus) - Method in class com.ntu.fdae.group1.bto.models.project.Application
-
Sets the status of this application.
- setStatus(OfficerRegStatus) - Method in class com.ntu.fdae.group1.bto.models.project.OfficerRegistration
-
Sets the status of this registration request.
- setVisibility(boolean) - Method in class com.ntu.fdae.group1.bto.models.project.Project
-
Sets the visibility status of this project.
- SINGLE - Enum constant in enum com.ntu.fdae.group1.bto.enums.MaritalStatus
-
Represents a user who is not married.
- splitString(String, String) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Splits a delimited string into a List of strings.
- submitApplication(User, String, FlatType) - Method in class com.ntu.fdae.group1.bto.controllers.project.ApplicationController
-
Submits a new application
- submitApplication(User, String, FlatType) - Method in class com.ntu.fdae.group1.bto.services.project.ApplicationService
-
Submits a new application for a project
- submitApplication(User, String, FlatType) - Method in interface com.ntu.fdae.group1.bto.services.project.IApplicationService
-
Submits a new application for a project
- SUCCESSFUL - Enum constant in enum com.ntu.fdae.group1.bto.enums.ApplicationStatus
-
Represents an application that has been processed and selected for a flat.
T
- THREE_ROOM - Enum constant in enum com.ntu.fdae.group1.bto.enums.FlatType
-
Represents a 3-room flat.
- toggleProjectVisibility(HDBManager, String) - Method in class com.ntu.fdae.group1.bto.controllers.project.ProjectController
-
Toggles the visibility of a project
- toggleVisibility(HDBManager, String) - Method in interface com.ntu.fdae.group1.bto.services.project.IProjectService
-
Toggles the visibility of a project between visible and hidden states.
- toggleVisibility(HDBManager, String) - Method in class com.ntu.fdae.group1.bto.services.project.ProjectService
-
Toggles the visibility of a project.
- toString() - Method in enum com.ntu.fdae.group1.bto.enums.MaritalStatus
-
Returns the user-friendly display string for this marital status.
- toString() - Method in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Returns the user-friendly display string for this registration status.
- toString() - Method in class com.ntu.fdae.group1.bto.models.project.Project
- TWO_ROOM - Enum constant in enum com.ntu.fdae.group1.bto.enums.FlatType
-
Represents a 2-room flat.
U
- UNSUCCESSFUL - Enum constant in enum com.ntu.fdae.group1.bto.enums.ApplicationStatus
-
Represents an application that was rejected, withdrawn, or otherwise did not result in a flat booking.
- updatePasswordHash(String) - Method in class com.ntu.fdae.group1.bto.models.user.User
-
Sets a new hashed password for this user.
- User - Class in com.ntu.fdae.group1.bto.models.user
-
Abstract base class representing a user in the BTO system.
- User(String, String, String, int, MaritalStatus) - Constructor for class com.ntu.fdae.group1.bto.models.user.User
-
Constructs a new User with the specified details.
- userController - Variable in class com.ntu.fdae.group1.bto.controllers.ControllerContainer
-
Controller for user profile management and user-related operations.
- UserController - Class in com.ntu.fdae.group1.bto.controllers.user
-
Controller class for handling user-related operations in the BTO Management System.
- UserController(IUserService) - Constructor for class com.ntu.fdae.group1.bto.controllers.user.UserController
-
Constructs a UserController with the specified user service.
- UserRepository - Class in com.ntu.fdae.group1.bto.repository.user
-
Implementation of the IUserRepository interface that persists User entities to a CSV file.
- UserRepository() - Constructor for class com.ntu.fdae.group1.bto.repository.user.UserRepository
-
Constructs a new UserRepository.
- UserRole - Enum in com.ntu.fdae.group1.bto.enums
-
Defines the roles that users can have within the BTO system.
- UserService - Class in com.ntu.fdae.group1.bto.services.user
-
Implementation of the IUserService interface that provides user management functionality for the BTO Management System.
- UserService(IUserRepository) - Constructor for class com.ntu.fdae.group1.bto.services.user.UserService
-
Constructs a new UserService with the specified user repository.
V
- validatePasswordStrength(String) - Static method in class com.ntu.fdae.group1.bto.utils.ValidationUtil
-
Validates a password against the defined strength criteria.
- ValidationUtil - Class in com.ntu.fdae.group1.bto.utils
-
Utility class providing validation methods for common data types and formats in the BTO Management System.
- valueOf(String) - Static method in enum com.ntu.fdae.group1.bto.enums.ApplicationStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum com.ntu.fdae.group1.bto.enums.FlatType
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum com.ntu.fdae.group1.bto.enums.MaritalStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum com.ntu.fdae.group1.bto.enums.UserRole
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum com.ntu.fdae.group1.bto.enums.ApplicationStatus
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum com.ntu.fdae.group1.bto.enums.FlatType
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum com.ntu.fdae.group1.bto.enums.MaritalStatus
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum com.ntu.fdae.group1.bto.enums.OfficerRegStatus
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum com.ntu.fdae.group1.bto.enums.UserRole
-
Returns an array containing the constants of this enum type, in the order they are declared.
- verifyPassword(String, String) - Static method in class com.ntu.fdae.group1.bto.utils.PasswordUtil
-
Verifies a plain-text password against a stored combined salt, iterations, and hash string.
- viewAllEnquiries() - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Retrieves all enquiries in the system.
- viewAllEnquiries() - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Retrieves all enquiries in the system.
- viewAllEnquiries() - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Retrieves all enquiries in the system.
- viewMyEnquiries(User) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Retrieves all enquiries submitted by a specific user.
- viewMyEnquiries(User) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Retrieves all enquiries made by a specific user.
- viewMyEnquiries(User) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Retrieves all enquiries submitted by a specific user.
- viewProjectEnquiries(HDBStaff, String) - Method in class com.ntu.fdae.group1.bto.controllers.enquiry.EnquiryController
-
Retrieves enquiries associated with a specific project, performing authorization checks.
- viewProjectEnquiries(String) - Method in class com.ntu.fdae.group1.bto.services.enquiry.EnquiryService
-
Retrieves all enquiries related to a specific project.
- viewProjectEnquiries(String) - Method in interface com.ntu.fdae.group1.bto.services.enquiry.IEnquiryService
-
Retrieves enquiries associated with a specific project.
W
- WeakPasswordException - Exception in com.ntu.fdae.group1.bto.exceptions
-
Exception thrown when a password does not meet the required strength criteria.
- WeakPasswordException(String) - Constructor for exception com.ntu.fdae.group1.bto.exceptions.WeakPasswordException
-
Constructs a new WeakPasswordException with the specified detail message.
- writeCsvLines(String, List<String[]>, String[]) - Static method in class com.ntu.fdae.group1.bto.utils.FileUtil
-
Writes data to a CSV file, overwriting existing content.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form