Interface IProjectRepository

All Superinterfaces:
IRepository<Project,String>
All Known Implementing Classes:
ProjectRepository

public interface IProjectRepository extends IRepository<Project,String>
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 Details

    • findAllFlatInfoIds

      Set<String> findAllFlatInfoIds() throws DataAccessException
      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

      void deleteById(String id) throws DataAccessException
      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.