Class RuoloEntity

java.lang.Object
com.modulink.Model.Ruolo.RuoloEntity

@Entity public class RuoloEntity extends Object
Rappresenta l'entità di persistenza Ruolo all'interno dell'architettura RBAC (Role-Based Access Control) di Modulink.

Questa classe mappa la tabella Ruolo dello schema modulink e definisce i profili di autorizzazione assegnabili agli utenti all'interno di un contesto aziendale (Tenant).

L'entità utilizza una chiave primaria composta definita dalla classe RuoloID, costituita dalla coppia (id_ruolo, id_azienda). Questa strategia di partizionamento consente la coesistenza di ID ruolo identici (es. ID 1) in tenant differenti, garantendo l'isolamento logico dei dati.

Since:
1.0.0
Version:
1.5.0
Author:
Modulink Team
See Also:
  • Field Details

    • id_ruolo

      private int id_ruolo
      Identificativo numerico locale del ruolo.

      Parte della chiave primaria composta. Questo valore viene gestito programmaticamente per mantenere sequenze separate per ogni azienda.

      Since:
      1.0.0
    • azienda

      private AziendaEntity azienda
      Riferimento all'azienda proprietaria del ruolo.

      Parte della chiave primaria composta (Partition Key). La relazione è gestita con una Foreign Key vincolata a livello database con clausola ON DELETE CASCADE, assicurando che l'eliminazione di un'azienda comporti la rimozione automatica di tutti i suoi ruoli.

      Since:
      1.0.0
    • nome

      private String nome
      Denominazione funzionale del ruolo (es. "Amministratore", "Revisore").

      Campo obbligatorio utilizzato per l'identificazione visiva nelle interfacce di gestione.

      Since:
      1.0.0
    • colore

      private String colore
      Codice colore esadecimale (es. "#FF5733") o nome CSS standard.

      Attributo di presentazione utilizzato dal frontend per renderizzare badge o etichette distintive per il ruolo.

      Since:
      1.0.0
    • descrizione

      private String descrizione
      Descrizione testuale estesa delle responsabilità e dei privilegi conferiti dal ruolo.

      Campo opzionale (Nullable).

      Since:
      1.0.0
    • associazioni

      private Set<AssociazioneEntity> associazioni
      Insieme delle associazioni Utente-Ruolo attive.

      Relazione One-To-Many bidirezionale verso AssociazioneEntity. Configurato con FetchType.EAGER per caricare immediatamente gli utenti associati e CascadeType.ALL per propagare le operazioni di persistenza/rimozione.

      Since:
      1.0.0
    • affiliazioni

      private Set<PertinenzaEntity> affiliazioni
      Insieme delle affiliazioni o pertinenze ai Moduli.

      Relazione One-To-Many verso PertinenzaEntity, definisce quali moduli funzionali sono accessibili agli utenti che possiedono questo ruolo.

      Since:
      1.2.0
  • Constructor Details

    • RuoloEntity

      public RuoloEntity()
      Costruttore predefinito (No-Args).

      Necessario per la conformità alle specifiche JPA (Java Persistence API).

      Since:
      1.0.0
    • RuoloEntity

      public RuoloEntity(AziendaEntity azienda, String nome, String colore, String descrizione)
      Costruttore di convenienza per la creazione di nuovi ruoli (con ID provvisorio 0).
      Parameters:
      azienda - L'azienda di appartenenza.
      nome - Il nome del ruolo.
      colore - Il colore distintivo.
      descrizione - La descrizione funzionale.
      Since:
      1.0.0
    • RuoloEntity

      public RuoloEntity(int id_ruolo, AziendaEntity azienda, String nome, String colore, String descrizione)
      Costruttore completo per l'inizializzazione dell'entità.
      Parameters:
      id_ruolo - L'ID numerico locale.
      azienda - L'azienda di appartenenza.
      nome - Il nome del ruolo.
      colore - Il colore distintivo.
      descrizione - La descrizione funzionale.
      Since:
      1.0.0
  • Method Details

    • getId_ruolo

      public int getId_ruolo()
      Recupera l'ID locale del ruolo.
      Returns:
      Intero ID.
      Since:
      1.0.0
    • setId_ruolo

      public void setId_ruolo(int id_ruolo)
      Imposta l'ID locale del ruolo.
      Parameters:
      id_ruolo - Nuovo ID.
      Since:
      1.0.0
    • getAzienda

      public AziendaEntity getAzienda()
      Recupera l'azienda associata.
      Returns:
      Oggetto AziendaEntity.
      Since:
      1.0.0
    • setAzienda

      public void setAzienda(AziendaEntity azienda)
      Imposta l'azienda associata.
      Parameters:
      azienda - Nuova azienda.
      Since:
      1.0.0
    • getNome

      public String getNome()
      Recupera il nome del ruolo.
      Returns:
      Stringa nome.
      Since:
      1.0.0
    • setNome

      public void setNome(String nome)
      Imposta il nome del ruolo.
      Parameters:
      nome - Nuovo nome.
      Since:
      1.0.0
    • getColore

      public String getColore()
      Recupera il colore del ruolo.
      Returns:
      Stringa codice colore.
      Since:
      1.0.0
    • setColore

      public void setColore(String colore)
      Imposta il colore del ruolo.
      Parameters:
      colore - Nuovo codice colore.
      Since:
      1.0.0
    • getDescrizione

      public String getDescrizione()
      Recupera la descrizione.
      Returns:
      Stringa descrizione.
      Since:
      1.0.0
    • setDescrizione

      public void setDescrizione(String descrizione)
      Imposta la descrizione.
      Parameters:
      descrizione - Nuova descrizione.
      Since:
      1.0.0
    • getAssociazioni

      public Set<AssociazioneEntity> getAssociazioni()
      Recupera le associazioni utente collegate.
      Returns:
      Set di AssociazioneEntity.
      Since:
      1.0.0
    • setAssociazioni

      public void setAssociazioni(Set<AssociazioneEntity> associazioni)
      Imposta le associazioni utente.
      Parameters:
      associazioni - Nuovo set di associazioni.
      Since:
      1.0.0
    • getAffiliazioni

      public Set<PertinenzaEntity> getAffiliazioni()
      Recupera le affiliazioni ai moduli.
      Returns:
      Set di PertinenzaEntity.
      Since:
      1.2.0
    • setAffiliazioni

      public void setAffiliazioni(Set<PertinenzaEntity> affiliazioni)
      Imposta le affiliazioni ai moduli.
      Parameters:
      affiliazioni - Nuovo set di affiliazioni.
      Since:
      1.2.0