Class ManagerList

All Implemented Interfaces:
Saveable

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

    • ManagerList

      public ManagerList(String filePath)
      Constructs a ManagerList instance associated with a specific file path. Calls the superclass constructor to initialize the list, providing the file path and the Manager.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 ManagerList getInstance()
      Provides a static factory method to get an instance of ManagerList. 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 ManagerList initialized with the default file path.
    • getFilePath

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

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