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 unJdbcRepository
e stabilisce una connessione al database. -
Method Summary
-
Field Details
-
daos
-
conn
-
-
Constructor Details
-
JdbcRepository
public JdbcRepository()Costruisce unJdbcRepository
e stabilisce una connessione al database.Configura i DAO per le entità:
user
–JDBCUserDAO
document
–JDBCDocumentDAO
stopWord
–JDBCStopWordDAO
gameReport
–JDBCGameReportDAO
wdm
–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:
getDAO
in 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:
close
in interfaceRepository
-