Class ModuloController
java.lang.Object
com.modulink.Controller.ModuloController
- Direct Known Subclasses:
AdminController, AziendaCotroller, CalendarioController, EventoController, GDMController, GDUController, GMARoleController, GRUController, GTMController, NewsController, StoreController, SupportController
Classe astratta di base per tutti i Controller di modulo all'interno dell'ecosistema ModuLink.
Questa classe definisce il contratto fondamentale e le funzionalità condivise per la gestione dei moduli software. Fornisce meccanismi centralizzati per:
- Identificazione univoca del modulo tramite
id. - Verifica granulare dei permessi di accesso basata sulla relazione tra Utente, Ruolo e Modulo.
- Definizione di una procedura di cleanup (disinstallazione) obbligatoria per ogni implementazione.
- Since:
- 1.0.0
- Version:
- 1.5.2
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intIdentificativo univoco del modulo gestito dal controller.private final ModuloServiceServizio per la logica di business e il controllo accessi dei moduli. -
Constructor Summary
ConstructorsConstructorDescriptionModuloController(ModuloService moduloService, int id) Costruttore per inizializzare il controller con il servizio moduli e l'identificativo specifico. -
Method Summary
Modifier and TypeMethodDescriptionabstract voiddisinstallaModulo(AziendaEntity azienda) Metodo astratto che deve essere implementato per gestire la logica di pulizia dei dati.intgetId()Restituisce l'ID del modulo gestito.protected booleanVerifica se l'utente specificato ha i permessi necessari per accedere alle risorse di questo modulo.voidsetId(int id) Imposta l'ID del modulo gestito.
-
Field Details
-
id
private int idIdentificativo univoco del modulo gestito dal controller. -
moduloService
Servizio per la logica di business e il controllo accessi dei moduli.
-
-
Constructor Details
-
ModuloController
Costruttore per inizializzare il controller con il servizio moduli e l'identificativo specifico.- Parameters:
moduloService- Il servizio di gestione moduli.id- L'ID univoco del modulo (definito nel database).- Since:
- 1.0.0
-
-
Method Details
-
isAccessibleModulo
Verifica se l'utente specificato ha i permessi necessari per accedere alle risorse di questo modulo.Il controllo delega al
ModuloServicela verifica della catena di autorizzazione: 1. Il modulo deve essere attivato per l'azienda dell'utente. 2. L'utente deve possedere un ruolo a cui è stata concessa la pertinenza sul modulo.- Parameters:
user- UnOptionalcontenente l'utente richiedente.- Returns:
- true se l'accesso è consentito, false altrimenti.
- Since:
- 1.0.0
-
getId
public int getId()Restituisce l'ID del modulo gestito.- Returns:
- L'identificativo numerico del modulo.
- Since:
- 1.0.0
-
setId
public void setId(int id) Imposta l'ID del modulo gestito.- Parameters:
id- Il nuovo identificativo.- Since:
- 1.0.0
-
disinstallaModulo
Metodo astratto che deve essere implementato per gestire la logica di pulizia dei dati.Viene invocato dal sistema durante la disattivazione o disinstallazione del modulo per una specifica azienda. Deve contenere la logica per rimuovere o archiviare in modo sicuro tutte le entità create dal modulo nel contesto dell'azienda indicata.
- Parameters:
azienda- L'entitàAziendaEntityper cui il modulo viene rimosso.- Since:
- 1.1.0
-