edu.indiana.iucbrf.ccbr.conversationblock.selector.flowchart
Class FlowChartNode

java.lang.Object
  extended by edu.indiana.iucbrf.ccbr.conversationblock.selector.flowchart.FlowChartNode
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
InstructionFlowChartNode, QuestionFlowChartNode

public abstract class FlowChartNode
extends java.lang.Object
implements java.io.Serializable

A FlowChartNode is a single node in a flow chart. It may be a question or an instruction, for example.

See Also:
Serialized Form

Field Summary
protected  boolean isLeaf
           
 
Constructor Summary
protected FlowChartNode()
           
 
Method Summary
abstract  void assignChild(int nextNodeIndex, FlowChartNode newNode)
          Give this node a child.
abstract  ConversationBlock getConversationBlockObject(CCBRDomain domain)
          Get the ConversationBlock object corresponding to this node.
abstract  FeatureKey getFeatureQuestioned()
          Get the key of the feature questioned by this node.
protected abstract  FlowChartNode getImmediateNextNode(Feature answer)
           
 boolean isLeaf()
           
abstract  java.util.Iterator nextNodesIterator()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

isLeaf

protected boolean isLeaf
Constructor Detail

FlowChartNode

protected FlowChartNode()
Method Detail

isLeaf

public boolean isLeaf()

getImmediateNextNode

protected abstract FlowChartNode getImmediateNextNode(Feature answer)

nextNodesIterator

public abstract java.util.Iterator nextNodesIterator()

getFeatureQuestioned

public abstract FeatureKey getFeatureQuestioned()
Get the key of the feature questioned by this node. May be null, for an InstructionFlowChartNode, for example.


getConversationBlockObject

public abstract ConversationBlock getConversationBlockObject(CCBRDomain domain)
Get the ConversationBlock object corresponding to this node.


assignChild

public abstract void assignChild(int nextNodeIndex,
                                 FlowChartNode newNode)
Give this node a child. The nextNodeIndex corresponds to the answer's position in the FSMFeature.