A plataforma Aglet define três tipos de eventos que permitem dar tratamento às situações relevantes no ciclo de vida de um aglet:
O seguinte quadro resume as condições de geração de eventos e os métodos da interface Listener correspondente à cada condição que pode ser tratada:
When | Event Object | Listener | Method called |
---|---|---|---|
Just before cloning | CloneEvent | CloneListener | onCloning |
When clone is created | CloneEvent | CloneListener | onClone |
After creation of clone | CloneEvent | CloneListener | onCloned |
Just before dispatch | MobilityEvent | MobilityListener | onDispatching |
Just before retraction | MobilityEvent | MobilityListener | onReverting |
After arrival at the destination | MobilityEvent | MobilityListener |
onArrival |
Just before deactivation | PersistencyEvent | PersistencyListener | onDeactivating |
After activation | PersistencyEvent | PersistencyListener | onActivation |
O fragmento de código a seguir ilustra uma implementação da interface MobilityListener e seu registro em uma classe aglet:
import com.ibm.aglet.Aglet; import com.ibm.aglet.event.MobilityEvent; import com.ibm.aglet.event.MobilityListener; class MyListener implements MobilityListener { public void onDispatching(MobilityEvent l) { closeWindow(); closeFile(); } public void onReverting(MobilityEvent l) { openWindow(); doNextJob(); } public void onArrival(MobilityEvent l) { } } public class MyAglet extends Aglet { public void onCreation(Object init) { MobilityListener listener = new MyListener(); addMobilityListener(listener); } }
© Ivan L. M. Ricarte
DCA/FEEC/UNICAMP