Class BTOApplication

java.lang.Object
entity.request.Request
entity.request.BTOApplication
All Implemented Interfaces:
Requestable

public class BTOApplication extends Request
Represents a specific type of request for a Build-To-Order (BTO) housing project application. Extends the base Request class and adds an approval status specific to the application outcome.
See Also:
  • Constructor Details

    • BTOApplication

      public BTOApplication()
      Default constructor. Initializes a new BTOApplication instance by calling the default Request constructor. The specific applicationStatus will likely be null or require explicit setting later.
    • BTOApplication

      public BTOApplication(String requestID, RequestType requestType, String userID, String projectID, RequestStatus requestStatus)
      Parameterized constructor to create a BTOApplication with specified initial details. Calls the Request constructor to initialize common request fields (ID, type, user, project, status). Sets the initial applicationStatus for this BTO application to ApprovedStatus.PENDING.
      Parameters:
      requestID - The unique ID for this request.
      requestType - The type of request (should be RequestType.BTO_APPLICATION).
      userID - The ID of the applicant submitting the application.
      projectID - The ID of the project being applied for.
      requestStatus - The initial overall processing status (e.g., RequestStatus.PENDING).
  • Method Details

    • getApplicationStatus

      public ApprovedStatus getApplicationStatus()
      Gets the current approval status of this BTO application.
      Returns:
      The ApprovedStatus (PENDING, SUCCESSFUL, or UNSUCCESSFUL).
    • setApplicationStatus

      public void setApplicationStatus(ApprovedStatus applicationStatus)
      Sets the approval status of this BTO application. Typically called by a Manager or relevant controller when processing the application.
      Parameters:
      applicationStatus - The new ApprovedStatus to set.