Class UserList


public class UserList extends Object
Classe che implementa l'elenco degli utenti.
La classe è implementata con un Set<String> che contiene i nomi degli utenti registrati e un Map<String> che contiene i nomi degli utenti loggati.
  • Constructor Summary

    Constructors
    Constructor
    Description
    UserList(String pathJSON)
    Costruttore della classe UserList.
  • Method Summary

    Modifier and Type
    Method
    Description
    Metodo che aggiunge una <Map<String, Object>> rappresentante un Utente alla lista degli utenti registrati.
    addUser(User newUser)
    Metodo che aggiunge un nuovo utente alla lista degli utenti registrati.
    Metodo che restituisce una insieme di stringhe contenente i nomi degli utenti loggati.
    Metodo che restituisce un insieme di stringhe contenente i nomi degli utenti registrati.
    getUser(String userName)
    Metodo che restituisce l'oggetto User associato all'utente con il nome-utente specificato.
    boolean
    isLoggato(String userName)
    Metodo che verifica se l'utente con il nome-utente specificato, è loggato.
    boolean
    isRegistrato(String userName)
    Metodo che verifica se l'utente con il nome-utente specificato, è registrato.
    boolean
    loginUser(String userName, String password)
    Metodo che aggiunge l'utente con il nome-utente specificato, alla lista degli utenti loggati.
    boolean
    logoutUser(String userName)
    Metodo che rimuove l'utente con il nome-utente specificato, dalla lista degli utenti loggati.
    removeUser(String userName)
    Metodo che rimuove l'utente con il nome-utente specificato, dalla lista degli utenti registrati e dalla lista degli utenti loggati.
    void
    Metoo che scrive i dati degli utenti registrati in un file JSON specificato, nel percorso pathJSON.
    Metodo che aggiorna i dati dell'utente specificato, nella lista degli utenti registrati.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • UserList

      public UserList(String pathJSON) throws FileNotFoundException, IOException
      Costruttore della classe UserList.
      Inizializza la lista degli utenti registrati, la lista degli utenti loggati e legge i dati degli utenti registrati dal file JSON specificato, nel percorso pathJSON.
      Parameters:
      pathJSON - percorso del file JSON da leggere
      Throws:
      FileNotFoundException - se il file JSON specificato, non viene trovato
      IOException - se si verifica un errore durante la lettura del file JSON
  • Method Details

    • getRegistrati

      public Set<String> getRegistrati()
      Metodo che restituisce un insieme di stringhe contenente i nomi degli utenti registrati.
      Returns:
      un Set<String> contenente i nomi degli utenti registrati
    • setRegistrati

      public void setRegistrati(String pathJSON) throws IOException
      Metoo che scrive i dati degli utenti registrati in un file JSON specificato, nel percorso pathJSON.
      Parameters:
      pathJSON - percorso del file JSON in cui scrivere i dati degli utenti registrati
      Throws:
      IOException - se si verifica un errore durante la scrittura del file JSON
    • getLoggati

      public Set<String> getLoggati()
      Metodo che restituisce una insieme di stringhe contenente i nomi degli utenti loggati.
      Returns:
      un Set<String> contenente i nomi degli utenti loggati
    • isRegistrato

      public boolean isRegistrato(String userName)
      Metodo che verifica se l'utente con il nome-utente specificato, è registrato.
      Parameters:
      userName - nome-utente dell'utente da cercare
      Returns:
      true se l'utente è registrato, false altrimenti
    • isLoggato

      public boolean isLoggato(String userName)
      Metodo che verifica se l'utente con il nome-utente specificato, è loggato.
      Parameters:
      userName - nome-utente dell'utente da cercare
      Returns:
      true se l'utente è loggato, false altrimenti
    • getUser

      public User getUser(String userName)
      Metodo che restituisce l'oggetto User associato all'utente con il nome-utente specificato.
      Parameters:
      userName - nome-utente dell'utente da cercare
      Returns:
      oggetto User associato all'utente con il nome-utente specificato
    • addUser

      public User addUser(Map<String,Object> newUser)
      Metodo che aggiunge una <Map<String, Object>> rappresentante un Utente alla lista degli utenti registrati.
      Parameters:
      newUser - <Map<String, Object>> contenente i dati del nuovo utente da aggiungere
      Returns:
      oggetto User associato al nuovo utente aggiunto, null se l'utente è già presente
      Throws:
      IllegalArgumentException - se i dati del nuovo utente non sono validi
    • addUser

      public User addUser(User newUser)
      Metodo che aggiunge un nuovo utente alla lista degli utenti registrati.
      Parameters:
      newUser - oggetto User contenente i dati del nuovo utente da aggiungere
      Returns:
      oggetto User associato al nuovo utente aggiunto, null se l'utente è già presente
      Throws:
      IllegalArgumentException - se i dati del nuovo utente non sono validi
    • removeUser

      public User removeUser(String userName)
      Metodo che rimuove l'utente con il nome-utente specificato, dalla lista degli utenti registrati e dalla lista degli utenti loggati.
      Parameters:
      userName - nome-utente dell'utente da rimuovere
      Returns:
      oggetto User associato all'utente rimosso, null se l'utente non è presente
    • updateUser

      public User updateUser(Map<String,Object> newUser)
      Metodo che aggiorna i dati dell'utente specificato, nella lista degli utenti registrati.
      Parameters:
      newUser - Map<String, Object> contenente i nuovi dati dell'utente da aggiornare
      Returns:
      oggetto User associato all'utente aggiornato, null se l'utente non è presente
      Throws:
      IllegalArgumentException - se i nuovi dati dell'utente non sono validi
    • loginUser

      public boolean loginUser(String userName, String password)
      Metodo che aggiunge l'utente con il nome-utente specificato, alla lista degli utenti loggati.
      Parameters:
      userName - nome-utente dell'utente da loggare
      Returns:
      true se l'utente è stato loggato con successo, false se l'utente era già loggato
      Throws:
      IllegalArgumentException - se l'utente non è registrato
    • logoutUser

      public boolean logoutUser(String userName)
      Metodo che rimuove l'utente con il nome-utente specificato, dalla lista degli utenti loggati.
      Parameters:
      userName - nome-utente dell'utente per cui effettuare il logout
      Returns:
      trueo se il logout dell'utente è stato effettuato con successo, false se l'utente non è loggato
      Throws:
      IllegalArgumentException - se l'utente non è registrato