Class OfficerList
- All Implemented Interfaces:
Saveable
Manages a list of
Officer objects, handling data persistence and retrieval.
This class extends the generic ModelList to specialize in managing officer data,
likely loaded from and saved to a CSV file specified by FILE_PATH.
It provides methods to access the list instance and retrieve officers by their ID.
Uses a static factory method getInstance() for convenient access.-
Constructor Summary
ConstructorsConstructorDescriptionOfficerList(String filePath) Constructs an OfficerList instance associated with a specific file path. -
Method Summary
Modifier and TypeMethodDescriptionRetrieves anOfficerfrom the list based on their unique user ID.Gets the file path associated with this OfficerList instance, indicating where the officer data is persisted.static OfficerListProvides a static factory method to get an instance of OfficerList.
-
Constructor Details
-
OfficerList
Constructs an OfficerList instance associated with a specific file path. Calls the superclass constructor to initialize the list, providing the file path and theOfficer.classtype for CSV data mapping. Typically accessed via the staticgetInstance()method using the default path.- Parameters:
filePath- The path to the CSV file used for data persistence.
-
-
Method Details
-
getInstance
Provides a static factory method to get an instance of OfficerList. This method creates a new instance using the defaultFILE_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
OfficerListinitialized with the default file path.
-
getFilePath
Gets the file path associated with this OfficerList instance, indicating where the officer data is persisted.- Specified by:
getFilePathin classModelList<Officer>- Returns:
- The file path string (e.g., "data_csv/OfficerList.csv").
-
getByID
Retrieves anOfficerfrom the list based on their unique user ID. Iterates through the list maintained by the superclass (ModelList.getAll()) and returns the first officer matching the provided ID.
-