Class HDBManagerUI
This class provides a console-based interface for HDB managers to interact with the system. It allows managers to perform high-level administrative operations including: - Creating, editing, and deleting BTO projects - Managing project visibility - Reviewing officer registrations for project handling - Reviewing BTO applications and withdrawal requests - Responding to enquiries - Generating system reports
The UI follows a menu-driven approach, with options for project management, administrative tasks, communication, and reporting. It leverages various UI helper classes to manage complex operations while maintaining separation of concerns.
-
Field Summary
Fields inherited from class com.ntu.fdae.group1.bto.views.BaseUI
DATE_FORMATTER, scanner
-
Constructor Summary
ConstructorsConstructorDescriptionHDBManagerUI
(HDBManager user, UserController userCtrl, ProjectController projCtrl, ApplicationController appCtrl, OfficerRegistrationController offRegCtrl, EnquiryController enqCtrl, ReportController reportCtrl, AuthenticationController authCtrl, Scanner scanner) Constructs a new HDBManagerUI with the specified dependencies. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Displays the main menu for HDB manager users and handles their selections.Methods inherited from class com.ntu.fdae.group1.bto.views.BaseUI
clearConsole, displayError, displayHeader, displayList, displayMessage, formatDateSafe, formatEnumName, pause, promptForConfirmation, promptForDate, promptForDouble, promptForEnum, promptForInput, promptForInt, promptForPassword, promptForPasswordWithToggle
-
Constructor Details
-
HDBManagerUI
public HDBManagerUI(HDBManager user, UserController userCtrl, ProjectController projCtrl, ApplicationController appCtrl, OfficerRegistrationController offRegCtrl, EnquiryController enqCtrl, ReportController reportCtrl, AuthenticationController authCtrl, Scanner scanner) Constructs a new HDBManagerUI with the specified dependencies.- Parameters:
user
- The authenticated HDB manager useruserCtrl
- Controller for user operationsprojCtrl
- Controller for project operationsappCtrl
- Controller for application operationsoffRegCtrl
- Controller for officer registration operationsenqCtrl
- Controller for enquiry operationsreportCtrl
- Controller for report generation operationsauthCtrl
- Controller for authentication operationsscanner
- Scanner for reading user input- Throws:
NullPointerException
- if any parameter is null
-
-
Method Details
-
displayMainMenu
public void displayMainMenu()Displays the main menu for HDB manager users and handles their selections.This method shows a menu of options available to HDB managers, including project management, administrative tasks, communication, and reporting. It runs in a loop until the user chooses to log out, delegating to specific handler methods based on user input.
-