Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ix.ip2
Class ForwardingHandler

    java.lang.Object
      ix.ip2.ItemHandler
          ix.ip2.ForwardingHandler

All Implemented Interfaces:
  ContactListener, java.util.EventListener

Direct Known Subclasses:
  InvokeHandler

    public class ForwardingHandler

extends ItemHandler
implements ContactListener

Generates HandlerActions to forward Issues or Activities to other agents.

Nested Class Summary
`(package private) class` | `ForwardingHandler.ForwardingAction` Forwards an issue or activity to another agent.

Field Summary
`protected java.lang.String` | `action`
`protected IXAgent` | `agent`
`protected boolean` | `capabilityDefault`
`protected ContactManager` | `contactManager`
`protected AgentRelationship` | `rel`
`protected boolean` | `reportBack`

Fields inherited from class ix.ip2.ItemHandler
`actionDescription`

Constructor Summary
`ForwardingHandler(IXAgent agent, java.lang.String action, AgentRelationship rel, boolean reportBack)`

Method Summary
`void` | `addHandlerActions(AgendaItem item)` Called to add any `HandlerAction`s that this handler regards as appropriate for the specified AgendaItem.
`void` | `contactChange(ContactEvent e)`
`java.util.List` | `getToAgents(AgendaItem item)`
`protected java.util.List` | `getToNames(AgendaItem item)`
`void` | `handle(AgendaItem item)` Called to perform the action implemented by this handler, if the selected HandlerAction so desires.
`ForwardingHandler.ForwardingAction` | `makeForwardingAction(java.lang.String toName, AgendaItem about)`
`void` | `reviseHandlerActions(AgendaItem item, java.lang.Object reason)` Called after something has happened that may require new HandlerActions to be added to an item.
`java.lang.String` | `toString()` Returns a textual representation of this handler.

Methods inherited from class ix.ip2.ItemHandler
`appliesTo, getActionDescription, getSyntaxList, isAutomatic, makeHandler`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### agent

    protected IXAgent agent

### action

    protected java.lang.String action

### rel

    protected AgentRelationship rel

### reportBack

    protected boolean reportBack

### capabilityDefault

    protected boolean capabilityDefault

### contactManager

    protected ContactManager contactManager

Constructor Detail

### ForwardingHandler

    public ForwardingHandler(IXAgent agent,
                             java.lang.String action,
                             AgentRelationship rel,
                             boolean reportBack)

Method Detail

### addHandlerActions

    public void addHandlerActions(AgendaItem item)

  Description copied from class: `ItemHandler`
  Called to add any `HandlerAction`s 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`

### makeForwardingAction

    public ForwardingHandler.ForwardingAction makeForwardingAction(java.lang.String toName,
                                                                   AgendaItem about)

### getToNames

    protected java.util.List getToNames(AgendaItem item)

### getToAgents

    public java.util.List getToAgents(AgendaItem item)

### handle

    public void handle(AgendaItem item)

  Description copied from class: `ItemHandler`
  Called to perform the action implemented by this handler, if the selected HandlerAction so desires.

  Overrides:
    `handle` in class `ItemHandler`
  See Also:
    `ItemHandler.addHandlerActions(AgendaItem)`

### contactChange

    public void contactChange(ContactEvent e)

  Specified by:
    `contactChange` in interface `ContactListener`

### reviseHandlerActions

    public void reviseHandlerActions(AgendaItem item,
                                     java.lang.Object reason)

  Description copied from class: `ItemHandler`
  Called after something has happened that may require new HandlerActions to be added to an item. Typically, this method is called as a consequnce of an ItemHandler -- usually this ItemHandler -- calling the controller's reconsiderHandler method. In other words, the usual case is when an ItemHandler causes its own reviseHandlerActions method to be called; and consequencetly the handler may be able to agree with itself (so to speak) about what various "reason" objects mean.

  The reviseHandlerActions method is very similar to the `ItemHandler.addHandlerActions(AgendaItem)` method in terms of its function and the applicability conditions on when it is called. The main difference is that it is called to look at AgendaItems that are not having actions added for the first time and that may already have an appropriate action, so that no new one needs to be added.

  Note that the usual way for an ItemHandler to get HandlerActions removed is for it to call the controller's checkActionValidity method. That results in calls to `HandlerAction.isStillValid()` methods.

  Overrides:
    `reviseHandlerActions` in class `ItemHandler`
  See Also:
    `PanelController.reconsiderHandler(ItemHandler handler, Object reason)`, `PanelController.checkActionValidity(ItemHandler handler, Object reason)`

### toString

    public java.lang.String toString()

  Description copied from class: `ItemHandler`
  Returns a textual representation of this handler.

  Overrides:
    `toString` in class `ItemHandler`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD