package m05bLdap;


public class SecurityObject {
	
    private String[] _perfiles;
    private String _idioma;
    private String _puesto;
    private String _persona;
    private String _usuario;
    private String _dni;

    public SecurityObject(String puesto) {
        _puesto = puesto;
    }

    public void setPerfiles(String[] perfiles) { 
        _perfiles = perfiles;
    }

    public void setIdioma(String idioma) { 
        _idioma = idioma;
    }  
    
    public String getIdioma() {
        return _idioma;
    }        

    // Devuelve true si el perfil que se le pasa como parametro lo tiene el objeto
    public String[] getPerfiles() { 
        return _perfiles	; 
    }
    public void setPersona(String persona) {
        _persona = persona;
    }

    public String getPersona() {
        return _persona;
    }
    
    public void setUsuario(String usuario) {
        _usuario = usuario;
    }

    public String getUsuario() {
        return _usuario;
    }
    
    public void setDni(String dni) {
        _dni = dni;
    }

    public String getDni() {
        return _dni;
    }

    public String getPuesto() {
        return _puesto;	
    }
    public boolean hasPermission(String perfil) {
        for (int i=0; i < _perfiles.length;i++)
            if (_perfiles[i].equalsIgnoreCase(perfil)) return true;
        return false;	
    }	
    
    /*public boolean hasPermission(Map perfiles) {   
        // Primero comprobar si es super-usuario
        if ( this.hasPermission("m05B-PF-0001")) return true;
        // Si no es super-usuario, comprobar uno a uno los perfiles
        // del proyecto y ver si el usuario tiene alguno de ellos
        if ( perfiles != null ) {
            for (Iterator it = perfiles.entrySet().iterator(); it.hasNext(); ) {
                Map.Entry me = (Map.Entry)it.next();
                String currPerfilOID = (String)me.getKey();
                PerfilVO currPerfilVO = (PerfilVO)me.getValue();
                String perfilCod = currPerfilVO.valor;
                //if (this.isExcluded(perfilCod)) continue;	 
                if (this.hasPermission(currPerfilVO.valor) == true) return true;
            }
        }
        return false;
    }*/
         
   /* public boolean isExcluded(String profile) {  
        List excluded = XMLProperties.getPropertyList("m05b","xlnets/perfilesExcluir/perfil");
        return excluded.contains(profile); 
   }*/
	
}