Class JdbcRepository

java.lang.Object
it.unisa.diem.wordageddon_g16.db.JdbcRepository
All Implemented Interfaces:
Repository

public class JdbcRepository extends Object implements Repository
Implementazione della interfaccia Repository che gestisce l'accesso ai dati tramite JDBC.

Inizializza le DAO necessarie al funzionamento del sistema e mantiene una connessione persistente al database definito in Config.Props.DB_URL. Abilita le chiavi esterne per SQLite.

  • Field Details

  • Constructor Details

  • Method Details

    • getDAO

      public <T, TDAO extends DAO<T>> TDAO getDAO(String category)
      Restituisce il DAO associato a una specifica categoria testuale.

      La categoria deve corrispondere a una chiave registrata in fase di costruzione (es. "user", "document", ecc.). Il ritorno è tipizzato tramite generics.

      Specified by:
      getDAO in interface Repository
      Type Parameters:
      T - tipo di entità gestita dalla DAO
      TDAO - tipo di DAO che estende DAO
      Parameters:
      category - stringa identificativa della DAO richiesta
      Returns:
      istanza del DAO associato alla categoria
      Throws:
      IllegalArgumentException - se la categoria non è valida
    • close

      public void close()
      Chiude la connessione aperta al database, se presente.

      In caso di errore durante la chiusura, viene registrato tramite SystemLogger.

      Specified by:
      close in interface Repository