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:
Um exemplo de uma definição completa de um aglet pode ser encontrado aqui.
© Ivan L. M. Ricarte
DCA/FEEC/UNICAMP