Class ControllerContainer
java.lang.Object
com.ntu.fdae.group1.bto.controllers.ControllerContainer
Container class that aggregates all controllers used in the BTO application.
This class serves as a central repository for all controller instances, providing a convenient way to access and manage controllers throughout the application. It facilitates dependency injection and promotes clean architectural design by decoupling controller access from their implementation.
The container holds references to controllers handling various aspects of the application including:- User authentication and management
- BTO project operations
- Application processing
- Officer registration
- Unit booking and receipts
- Customer enquiries
- System reporting
All controllers are initialized through the constructor, ensuring they are properly set up when the container is created.
-
Field Summary
FieldsModifier and TypeFieldDescriptionController for BTO housing applications and application processing.Controller handling user authentication, login, and session management.Controller managing flat booking operations including selection and confirmation.Controller handling customer enquiries and support requests.Controller handling officer registration requests and approval workflows.Controller managing BTO projects, including creation, updates, and queries.Controller for generating and managing booking receipts and payment records.Controller for generating system reports and analytics.Controller for user profile management and user-related operations. -
Constructor Summary
ConstructorsConstructorDescriptionControllerContainer
(AuthenticationController auth, UserController user, ProjectController proj, ApplicationController app, OfficerRegistrationController reg, BookingController book, ReceiptController receipt, EnquiryController enq, ReportController report) Constructs a new ControllerContainer with all required controller instances. -
Method Summary
-
Field Details
-
authController
Controller handling user authentication, login, and session management. -
userController
Controller for user profile management and user-related operations. -
projectController
Controller managing BTO projects, including creation, updates, and queries. -
appController
Controller for BTO housing applications and application processing. -
officerRegController
Controller handling officer registration requests and approval workflows. -
bookingController
Controller managing flat booking operations including selection and confirmation. -
receiptController
Controller for generating and managing booking receipts and payment records. -
enquiryController
Controller handling customer enquiries and support requests. -
reportController
Controller for generating system reports and analytics.
-
-
Constructor Details
-
ControllerContainer
public ControllerContainer(AuthenticationController auth, UserController user, ProjectController proj, ApplicationController app, OfficerRegistrationController reg, BookingController book, ReceiptController receipt, EnquiryController enq, ReportController report) Constructs a new ControllerContainer with all required controller instances.- Parameters:
auth
- The authentication controller for user login and session managementuser
- The user management controller for profile operationsproj
- The project controller for BTO project operationsapp
- The application controller for housing applicationsreg
- The officer registration controller for staff onboardingbook
- The booking controller for flat selection and reservationreceipt
- The receipt controller for payment documentationenq
- The enquiry controller for customer support requestsreport
- The report controller for system analytics and reporting
-