Class AppContext
java.lang.Object
it.unisa.diem.wordageddon_g16.models.AppContext
- All Implemented Interfaces:
Serializable
Classe che rappresenta il contesto dell'applicazione.
Fornisce un punto di accesso condiviso a tutti le classi service e DAO, mantenendo anche lo stato globale dell'app, come l'utente corrente e il report di gioco attivo.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthService
AuthService per l'autenticazione e la gestione degli utenti.private User
Utente attualmente autenticato nel sistema.private final GameService
Servizio per la logica di gioco, gestione domande e risultati.private GameSessionState
Sessione di gioco interrotta, utile per riprendere il gioco in caso di interruzione.private final LeaderboardService
Servizio per la gestione della leaderboard.private final Repository
Repository contenente tutti i DAO per l'accesso al database.final UserPanelService
Servizio per la gestione del pannello utente. -
Constructor Summary
ConstructorsConstructorDescriptionAppContext
(Repository repo) Costruisce un nuovo contesto dell'applicazione inizializzando tutte le classi service con i rispettivi DAO dal repository. -
Method Summary
Modifier and TypeMethodDescriptionRestituisce il servizio di autenticazione.Restituisce l'utente attualmente autenticato nel sistema.Restituisce il servizio di gioco.Restituisce la sessione di gioco interrotta, se presente.Restituisce il servizio della leaderboard.getRepo()
Restituisce il repository contenente tutti i DAO.Restituisce il servizio per la gestione del pannello utente.void
setCurrentUser
(User currentUser) Imposta l'utente attualmente autenticato nel sistema.void
setInterruptedSession
(GameSessionState interruptedSession) Imposta la sessione di gioco interrotta.
-
Field Details
-
repo
Repository contenente tutti i DAO per l'accesso al database. -
authService
AuthService per l'autenticazione e la gestione degli utenti. -
leaderboardService
Servizio per la gestione della leaderboard. -
userPanelService
Servizio per la gestione del pannello utente. -
gameService
Servizio per la logica di gioco, gestione domande e risultati. -
currentUser
Utente attualmente autenticato nel sistema. -
interruptedSession
Sessione di gioco interrotta, utile per riprendere il gioco in caso di interruzione.
-
-
Constructor Details
-
AppContext
Costruisce un nuovo contesto dell'applicazione inizializzando tutte le classi service con i rispettivi DAO dal repository.- Parameters:
repo
- il repository contenente i DAO per l'accesso al database
-
-
Method Details
-
getInterruptedSession
Restituisce la sessione di gioco interrotta, se presente.- Returns:
- la sessione di gioco interrotta
-
setInterruptedSession
Imposta la sessione di gioco interrotta.Questa sessione può essere utilizzata per riprendere il gioco in caso di interruzione.
- Parameters:
interruptedSession
- la sessione di gioco da impostare come interrotta
-
getAuthService
Restituisce il servizio di autenticazione.- Returns:
- il servizio
AuthService
-
getLeaderboardService
Restituisce il servizio della leaderboard.- Returns:
- il servizio
LeaderboardService
-
getUserPanelService
Restituisce il servizio per la gestione del pannello utente.- Returns:
- il servizio
UserPanelService
-
getGameService
Restituisce il servizio di gioco.- Returns:
- il servizio
GameService
-
getCurrentUser
Restituisce l'utente attualmente autenticato nel sistema.- Returns:
- l'utente corrente, o
null
se nessuno è loggato
-
setCurrentUser
Imposta l'utente attualmente autenticato nel sistema.- Parameters:
currentUser
- l'utente da impostare come corrente
-
getRepo
Restituisce il repository contenente tutti i DAO.- Returns:
- il repository in uso
-