jade.core.behaviours
Class SerialBehaviour

java.lang.Object
  extended by jade.core.behaviours.Behaviour
      extended by jade.core.behaviours.CompositeBehaviour
          extended by jade.core.behaviours.SerialBehaviour
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
FSMBehaviour, SequentialBehaviour

public abstract class SerialBehaviour
extends CompositeBehaviour

Base class for all composite behaviour whose children run serially, i.e. the composite behaviour is blocked if and only if its current child is blocked.

Author:
Giovanni Caire - Telecom Italia Lab
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class jade.core.behaviours.Behaviour
Behaviour.RunnableChangedEvent
 
Field Summary
 
Fields inherited from class jade.core.behaviours.CompositeBehaviour
currentExecuted
 
Fields inherited from class jade.core.behaviours.Behaviour
myAgent, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING
 
Constructor Summary
protected SerialBehaviour()
          Create a new SerialBehaviour object, without setting the owner agent.
protected SerialBehaviour(Agent a)
          Create a new SerialBehaviour object and set the owner agent.
 
Method Summary
protected  void handle(Behaviour.RunnableChangedEvent rce)
          Handle block/restart notifications.
 
Methods inherited from class jade.core.behaviours.CompositeBehaviour
action, checkTermination, done, getChildren, getCurrent, handleBlockEvent, handleRestartEvent, registerAsChild, reset, resetChildren, scheduleFirst, scheduleNext, setAgent
 
Methods inherited from class jade.core.behaviours.Behaviour
actionWrapper, block, block, getBehaviourName, getDataStore, getExecutionState, getParent, getRestartCounter, isRunnable, onEnd, onStart, restart, root, setBehaviourName, setDataStore, setExecutionState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerialBehaviour

protected SerialBehaviour()
Create a new SerialBehaviour object, without setting the owner agent.


SerialBehaviour

protected SerialBehaviour(Agent a)
Create a new SerialBehaviour object and set the owner agent.

Parameters:
a - The agent owning this behaviour.
Method Detail

handle

protected void handle(Behaviour.RunnableChangedEvent rce)
Handle block/restart notifications. A SerialBehaviour is blocked only when its currently active child is blocked, and becomes ready again when its current child is ready. This method takes care of the various possibilities.

Overrides:
handle in class Behaviour
Parameters:
rce - The event to handle.