ABLE 2.0.0 07/02/2003 10:25:01

com.ibm.conversation
Interface DecisionLogicAdapter

All Known Implementing Classes:
AbleRemoteUdfDecisionLogicAdapter

public interface DecisionLogicAdapter

The DecisionLogicAdapter interface represents the connection between the conversation management system and the decision-making logic.

DecisionLogicAdapters are the point of contact of the ConversationManager and the Conversations, on the one hand, with whatever it is that makes decisions, on the other.

Each DecisionLogicAdapter method has, as its first parameter, the Conversation that invoked the method. Therefore a single DecisionLogicAdapter may be used for a single Conversation, or may be shared across multiple Conversations.


Method Summary
 void decisionPoint(Conversation conv, DecisionDataHandle ddh)
          Informs the decision logic that the conversation has reached a decision point (it has entered a decision state).
 void inboundData(Conversation conv, DecisionDataHandle ddh)
          Informs the decision logic that the other agent has made a decision, but that the conversation is not at a decision point.
 void timeout(Conversation conv, java.lang.String newStateName)
          Informs the decision logic that a timeout has occurred, but that the conversation is not in a decision state.
 void unexpectedMessage(Conversation conv, MessageHandle mh)
          Informs the decision logic that an unexpected message has been received.
 

Method Detail

decisionPoint

public void decisionPoint(Conversation conv,
                          DecisionDataHandle ddh)
Informs the decision logic that the conversation has reached a decision point (it has entered a decision state).

The decision point may have been reached via any type of transition: a message received from the other agent, or a timeout, or a child-return from a child conversation policy.

The decision data's name is equal to the decision state's name. Its parameters are the decision data parameters parsed from the inbound message that triggered this decision request (if the trigger was a message, and if there were parameters). Note that the decision data's name is not the transition's name, but the name of the transition's target.

Parameters:
conv - The Conversation that generated the decision request, and that should process the decision, once it is made.
ddh - The decision-point data.

inboundData

public void inboundData(Conversation conv,
                        DecisionDataHandle ddh)
Informs the decision logic that the other agent has made a decision, but that the conversation is not at a decision point.

The decision data's name is equal to the current state name of the currently active conversation policy. Its parameters are the decision data parameters parsed from the inbound message (if there was a message, and if there were parameters). Note that the decision data's name is not the transition's name, but the name of the transition's target.

Parameters:
conv - The Conversation that generated the decision information.
ddh - The decision information.

timeout

public void timeout(Conversation conv,
                    java.lang.String newStateName)
Informs the decision logic that a timeout has occurred, but that the conversation is not in a decision state.

Parameters:
conv - The Conversation that generated the timeout.
newStateName - The state entered as a result of the timeout.

unexpectedMessage

public void unexpectedMessage(Conversation conv,
                              MessageHandle mh)
Informs the decision logic that an unexpected message has been received.

An unexpected message is one which violated the active conversation policy: i.e., a message for which no matching transition was found.

Parameters:
conv - The Conversation with which the message is associated.
mh - The message.

ABLE 2.0.0 07/02/2003 10:25:01

(C) Copyright IBM Corporation 1999, 2003