Overview  Package   Class  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

sajas.proto
Class SSIteratedAchieveREResponder
java.lang.Object
  sajas.core.behaviours.Behaviour
      sajas.core.behaviours.CompositeBehaviour
          sajas.core.behaviours.SerialBehaviour
              sajas.core.behaviours.FSMBehaviour
                  sajas.proto.SSIteratedAchieveREResponder
All Implemented Interfaces:
jade.util.leap.Serializable, Serializable

public class SSIteratedAchieveREResponder
extends FSMBehaviour
Note: this class has been re-implemented to redirect the use of the agent, behaviour and protocol classes to SAJaS versions.
Author:
hlc
See Also:
jade.proto.SSIteratedAchieveREResponder

Nested classes/interfaces inherited from class sajas.core.behaviours.Behaviour
Behaviour.RunnableChangedEvent
Field Summary
String
CANCEL_KEY
          Key to retrieve from the DataStore of the behaviour the last received CANCEL ACLMessage
protected static String
CHECK_IN_SEQ
protected static String
DUMMY_FINAL
static String
HANDLE_CANCEL
protected static String
HANDLE_OUT_OF_SEQUENCE
static String
HANDLE_REQUEST
String
INITIATION_KEY
          Key to retrieve from the DataStore of the behaviour the initiation ACLMessage that triggered this responder session
protected static String
RECEIVE_NEXT
String
RECEIVED_KEY
          Key to retrieve from the DataStore of the behaviour the last received ACLMessage
String
REPLY_KEY
          Key to set into the DataStore of the behaviour the new ACLMessage to be sent back to the initiator as a reply.
String
REQUEST_KEY
          Key to retrieve from the DataStore of the behaviour the last received REQUEST ACLMessage
protected static String
SEND_REPLY
Fields inherited from class sajas.core.behaviours.FSMBehaviour
currentName, lastStates
Fields inherited from class sajas.core.behaviours.CompositeBehaviour
currentExecuted
Fields inherited from class sajas.core.behaviours.Behaviour
myAgent, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING
Constructor Summary
SSIteratedAchieveREResponder(Agent a, jade.lang.acl.ACLMessage request)
          Construct a SSIteratedAchieveREResponder that is activated by the reception of a given initiation REQUEST message.
SSIteratedAchieveREResponder(Agent a, jade.lang.acl.ACLMessage request, DataStore store)
          Construct a SSIteratedAchieveREResponder that is activated by the reception of a given initiation REQUEST message and uses a given DataStore.
Method Summary
protected void
afterReply(jade.lang.acl.ACLMessage reply)
          This method can be redefined by protocol specific implementations to update the status of the protocol just after a reply has been sent.
protected void
beforeReply(jade.lang.acl.ACLMessage reply)
          This method can be redefined by protocol specific implementations to customize a reply that is going to be sent back to the initiator.
protected boolean
checkInSequence(jade.lang.acl.ACLMessage received)
          Check whether a received message complies with the protocol rules.
void
closeSessionOnNextReply()
          Close the ongoing session, as soon as the next INFORM will be sent back to the initiator without the need for an explicit CANCEL message.
protected void
handleCancel(jade.lang.acl.ACLMessage cancel)
          This method is called when a CANCEL message is received from the initiator.
protected void
handleOutOfSequence(jade.lang.acl.ACLMessage msg)
          This method is called whenever a message is received that does not comply to the protocol rules.
protected jade.lang.acl.ACLMessage
handleRequest(jade.lang.acl.ACLMessage request)
          This method is called to handle the initial REQUEST message and then again whenever a REQUEST message is received.
void
onStart()
          This method is just an empty placeholders for subclasses.
protected void
registerDSState(Behaviour b, String name)
          Utility method to register a behaviour in a state of the protocol and set the DataStore appropriately
void
registerHandleCancel(Behaviour b)
          This method allows to register a user defined Behaviour in the HANDLE_CANCEL state.
void
registerHandleOutOfSequence(Behaviour b)
          This method allows to register a user defined Behaviour in the HANDLE_OUT_OF_SEQ state.
void
registerHandleRequest(Behaviour b)
          This method allows to register a user defined Behaviour in the HANDLE_REQUEST state.
protected void
reinit()
          Re-initialize the internal state without performing a complete reset.
void
reset()
          Reset this protocol behaviour
void
sendAgree(jade.lang.acl.ACLMessage agree)
          Utility method to send an optional AGREE message back to the initiator ensuring that all protocol fields are properly set.
protected void
sessionTerminated()
          This method can be redefined by protocol specific implementations to take proper actions after the completion of the current protocol session.
Methods inherited from class sajas.core.behaviours.FSMBehaviour
checkTermination, deregisterDefaultTransition, deregisterState, deregisterTransition, forceTransitionTo, getChildren, getCurrent, getLastExitValue, getName, getPrevious, getState, handleInconsistentFSM, handleStateEntered, hasDefaultTransition, onEnd, registerDefaultTransition, registerDefaultTransition, registerFirstState, registerLastState, registerState, registerTransition, registerTransition, resetStates, scheduleFirst, scheduleNext, stringifyTransitionTable
Methods inherited from class sajas.core.behaviours.SerialBehaviour
handle
Methods inherited from class sajas.core.behaviours.CompositeBehaviour
action, done, handleBlockEvent, handleRestartEvent, registerAsChild, resetChildren, setAgent
Methods inherited from class sajas.core.behaviours.Behaviour
actionWrapper, block, block, getAgent, getBehaviourName, getDataStore, getExecutionState, getParent, getRestartCounter, isRunnable, restart, root, setBehaviourName, setDataStore, setExecutionState
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
CANCEL_KEY
public final String CANCEL_KEY
Key to retrieve from the DataStore of the behaviour the last received CANCEL ACLMessage

CHECK_IN_SEQ
protected static final String CHECK_IN_SEQ
See Also:
Constant Field Values

DUMMY_FINAL
protected static final String DUMMY_FINAL
See Also:
Constant Field Values

HANDLE_CANCEL
public static final String HANDLE_CANCEL
See Also:
Constant Field Values

HANDLE_OUT_OF_SEQUENCE
protected static final String HANDLE_OUT_OF_SEQUENCE
See Also:
Constant Field Values

HANDLE_REQUEST
public static final String HANDLE_REQUEST
See Also:
Constant Field Values

INITIATION_KEY
public final String INITIATION_KEY
Key to retrieve from the DataStore of the behaviour the initiation ACLMessage that triggered this responder session

RECEIVE_NEXT
protected static final String RECEIVE_NEXT
See Also:
Constant Field Values

RECEIVED_KEY
public final String RECEIVED_KEY
Key to retrieve from the DataStore of the behaviour the last received ACLMessage

REPLY_KEY
public final String REPLY_KEY
Key to set into the DataStore of the behaviour the new ACLMessage to be sent back to the initiator as a reply.

REQUEST_KEY
public final String REQUEST_KEY
Key to retrieve from the DataStore of the behaviour the last received REQUEST ACLMessage

SEND_REPLY
protected static final String SEND_REPLY
See Also:
Constant Field Values
Constructor Detail
SSIteratedAchieveREResponder
public SSIteratedAchieveREResponder(Agent a,
                                    jade.lang.acl.ACLMessage request)
Construct a SSIteratedAchieveREResponder that is activated by the reception of a given initiation REQUEST message.

SSIteratedAchieveREResponder
public SSIteratedAchieveREResponder(Agent a,
                                    jade.lang.acl.ACLMessage request,
                                    DataStore store)
Construct a SSIteratedAchieveREResponder that is activated by the reception of a given initiation REQUEST message and uses a given DataStore.
Method Detail
handleRequest
protected jade.lang.acl.ACLMessage handleRequest(jade.lang.acl.ACLMessage request)
                                          throws jade.domain.FIPAAgentManagement.RefuseException,
                                                 jade.domain.FIPAAgentManagement.FailureException,
                                                 jade.domain.FIPAAgentManagement.NotUnderstoodException
This method is called to handle the initial REQUEST message and then again whenever a REQUEST message is received. This default implementation does nothing and returns null. Programmers have to override it to react to this event.
Parameters:
request - the REQUEST message to handle.
Returns:
the reply message to be sent back to the initiator. Returning a message defferent from INFORM (or returning null) terminates the protocol. An optional AGREE message can be sent back to the initiator by calling the sendAgree() method.
Throws:
jade.domain.FIPAAgentManagement.RefuseException - if the REQUEST is refused. Throwing a RefuseException has the same effect as returning a REFUSE message, but automatically manages the :content slot.
jade.domain.FIPAAgentManagement.FailureException - if there is an error serving the REQUEST. Throwing a FailureException has the same effect as returning a FAILURE message, but automatically manages the :content slot.
jade.domain.FIPAAgentManagement.NotUnderstoodException - if the REQUEST content is not undrerstood. Throwing a NotUnderstoodException has the same effect as returning a NOT_UNDERSTOOD message, but automatically manages the :content slot.

handleCancel
protected void handleCancel(jade.lang.acl.ACLMessage cancel)
This method is called when a CANCEL message is received from the initiator. This default implementation does nothing. Programmers may override it to react to this event.
Parameters:
cancel - the received CANCEL message or null if no further REQUEST message is received from the initiator within the timeout specified in the :reply-by slot of the last INFORM message.

registerHandleRequest
public void registerHandleRequest(Behaviour b)
This method allows to register a user defined Behaviour in the HANDLE_REQUEST state. This behaviour would override the homonymous method. This method also sets the data store of the registered Behaviour to the DataStore of this current behaviour.
The registered behaviour can retrieve the received REQUEST message from the datastore at the REQUEST_KEY key.
It is responsibility of the registered behaviour to put the reply to be sent back to the initiator into the datastore at the REPLY_KEY key. Putting a message defferent from INFORM (or null) terminates the protocol. An optional AGREE message can be sent back to the initiator by calling the sendAgree() method.
Parameters:
b - the Behaviour that will handle this state

registerHandleCancel
public void registerHandleCancel(Behaviour b)
This method allows to register a user defined Behaviour in the HANDLE_CANCEL state. This behaviour would override the homonymous method. This method also sets the data store of the registered Behaviour to the DataStore of this current behaviour.
The registered behaviour can retrieve the CANCEL message received from the datastore at the CANCEL_KEY key.
Parameters:
b - the Behaviour that will handle this state

sendAgree
public void sendAgree(jade.lang.acl.ACLMessage agree)
Utility method to send an optional AGREE message back to the initiator ensuring that all protocol fields are properly set.

closeSessionOnNextReply
public void closeSessionOnNextReply()
Close the ongoing session, as soon as the next INFORM will be sent back to the initiator without the need for an explicit CANCEL message. The initiator will be able to detect that the session has been closed by calling the isSessionTerminated() method of the SSIteratedAchieveREInitiator class.

reset
public void reset()
Reset this protocol behaviour

checkInSequence
protected boolean checkInSequence(jade.lang.acl.ACLMessage received)
Check whether a received message complies with the protocol rules.

beforeReply
protected void beforeReply(jade.lang.acl.ACLMessage reply)
This method can be redefined by protocol specific implementations to customize a reply that is going to be sent back to the initiator. This default implementation does nothing.

onStart
public void onStart()
Description copied from class: Behaviour
This method is just an empty placeholders for subclasses. It is executed just once before starting behaviour execution. Therefore, it acts as a prolog to the task represented by this Behaviour.
Overrides:
onStart in class Behaviour

handleOutOfSequence
protected void handleOutOfSequence(jade.lang.acl.ACLMessage msg)
This method is called whenever a message is received that does not comply to the protocol rules. This default implementation does nothing. Programmers may override it in case they need to react to this event.
Parameters:
msg - the received out-of-sequence message.

registerHandleOutOfSequence
public void registerHandleOutOfSequence(Behaviour b)
This method allows to register a user defined Behaviour in the HANDLE_OUT_OF_SEQ state. This behaviour would override the homonymous method. This method also sets the data store of the registered Behaviour to the DataStore of this current behaviour. The registered behaviour can retrieve the out of sequence ACLMessage object received from the datastore at the RECEIVED_KEY key.
Parameters:
b - the Behaviour that will handle this state

reinit
protected void reinit()
Re-initialize the internal state without performing a complete reset.

afterReply
protected void afterReply(jade.lang.acl.ACLMessage reply)
This method can be redefined by protocol specific implementations to update the status of the protocol just after a reply has been sent. This default implementation does nothing.

sessionTerminated
protected void sessionTerminated()
This method can be redefined by protocol specific implementations to take proper actions after the completion of the current protocol session.

registerDSState
protected void registerDSState(Behaviour b,
                               String name)
Utility method to register a behaviour in a state of the protocol and set the DataStore appropriately

Overview  Package   Class  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Java API documentation generated with DocFlex/Doclet 1.6.1 using JavadocPro template set.
DocFlex/Doclet is both a multi-format Javadoc doclet and a free edition of DocFlex/Javadoc, which is a template-driven programming tool for rapid development of any Javadoc-based Java API documentation generators (i.e. doclets). If you need to customize your Javadoc without writing a full-blown doclet from scratch, DocFlex/Javadoc may be the only tool able to help you! Find out more at www.docflex.com