Class ApplicantList

All Implemented Interfaces:
Saveable

public class ApplicantList extends ModelList<Applicant>
Manages a list of Applicant objects, handling data persistence and retrieval. This class extends the generic ModelList to specialize in managing applicant data, likely loaded from and saved to a CSV file specified by FILE_PATH. It provides methods to access the list instance and retrieve applicants by their ID. Uses a static factory method getInstance() for convenient access.
  • Constructor Details

    • ApplicantList

      public ApplicantList(String filePath)
      Constructs an ApplicantList instance associated with a specific file path. Calls the superclass constructor to initialize the list, providing the file path and the Applicant.class type for CSV data mapping. Typically accessed via the static getInstance() method using the default path.
      Parameters:
      filePath - The path to the CSV file used for data persistence.
  • Method Details

    • getInstance

      public static ApplicantList getInstance()
      Provides a static factory method to get an instance of ApplicantList. This method creates a new instance using the default FILE_PATH. Note: This implementation creates a new instance on each call, potentially reloading data. Consider implementing a true Singleton pattern if a single shared instance is desired.
      Returns:
      A new instance of ApplicantList initialized with the default file path.
    • getFilePath

      public String getFilePath()
      Gets the file path associated with this ApplicantList instance, indicating where the applicant data is persisted.
      Specified by:
      getFilePath in class ModelList<Applicant>
      Returns:
      The file path string (e.g., "data_csv/ApplicantList.csv").
    • getByID

      public Applicant getByID(String ID)
      Retrieves an Applicant from the list based on their unique user ID. Iterates through the list maintained by the superclass (ModelList.getAll()) and returns the first applicant matching the provided ID.
      Specified by:
      getByID in class ModelList<Applicant>
      Parameters:
      ID - The user ID of the applicant to find.
      Returns:
      The Applicant object if found, otherwise null.