edu.indiana.iucbrf.ccbr.conversationblock.selector
Class AbstractConversationBlockSelector

java.lang.Object
  extended by edu.indiana.iucbrf.ccbr.conversationblock.selector.AbstractConversationBlockSelector
All Implemented Interfaces:
ConversationBlockSelector, SwingRepresentableWithDomain, SwingRepresentable, java.io.Serializable
Direct Known Subclasses:
EnsembleConversationBlockSelector, FrequencyConversationBlockSelector, ImportanceMeasureConversationBlockSelector, OrderedConversationBlockSelector, RandomConversationBlockSelector

public abstract class AbstractConversationBlockSelector
extends java.lang.Object
implements ConversationBlockSelector

Provides basic abstract implementations of ConversationBlockSelector.

See Also:
Serialized Form

Field Summary
protected  ProblemDifferentiator differentiator
           
 
Fields inherited from interface edu.indiana.util.swing.SwingRepresentable
TITLE_FONT
 
Constructor Summary
AbstractConversationBlockSelector(ProblemDifferentiator differentiator)
          Creates a new instance of AbstractConversationBlockSelector
 
Method Summary
 ConversationBlock getNextBlock(Problem problemSoFar, RetrievalResults casesUnderConsideration, CCBRDomain domain)
          The conversation block returned should not be a question to which problemSoFar already has an answer.
 FeatureKey getNextFeatureKey(Problem problemSoFar, RetrievalResults casesUnderConsideration, CCBRDomain domain)
           
protected abstract  FeatureKey getNextFeatureKeyImpl(Problem problemSoFar, RetrievalResults casesUnderConsideration, CCBRDomain domain)
           
 void initConversation(Problem initialProblem)
          Reset the state of the conversation block selector and prepare for a new conversation on the given problem.
protected abstract  void initConversationImpl(Problem initialProblem)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.indiana.iucbrf.ccbr.conversationblock.selector.ConversationBlockSelector
reset
 
Methods inherited from interface edu.indiana.iucbrf.util.SwingRepresentableWithDomain
toSwing
 
Methods inherited from interface edu.indiana.util.swing.SwingRepresentable
toSwing
 

Field Detail

differentiator

protected ProblemDifferentiator differentiator
Constructor Detail

AbstractConversationBlockSelector

public AbstractConversationBlockSelector(ProblemDifferentiator differentiator)
Creates a new instance of AbstractConversationBlockSelector

Method Detail

getNextBlock

public ConversationBlock getNextBlock(Problem problemSoFar,
                                      RetrievalResults casesUnderConsideration,
                                      CCBRDomain domain)
The conversation block returned should not be a question to which problemSoFar already has an answer. Returns null if there are no more conversation blocks to ask

Specified by:
getNextBlock in interface ConversationBlockSelector

getNextFeatureKey

public FeatureKey getNextFeatureKey(Problem problemSoFar,
                                    RetrievalResults casesUnderConsideration,
                                    CCBRDomain domain)
Specified by:
getNextFeatureKey in interface ConversationBlockSelector

getNextFeatureKeyImpl

protected abstract FeatureKey getNextFeatureKeyImpl(Problem problemSoFar,
                                                    RetrievalResults casesUnderConsideration,
                                                    CCBRDomain domain)

initConversation

public void initConversation(Problem initialProblem)
Description copied from interface: ConversationBlockSelector
Reset the state of the conversation block selector and prepare for a new conversation on the given problem. For some conversation block selectors, this may be a dummy operation.

Specified by:
initConversation in interface ConversationBlockSelector

initConversationImpl

protected abstract void initConversationImpl(Problem initialProblem)