Referenciar um objeto já instanciado

Tenho 2 beans , Usuario e UsuarioLogado…

Usuario logado;


public class UsuarioLogado {

    private Usuario usuario;

    public UsuarioLogado() {
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
}

quando logo no sistema eu passo um Usuario para UsuarioLogado, o que nao sei fazer é:

como posteriormente eu pego o o usuario que esta em UsuarioLogado ?

        UsuarioLogado usuarioLogado = (UsuarioLogado)
        Usuario us = usuariologado.getUsuario();

algo dessa forma…
att.

Bem acredito que voce esteja fazendo isso pra ver se um usuario esta logado ou nao no sistema, correto?

Porque voce nao cria um campo no db UsuarioLogado e informe 0 caso nao e 1 caso sim e na hora que for tentar logar, verificar a situação desse campo. Nao é mais facil?

Abraços

o problema é que eu preciso saber quem esta logado pra salvar na fk de Requisições_Usuario , é uma parte de Requisições, quem abre uma requisição é que esta logado no sistema, (Um usuario agenda para outro Usuario).

Faala garoto…

Voce ta trabalhando com Web ou Desktop??

Abraco!

Aoba kenneth

desktop

cara é mais fácil vc fazer assim:

[code]public class Usuario{
private boolean logado; //default é false

public void logar(){
    logado = true;
}

public void deslogar(){
    logado = false;
}

public boolean estaLogado(){
    return logado;
}

}[/code]
Quando o usuário estiver logado basta chamar o método logar. Para gravar no banco basta persistir o valor da variável logado.

if (usuario.estaLogado) //Faz oq vc precisa
OBS.: Muda as nomeclaturas dos atributos/metodos que ficaram feias! =P

jakefrog o que eu realmente preciso nao é bem verificar quem esta ou nao esta logado, vou começar do começo… rs

esse é meu controle de logins :

[code] Usuario obUsuario;
LoginView form;
LoginDao loginDao;
public UsuarioLogado user;

    public UsuarioLogado getUser() {   //**********************
    return user;
}  

public LoginCtrl(LoginView form) {
    this.form = form;
}


           public boolean VerificarLogin (String login, String Senha){
                   obUsuario = new Usuario();
                   loginDao = new LoginDao();
                   obUsuario =  loginDao.PegaUsuario(login, Senha);
                   if (obUsuario == null ){
                  JOptionPane.showMessageDialog(form, "LOGIN OU SENHA INVALIDO, TENTE NOVAMENTE", "ERRO", JOptionPane.ERROR_MESSAGE);
                    return false;
                     }else{
                  loginDao= new LoginDao();
                   obUsuario.setUltimoacesso(new Date());

                   if(loginDao.SalvaAcesso(obUsuario)){
                       user = new UsuarioLogado();
                       user.setUsuario(obUsuario);
                   }

                   return true;[/code]

eu instanciei uma variavel apontando para UsuarioLogado, lembrando que dentro de UsuarioLogado eu tenhu um atributo do tipo Usuario.

como eu posso acessar o metodo getUser() , de qualquer outra classe minha sem instanciar uma nova LoginCtrl … nao sei se é possivel…
eu preciso ter em memoria o Objeto Usuario que foi me trazido na busca acima para obte-lo a qualquer momento.

se isso nao for possivel , tem alguma ideia de como fazer ?

Fala garoto!

Bom, deixa eu te dar uma opiniao…

Eu fiz um sisteminha aqui em desktop pra aprender…
Tenho um frame com a janelinha de login, e se o cara se identificar
com sucesso, eu chamo um JFrame “principal”, que a partir dele, chama
as outras telas…
Nesse “principal”, eu guardo essa instancia do usuario logado, com um metodo static getUsuario();
E nos lugares que preciso, faco um Principal.getUsuario();

Nao sei se eh o correto, mas comigo aqui funcionou
=]

Abraco!

Crie a classe com um atributo public static final. Depois basta dar um CLASSE.USUARIO_LOGADO.

Vlww pessoal , deu certinho mesmo

ficou assim:

[code]
public class UsuarioLogado {

private Usuario usuario;

public UsuarioLogado() {
}

private static class UsuarioLogadoMemoria {

    private final static UsuarioLogado instancia = new UsuarioLogado();
}

public static UsuarioLogado getInstance() {
    return UsuarioLogadoMemoria.instancia;
}

public Usuario getUsuario() {
    return usuario;
}

public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
}

}[/code]

Adiciona [Resolvido] no titulo do topico.
=]

Abraco!