Class UtenteEntity
Questa classe mappa la tabella Utente all'interno dello schema modulink.
Utilizza una architettura a Chiave Primaria Composta definita dalla classe UtenteID,
costituita dalla coppia (ID Azienda, ID Utente).
A differenza di un approccio standard con ID autoincrementale globale, qui l'identificativo dell'utente è sequenziale e univoco solo all'interno della specifica azienda di appartenenza.
- Version:
- 1.3.3
- Author:
- Modulink Team
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Set<AssociazioneEntity> Relazione One-To-Many verso l'entità di associazione intermedio.private AziendaEntityL'azienda a cui appartiene l'utente.private StringCognome dell'utente.private StringIndirizzo email dell'utente.private StringHash della password dell'utente.private intIdentificativo numerico dell'utente.private StringNome di battesimo dell'utente.private StringPercorso (path) o URL dell'immagine del profilo dell'utente (opzionale).private StringNumero di telefono dell'utente. -
Constructor Summary
ConstructorsConstructorDescriptionCostruttore vuoto predefinito.UtenteEntity(AziendaEntity azienda, String email, String hash_password, String nome, String cognome, String telefono, String path_immagine_profilo) Costruttore completo per inizializzare un oggetto UtenteEntity. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRuolo(RuoloEntity ruolo) Metodo di utilità per aggiungere un ruolo all'utente.voiddefaultRoles(RuoloEntity ruolo) Resetta i ruoli dell'utente assegnandone uno di default.booleanVerifica l'uguaglianza tra due utenti.Restituisce il set delle entità di associazione.Restituisce l'azienda di appartenenza.Restituisce il cognome dell'utente.getEmail()Restituisce l'email dell'utente.Restituisce l'hash della password.intRestituisce l'ID locale dell'utente.getNome()Restituisce il nome dell'utente.Restituisce il percorso dell'immagine profilo.getRuoli()Metodo di utilità per recuperare direttamente i Ruoli astrattando la tabella intermedia.Restituisce il numero di telefono.voidrimuoviRuolo(RuoloEntity ruolo) Rimuove un ruolo specifico dall'utente.voidsetAssociazioni(Set<AssociazioneEntity> associazioni) Imposta il set delle associazioni.voidsetAzienda(AziendaEntity azienda) Imposta l'azienda di appartenenza.voidsetCognome(String cognome) Imposta il cognome dell'utente.voidImposta l'email dell'utente.voidsetHash_password(String hash_password) Imposta l'hash della password.voidsetId_utente(int id_utente) Imposta l'ID locale dell'utente.voidImposta il nome dell'utente.voidsetPath_immagine_profilo(String path_immagine_profilo) Imposta il percorso dell'immagine profilo.voidsetTelefono(String telefono) Imposta il numero di telefono.
-
Field Details
-
id_utente
private int id_utenteIdentificativo numerico dell'utente.Questo campo è parte della chiave primaria composta. Nota Importante: Non è annotato con
@GeneratedValue. Il valore deve essere calcolato e assegnato manualmente dall'applicazione (Service Layer) prima del salvataggio (es.MAX(ID) + 1per l'azienda corrente). -
azienda
L'azienda a cui appartiene l'utente.Rappresenta una relazione Molti-a-Uno con
AziendaEntity. Oltre a essere una Foreign Key, questo campo costituisce la seconda parte della chiave primaria composta, definendo il contesto di unicità dell'ID Utente. -
associazioni
Relazione One-To-Many verso l'entità di associazione intermedio.Questa struttura sostituisce la classica annotazione
@ManyToManyper risolvere i conflitti generati dalla condivisione della colonnaID_Aziendanelle chiavi composte di Utente e Ruolo. -
email
Indirizzo email dell'utente. Deve essere univoco all'interno dell'intero sistema (vincolo globale). -
hash_password
Hash della password dell'utente.La password non viene mai salvata in chiaro, ma hashata tramite BCrypt.
-
nome
Nome di battesimo dell'utente. -
cognome
Cognome dell'utente. -
telefono
Numero di telefono dell'utente. -
path_immagine_profilo
Percorso (path) o URL dell'immagine del profilo dell'utente (opzionale).
-
-
Constructor Details
-
UtenteEntity
public UtenteEntity()Costruttore vuoto predefinito.Richiesto dalle specifiche JPA per la creazione dell'entità tramite reflection.
-
UtenteEntity
public UtenteEntity(AziendaEntity azienda, String email, String hash_password, String nome, String cognome, String telefono, String path_immagine_profilo) Costruttore completo per inizializzare un oggetto UtenteEntity.- Parameters:
azienda- L'entità Azienda di appartenenza.email- L'indirizzo email dell'utente.hash_password- La password cifrata dell'utente.nome- Il nome dell'utente.cognome- Il cognome dell'utente.telefono- Il numero di telefono.path_immagine_profilo- Il percorso dell'immagine profilo (può essere null).
-
-
Method Details
-
getId_utente
public int getId_utente()Restituisce l'ID locale dell'utente.- Returns:
- L'intero rappresentante l'ID.
-
setId_utente
public void setId_utente(int id_utente) Imposta l'ID locale dell'utente.- Parameters:
id_utente- Il nuovo ID da assegnare (deve essere univoco per azienda).
-
getAzienda
Restituisce l'azienda di appartenenza.- Returns:
- L'oggetto
AziendaEntity.
-
setAzienda
Imposta l'azienda di appartenenza.- Parameters:
azienda- La nuova azienda.
-
getEmail
-
setEmail
-
getHash_password
-
setHash_password
Imposta l'hash della password.- Parameters:
hash_password- Il nuovo hash.
-
getNome
-
setNome
-
getCognome
-
setCognome
Imposta il cognome dell'utente.- Parameters:
cognome- Il nuovo cognome.
-
getTelefono
-
setTelefono
Imposta il numero di telefono.- Parameters:
telefono- Il nuovo numero di telefono.
-
getPath_immagine_profilo
Restituisce il percorso dell'immagine profilo.- Returns:
- Il path o l'URL dell'immagine.
-
setPath_immagine_profilo
Imposta il percorso dell'immagine profilo.- Parameters:
path_immagine_profilo- Il nuovo percorso immagine.
-
getAssociazioni
Restituisce il set delle entità di associazione.Di solito non viene usato direttamente dalla logica di business, ma serve a Hibernate per gestire la persistenza.
- Returns:
- Il Set di
AssociazioneEntity.
-
setAssociazioni
Imposta il set delle associazioni.- Parameters:
associazioni- Il nuovo set di associazioni.
-
getRuoli
Metodo di utilità per recuperare direttamente i Ruoli astrattando la tabella intermedia.Itera sulle associazioni e restituisce un Set pulito di
RuoloEntity.- Returns:
- Un Set contenente i ruoli dell'utente.
-
addRuolo
Metodo di utilità per aggiungere un ruolo all'utente.Crea automaticamente una nuova istanza di
AssociazioneEntityche collega questo utente al ruolo specificato e la aggiunge alla collezione.- Parameters:
ruolo- Il ruolo da assegnare.
-
rimuoviRuolo
Rimuove un ruolo specifico dall'utente.Cerca l'associazione corrispondente al ruolo dato e, se trovata, la rimuove sia dalla collezione locale che dalle associazioni del ruolo, garantendo la coerenza bidirezionale.
- Parameters:
ruolo- Il ruolo da rimuovere.
-
defaultRoles
Resetta i ruoli dell'utente assegnandone uno di default.Rimuove tutte le associazioni correnti e ne aggiunge una nuova con il ruolo specificato. Utile in fase di modifica massiva o ripristino permessi.
- Parameters:
ruolo- Il nuovo ruolo unico da assegnare.
-
equals
Verifica l'uguaglianza tra due utenti.Due utenti sono considerati uguali se hanno lo stesso ID utente e appartengono alla stessa azienda (ovvero hanno la stessa chiave primaria composta).
-