[java]
/**
* Section 5.2.4 page 97
*
* This class shows how to use a SequentialBehaviour that exploits the DataStore to share
* data among its subbehaviour.
**/
import jade.core.Agent;
import jade.core.behaviours.*;
import jade.lang.acl.ACLMessage;
public class SequentialBehaviourAgent extends Agent {
public void setup() {
SequentialBehaviour sb = new SequentialBehaviour(this);
Behaviour b = new MessageReceiver();
b.setDataStore(sb.getDataStore());
sb.addSubBehaviour(b);
b = new OneShotBehaviour(this) {
public void action() {
ACLMessage receivedMsg = (ACLMessage)getDataStore().get(MessageReceiver.RECV_MSG);
// Process receivedMsg
System.out.println(receivedMsg);
}
};
b.setDataStore(sb.getDataStore());
sb.addSubBehaviour(b);
addBehaviour(sb);
}
}
[/java]