Class JdbcRepository
java.lang.Object
it.unisa.diem.wordageddon_g16.db.JdbcRepository
- All Implemented Interfaces:
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 Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCostruisce unJdbcRepositorye stabilisce una connessione al database. -
Method Summary
-
Field Details
-
daos
-
conn
-
-
Constructor Details
-
JdbcRepository
public JdbcRepository()Costruisce unJdbcRepositorye stabilisce una connessione al database.Configura i DAO per le entità:
user–JDBCUserDAOdocument–JDBCDocumentDAOstopWord–JDBCStopWordDAOgameReport–JDBCGameReportDAOwdm–JDBCWdmDAO
PRAGMA foreign_keys = ON. In caso di errore, registra l'evento tramiteSystemLogger.
-
-
Method Details
-
getDAO
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:
getDAOin interfaceRepository- Type Parameters:
T- tipo di entità gestita dalla DAOTDAO- tipo di DAO che estendeDAO- 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:
closein interfaceRepository
-