/*
 * Copyright (c) 1997-1999 Departamento de Informática - UFPE
 */

/**
 * Esta classe modela um usuário de um sistema unix.
 */
public class Usuario {

    // O login do usuário.
    private String login;

    // A senha do usuário.
    private String senha;

    // O nome do usuário.
    private String nome;

    // O grupo ao qual o usuário pertence.
    private int grupo;

    // O diretório raiz do usuário.
    private Diretorio home; 

    /**
     * Construtor da classe Usuario.
     * Cria um novo usuário, a partir de seu login, nome e grupo.
     * 
     * @param login         login do usuario.
     * @param nome          Nome do usuario.
     * @param grupo         Grupo do usuario.
     */
    public Usuario(String login, String nome, int grupo){
        this.login = login;
        this.nome = nome;
        this.senha = "MudeMe"; 
        this.grupo = grupo;
        this.home = new Diretorio("/home/"+login); 
    }

    /**
     * Retorna o login do usuário.
     *
     * @return              login do usuario;
     */
    public String getLogin() {
        return login;
    }

    /**
     * Retorna o nome do usuário.
     *
     * @return              Nome do usuario;
     */
    public String getNome() {
        return nome;
    }

    /**
     * Retorna o diretório raiz do usuário.
     *
     * @return              Diretorio raiz do usuario;
     */
    public Diretorio getHome() {
        return home;
    }

    /**
     * Verifica a senha do usuário.
     *
     * @return true se a senha fornecida &eacute; a senha deste usuário;
     *         false caso contrário.
     */
    public boolean verificarSenha(String senha) {
        return (this.senha.equals(senha));
    }

    /**
     * Realiza a mudança da senha do usuário.
     *
     * @param senhaVelha           Antiga senha do usuario;
     * @param senhaNova            Nova senha do usuario;
     */
    public void mudarSenha(String senhaVelha, String senhaNova){
        if (this.senha.equals(senhaVelha)) 
            senha = senhaNova;
        else 
            System.out.println("Erro: senha invalida\n");
    }

}
