/** * 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); } }