import com.ibm.aglet.*;
import javax.swing.*;

public class MeuAgente extends Aglet {
    private boolean descanso = true;
    private int horasTrabalho = 0;
    private JTextArea t = new JTextArea();

    private void say(String s) {
	t.append(s + "\n");
    }

    public void onCreation(Object init) {
	JFrame f = new JFrame(getAgletInfo().toString());
	f.setSize(300,200);
	JScrollPane sp = new JScrollPane(t);
	f.getContentPane().add(sp);
	f.setVisible(true);
	say("Um novo trabalhador no mundo!");
    }
    
    public void onDisposing( ) {
	say("Adeus, mundo cruel...");
    }

    public void run( ) {
	if (descanso) 
	    say("Calma que ninguem e' de ferro...");
	else 
	    ++horasTrabalho;
    }

    private String relatorio() {
	if (descanso)
	    return "Agora estou descansando, da um tempo...";
	else
	    return "Estou trabalhando, caramba, e ja faz " + horasTrabalho + " horas!";
    }

    public boolean handleMessage(Message msg) {
	if (msg.sameKind("vaiTrabalhar")) {
	    descanso = false;
	    ++horasTrabalho;
	    return true;
	}
	else if(msg.sameKind("podeDescansar")) {
	    say("***Hora da cerveja!***");
	    descanso = true;
	    return true;
	}
	else if(msg.sameKind("qctafazeire")) {
	    msg.sendReply(relatorio());
	    return true;
	}

	return false;
    }
}