Definição de aglets

As classes básicas definidas pela plataforma de aglets estão definidas no pacote com.ibm.aglet. Assim, o código do exemplo pode ser iniciado pelo import do pacote apropriado:

  import com.ibm.aglet.*;
    

O usuário cria sua classe de aglets estendendo a classe abstrata Aglet:

  public class MeuAgente extends Aglet {
      ...
  }
      
Os atributos da classe são usados, entre outras funcionalidades, para a manutenção do estado do agente que é levada entre execuções em lugares distintos.

A classe Aglet introduz alguns métodos básicos que são utilizados pela plataforma. Por exemplo, os métodos dispatch(), que determina a transferência de um aglet para outro lugar, e getAgletContext(), que permite estabelecer os mecanismos de interação do aglet com o lugar no qual ele está executando, são pré-definidos e não podem ser redefinidos, pois são declarados como final na classe Aglet.

Outros métodos da classe Aglet devem ser redefinidos. O método void onCreation() é automaticamente invocado quando o aglet é criado. Por exemplo, para criar uma janela para a exibição de mensagens deste agente:

    private JTextArea t = new JTextArea();
    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);
    }
    
O argumento init é um objeto definido pela aplicação que pode conter informação para a criação do agente. Este argumento é passado para o aglet através do método createAglet, associado à classe do contexto de execução de agentes (AgletContext).

Outros métodos que podem ser redefinidos pelo programador do aglet incluem:

O método run é o ponto de entrada para a execução de aglets.

Um exemplo de uma definição completa de um aglet pode ser encontrado aqui.


© Ivan L. M. Ricarte
DCA/FEEC/UNICAMP

Last modified: Tue Nov 27 10:37:39 EST 2001