
/**
 * Write a description of class Utentes here.
 * 
 * @author 
 * @version 
 */
public class Utentes
{
    // instance variables 
    private final int MaxU = 20000;
    private Utente[] Uts;
    private int TotUts, MaxUts;

    /**
     * Constructor for objects of class Utentes
     */
    public Utentes()
    {
        // initialise instance variables
        this.TotUts = 0;
        this.MaxUts = MaxU;
        this.Uts = new Utente[this.MaxUts]; 
    }
    public Utentes(int capacid)
    {
        // initialise instance variables
        this.TotUts = 0;
        this.MaxUts = capacid;
        this.Uts = new Utente[this.MaxUts];     
    }
    /**
     * Insere 1 novo Utente no conjunto de Utentes dos Parques da UM 
     * 
     * @param  cod   codigo do utente
     * @return     nada 
     */
    // Insert one more Utente   
    public void insUtente(String cod, String n, String u, String c, char t, Viatura[] v)
    {
        if (this.TotUts < this.MaxUts)
        {
            if (this.getUtente(cod)==null) {
                this.Uts[this.TotUts] = new Utente(cod,n,u,c,t,v);  
                this.TotUts++;
              }
            else
            {
                System.out.println("Erro: Codigo ja existente na BD!");
            }
          }
        else
        {
           System.out.println("ERRO: nao e possivel inserir mais utentes!");   
        }
    }
    
    /**
     * Procura um Utente com Codigo dado
     * 
     * @param  cod   codigo do utente
     * @return     Utente 
     */ 
    public Utente getUtente(String cod)
    {
        Utente este = null;
        int n = 0;

        while ((n < this.TotUts)&&(!(this.Uts[n].getCod()).equals(cod))) { n++; }
        if (n < this.TotUts)    
        {
           este = this.Uts[n];      
        }
                
       return este;
    }       

    /**
     * Lista os Atributos de todos os Utentes 
     * 
     * @return     nada 
     */     
    // Print all the Attributes of all Products
    public void listUts()
    {
         
        for (int n =0; n < this.TotUts; n++)
        {
           this.Uts[n].mostraUtente();
           System.out.println("----------------------------------");
        }
    }   
}
