Class ApplicantActions

Object
ApplicantActions
All Implemented Interfaces:
IUserActions

public class ApplicantActions extends Object implements IUserActions
Handles all actions specific to users logged in with applicant role.
  • Field Details

  • Constructor Details

    • ApplicantActions

      public ApplicantActions()
  • Method Details

    • handleAction

      public static void handleAction(Applicant.Menu option, Applicant user) throws Exception
      Point of entry, to be handed over from BTOManagementApplication
      Parameters:
      option - Menu option selected by user.
      user - The user involved in the current action.
      Throws:
      Exception
    • withdrawalApplicationFlow

      static void withdrawalApplicationFlow(Applicant applicant) throws Exception
      The flow for withdrawing of application
      Parameters:
      applicant -
      Throws:
      Exception
    • printApplicationsTable

      private static boolean printApplicationsTable(List<Application> applications)
      Method to print the application that applicant have applied, if any.
      Parameters:
      applications -
      Returns:
    • viewApplication

      static void viewApplication(Applicant applicant) throws Exception
      Action flow for an applicant to view BTO applications applied.
      Parameters:
      applicant - The applicant that is actively using the application at current.
      Throws:
      Exception
    • viewProjects

      private static void viewProjects(Applicant applicant) throws Exception
      Method for user to view all the available projects for user to apply, filtered based on the user's age and marital status.
      Parameters:
      applicant -
      Throws:
      Exception
    • repeatableMenuFlow

      private static void repeatableMenuFlow(Applicant applicant, ArrayList<BTOProject> projects, SuperScanner sscanner) throws Exception
      this is the menu display which will be displayed at the home page for applicants.
      Parameters:
      applicant -
      projects -
      sscanner -
      Throws:
      Exception
    • searchFlow

      private static void searchFlow(Applicant applicant, ArrayList<BTOProject> projects, SuperScanner sscanner) throws Exception
      Flow to search for a project
      Parameters:
      applicant - applicant thats trying to search a project
      projects - applicable projects
      sscanner - scanner for user input.
      Throws:
      Exception - access control, etc
    • applyBTOFlow

      public static void applyBTOFlow(Applicant applicant, ArrayList<BTOProject> projects, SuperScanner sscanner) throws Exception
      Flow for applying BTO project, for both applicants and hdb officers.
      Parameters:
      applicant - The applicant thats applying for project
      projects - Projects that applicant can apply
      sscanner - The scanner
      Throws:
      Exception - access control, etc.
    • enterEnquiriesSystem

      private static void enterEnquiriesSystem(Applicant applicant) throws Exception
      Throws:
      Exception
    • retrieveEnquiryFromUser

      private static Enquiry retrieveEnquiryFromUser(SuperScanner superScanner, EnquiriesSystem enquiriesSystem)
    • removeEnquiry

      static void removeEnquiry(Enquiry selectedEnquiry, EnquiriesSystem enquiriesSystem) throws Exception
      Throws:
      Exception
    • editEnquiry

      static void editEnquiry(SuperScanner superScanner, EnquiriesSystem enquiriesSystem, Enquiry selectedEnquiry) throws Exception
      Throws:
      Exception
    • sendEnquiryFlow

      static void sendEnquiryFlow(Applicant applicant) throws Exception
      Throws:
      Exception