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 AchieveREResponder
java.lang.Object
  sajas.core.behaviours.Behaviour
      sajas.core.behaviours.CompositeBehaviour
          sajas.core.behaviours.SerialBehaviour
              sajas.core.behaviours.FSMBehaviour
                  sajas.proto.AchieveREResponder
All Implemented Interfaces:
jade.domain.FIPANames.InteractionProtocol, jade.util.leap.Serializable, Serializable

public class AchieveREResponder
extends FSMBehaviour
implements jade.domain.FIPANames.InteractionProtocol
Note: this class has been re-implemented to redirect the use of the agent and behaviour classes to SAJaS versions.
Author:
hlc
See Also:
jade.proto.AchieveREResponder

Nested classes/interfaces inherited from class sajas.core.behaviours.Behaviour
Behaviour.RunnableChangedEvent
Field Summary
String
REQUEST_KEY
          key to retrieve from the DataStore of the behaviour the ACLMessage object sent by the initiator.
String
RESPONSE_KEY
          key to retrieve from the DataStore of the behaviour the ACLMessage object sent as a response to the initiator.
String
RESULT_NOTIFICATION_KEY
          key to retrieve from the DataStore of the behaviour the ACLMessage object sent as a result notification to the initiator.
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
Fields inherited from interface jade.domain.FIPANames.InteractionProtocol
FIPA_BROKERING, FIPA_CONTRACT_NET, FIPA_DUTCH_AUCTION, FIPA_ENGLISH_AUCTION, FIPA_ITERATED_CONTRACT_NET, FIPA_PROPOSE, FIPA_QUERY, FIPA_RECRUITING, FIPA_REQUEST, FIPA_REQUEST_WHEN, FIPA_SUBSCRIBE, ITERATED_FIPA_REQUEST
Constructor Summary
AchieveREResponder(Agent a, jade.lang.acl.MessageTemplate mt)
          Constructor of the behaviour that creates a new empty DataStore
AchieveREResponder(Agent a, jade.lang.acl.MessageTemplate mt, DataStore store)
          Constructor.
Method Summary
static jade.lang.acl.MessageTemplate
createMessageTemplate(String iprotocol)
          This static method can be used to set the proper message Template (based on the interaction protocol and the performative) into the constructor of this behaviour.
protected jade.lang.acl.ACLMessage
handleRequest(jade.lang.acl.ACLMessage request)
          This method is called when the protocol initiation message (matching the MessageTemplate specified in the constructor) is received.
protected jade.lang.acl.ACLMessage
prepareResponse(jade.lang.acl.ACLMessage request)
          Deprecated. Use handleRequest() instead
protected jade.lang.acl.ACLMessage
prepareResultNotification(jade.lang.acl.ACLMessage request, jade.lang.acl.ACLMessage response)
          This method is called after the execution of the handleRequest() method if no response was sent or the response was an AGREE message.
void
registerHandleRequest(Behaviour b)
          This method allows to register a user defined Behaviour in the HANDLE_REQUEST state.
void
registerPrepareResponse(Behaviour b)
          Deprecated. Use registerHandleRequest() instead.
void
registerPrepareResultNotification(Behaviour b)
          This method allows to register a user defined Behaviour in the PREPARE_RESULT_NOTIFICATION state.
void
reset()
          Reset this behaviour using the same MessageTemplate.
void
reset(jade.lang.acl.MessageTemplate mt)
          This method allows to change the MessageTemplate that defines what messages this FIPARequestResponder will react to and reset the protocol.
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, onStart, 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
REQUEST_KEY
public final String REQUEST_KEY
key to retrieve from the DataStore of the behaviour the ACLMessage object sent by the initiator.

RESPONSE_KEY
public final String RESPONSE_KEY
key to retrieve from the DataStore of the behaviour the ACLMessage object sent as a response to the initiator.

RESULT_NOTIFICATION_KEY
public final String RESULT_NOTIFICATION_KEY
key to retrieve from the DataStore of the behaviour the ACLMessage object sent as a result notification to the initiator.
Constructor Detail
AchieveREResponder
public AchieveREResponder(Agent a,
                          jade.lang.acl.MessageTemplate mt)
Constructor of the behaviour that creates a new empty DataStore
See Also:
AchieveREResponder(Agent a, MessageTemplate mt, DataStore store)

AchieveREResponder
public AchieveREResponder(Agent a,
                          jade.lang.acl.MessageTemplate mt,
                          DataStore store)
Constructor.
Parameters:
a - is the reference to the Agent object
mt - is the MessageTemplate that must be used to match the initiator message. Take care that if mt is null every message is consumed by this protocol.
store - the DataStore for this protocol
Method Detail
createMessageTemplate
public static jade.lang.acl.MessageTemplate createMessageTemplate(String iprotocol)
This static method can be used to set the proper message Template (based on the interaction protocol and the performative) into the constructor of this behaviour.
See Also:
FIPANames.InteractionProtocol

reset
public void reset()
Reset this behaviour using the same MessageTemplate.
Overrides:
reset in class FSMBehaviour

reset
public void reset(jade.lang.acl.MessageTemplate mt)
This method allows to change the MessageTemplate that defines what messages this FIPARequestResponder will react to and reset the protocol.

handleRequest
protected jade.lang.acl.ACLMessage handleRequest(jade.lang.acl.ACLMessage request)
                                          throws jade.domain.FIPAAgentManagement.NotUnderstoodException,
                                                 jade.domain.FIPAAgentManagement.RefuseException
This method is called when the protocol initiation message (matching the MessageTemplate specified in the constructor) is received. This default implementation returns null which has the effect of sending no reponse. Programmers should override this method in case they need to react to this event.
Parameters:
request - the received message
Returns:
the ACLMessage to be sent as a response (i.e. one of AGREE, REFUSE, NOT_UNDERSTOOD, INFORM.
Throws:
jade.domain.FIPAAgentManagement.NotUnderstoodException
jade.domain.FIPAAgentManagement.RefuseException

prepareResponse
protected jade.lang.acl.ACLMessage prepareResponse(jade.lang.acl.ACLMessage request)
                                            throws jade.domain.FIPAAgentManagement.NotUnderstoodException,
                                                   jade.domain.FIPAAgentManagement.RefuseException
Deprecated. Use handleRequest() instead
Throws:
jade.domain.FIPAAgentManagement.NotUnderstoodException
jade.domain.FIPAAgentManagement.RefuseException

prepareResultNotification
protected jade.lang.acl.ACLMessage prepareResultNotification(jade.lang.acl.ACLMessage request,
                                                             jade.lang.acl.ACLMessage response)
                                                      throws jade.domain.FIPAAgentManagement.FailureException
This method is called after the execution of the handleRequest() method if no response was sent or the response was an AGREE message. This default implementation returns null which has the effect of sending no result notification. Programmers should override the method in case they need to react to this event.
Parameters:
request - the received message
response - the previously sent response message
Returns:
the ACLMessage to be sent as a result notification (i.e. one of INFORM, FAILURE.
Throws:
jade.domain.FIPAAgentManagement.FailureException
See Also:
handleRequest(ACLMessage)

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 set the DataStore of the registered Behaviour to the DataStore of this AchieveREResponder. It is responsibility of the registered behaviour to put the response to be sent into the DataStore at the RESPONSE_KEY key.
Parameters:
b - the Behaviour that will handle this state

registerPrepareResponse
public void registerPrepareResponse(Behaviour b)
Deprecated. Use registerHandleRequest() instead.

registerPrepareResultNotification
public void registerPrepareResultNotification(Behaviour b)
This method allows to register a user defined Behaviour in the PREPARE_RESULT_NOTIFICATION state. This behaviour would override the homonymous method. This method also set the DataStore of the registered Behaviour to the DataStore of this AchieveREResponder. It is responsibility of the registered behaviour to put the result notification message to be sent into the DataStore at the RESULT_NOTIFICATION_KEY key.
Parameters:
b - the Behaviour that will handle this state

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