    
/**
 * Write a description of class Utente here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Utente
{
    // instance variables 
    private String Cod;
    private String Nome;
    private String UDC; //UnidadeOrganica/Departamento/Curso;
    private String Contact; //Telef
    private char Tipo; //F-funcionario;A-aluno;C-colaborador/convidado
    private char Status; //A-autorizado;S-suspenso
    private int Ano;
    private Viatura[] veiculos;

    /**
     * Constructor for objects of class Utente
     */
    public Utente()
    {
        // initialise instance variables
        this.Cod = "";
        this.Nome = "";
        this.UDC = "";
        this.Contact = "";
        this.Tipo = '\0';
        this.Status = '\0';
        this.Ano = 0;
        this.veiculos = null;
    }
    public Utente(String cod, String n, String u, String c, char t, Viatura[] veic)
    {
        // initialise instance variables
        this.Cod = cod;
        this.Nome = n;
        this.UDC = u;
        this.Contact = c;
        this.Tipo = t;
        this.Status = 'A';
        this.Ano = 2006;
        this.veiculos = veic;
    }

    /**
     * Set and Get Attribute values 
     * 
     */
    // Set attributes (instance variables)
    public void setNome(String n)
    {
        this.Nome = n;
    }
    public void setTipo(char t)
    {
        this.Tipo = t;
    }
    public void setStatus(char s)
    {
        this.Status = s;
    }
    // Get Attributes (the value of  instance variables)
    public String getCod()
    {
        return this.Cod;
    }
    
    public String getUDC()
    {
        return this.UDC;
    }
    
    public String getNome()
    {
        return this.Nome;
    }
    
    public String getContact()
    {
        return this.Contact;
    }
    
    public int getAno()
    {
        return this.Ano;
    }
    
    public Viatura[] getViaturas()
    {
        return this.veiculos;
    }
    
    public char getTipo()
    {
        return this.Tipo;
    }
    public char getStatus()
    {
        return this.Status;
    }
    
    /**
     * Lista todos os Atributos do Utente 
     * 
     * @param      não tem
     * @return     nada 
     */     
    // Print all the Obj Attributes
    public void mostraUtente()
    {
        System.out.println("Cod de Utente e: "+this.Cod);
        System.out.println("Nome do Utente  e: "+this.Nome);
        System.out.println("Tipo do Utente e:       "+this.Tipo);
    }   
    
    public boolean equals(Utente u) {
        boolean eq = false;
        
        eq = this.Cod.equals(u.getCod()) &&
             this.Nome.equals(u.getNome()) &&
             this.UDC.equals(u.getUDC()) &&
             this.Tipo == u.getTipo() &&
             this.Status == u.getStatus() &&
             this.Ano == u.getAno() &&
             this.Contact.equals(u.getContact()); /// && 
//             this.veiculos.equals(this.getViaturas());       
       return eq;
    }
}
