Interface IProjectRepository
- All Superinterfaces:
IRepository<Project,
String>
- All Known Implementing Classes:
ProjectRepository
Repository interface for accessing and manipulating Project entities in the
BTO Management System.
This interface extends the generic IRepository interface, inheriting standard CRUD operations while adding project-specific query methods. It handles the persistence and retrieval of Project entities, supporting the project management functionality in the BTO Management System.
Projects represent the core housing developments in the BTO system. The repository provides methods for retrieving project information, managing associated flat types, and handling project lifecycle operations.
Implementations of this interface are responsible for:- Persisting project data to the chosen storage medium
- Retrieving project information efficiently
- Handling the relationships between projects and their flat types
- Maintaining data consistency during project operations
-
Method Summary
Modifier and TypeMethodDescriptionvoid
deleteById
(String id) Deletes the Project with the specified ID.Retrieves all unique flat information IDs associated with projects across the system.
-
Method Details
-
findAllFlatInfoIds
Retrieves all unique flat information IDs associated with projects across the system. This method collects the IDs of all flat information objects from all projects in the repository. It's particularly useful for:- Generating unique IDs for new flat information entities
- Validating the existence of flat information references
- Tracking all flat types across projects
- Returns:
- A set of unique flat information IDs across all projects
- Throws:
DataAccessException
- If an error occurs while accessing the data store
-
deleteById
Deletes the Project with the specified ID. If the ID does not exist, the method might do nothing or throw an exception,- Parameters:
id
- The ID of the entity to delete.- Throws:
DataAccessException
- If an error occurs during persistence.
-