ix.ip2
Class QueryHandler

java.lang.Object
  extended by ix.ip2.ItemHandler
      extended by ix.ip2.ActivityHandler
          extended by ix.ip2.QueryHandler

public class QueryHandler
extends ActivityHandler

Generates HandlerActions that send queries.


Nested Class Summary
static class QueryHandler.AnswerHandler
          Generates HandlerActions that send answers to queries.
(package private) static class QueryHandler.AnswerListener
          A listener that waits for a new report that contains an answer to the query.
(package private) static class QueryHandler.QueryAction
          Sends a query to a specified agent.
 
Field Summary
(package private) static java.lang.Object ANSWER_KEY
           
(package private) static java.lang.Object QUERY_BY_KEY
           
(package private) static java.lang.Object QUERY_REF_KEY
           
(package private) static Symbol S_ANSWER
           
(package private) static Symbol S_QUERY
           
 
Fields inherited from class ix.ip2.ItemHandler
actionDescription
 
Constructor Summary
QueryHandler()
           
 
Method Summary
 void addHandlerActions(AgendaItem item)
          Called to add any HandlerActions that this handler regards as appropriate for the specified AgendaItem.
 boolean appliesTo(AgendaItem item)
          Gives this handler a say in whether it should add actions to an item.
 java.util.List getSyntaxList()
          Returns a list of patterns representing the item pattern syntaxes this handler can process, or null if no particular syntax is required.
 
Methods inherited from class ix.ip2.ActivityHandler
toString
 
Methods inherited from class ix.ip2.ItemHandler
getActionDescription, handle, isAutomatic, makeHandler, reviseHandlerActions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

S_QUERY

static final Symbol S_QUERY

S_ANSWER

static final Symbol S_ANSWER

QUERY_BY_KEY

static final java.lang.Object QUERY_BY_KEY

QUERY_REF_KEY

static final java.lang.Object QUERY_REF_KEY

ANSWER_KEY

static final java.lang.Object ANSWER_KEY
Constructor Detail

QueryHandler

public QueryHandler()
Method Detail

getSyntaxList

public java.util.List getSyntaxList()
Description copied from class: ItemHandler
Returns a list of patterns representing the item pattern syntaxes this handler can process, or null if no particular syntax is required. Note that this information is not automatically used when determining whether this handler should add actions to an agenda item. Instead, this handler's contribution to that decision is supplied by the ItemHandler.appliesTo(AgendaItem) method.

Overrides:
getSyntaxList in class ItemHandler
See Also:
AgendaItem.getPattern()

appliesTo

public boolean appliesTo(AgendaItem item)
Description copied from class: ItemHandler
Gives this handler a say in whether it should add actions to an item. If this method returns false for an AgendaItem, or the item's wantsActionsFrom method returns false for this handler, this handler will not be asked to add actions to that item.

Overrides:
appliesTo in class ItemHandler
See Also:
AgendaItem.wantsActionsFrom(ItemHandler handler)

addHandlerActions

public void addHandlerActions(AgendaItem item)
Description copied from class: ItemHandler
Called to add any HandlerActions that this handler regards as appropriate for the specified AgendaItem.

This method is called only if both this handler's ItemHandler.appliesTo(AgendaItem) and the specified item's AgendaItem.wantsActionsFrom(ItemHandler) methods return true.

The method provided by the ItemHandler class just adds an action that calls this handler's ItemHandler.handle(AgendaItem) method. This allows suitably simple handlers to avoid working directly with HandlerActions.

Note that actions are added by calling an item's AgendaItem.addAction(HandlerAction) method.

Overrides:
addHandlerActions in class ItemHandler