gizmoball
Interface TriggerListener

All Known Subinterfaces:
Gizmo
All Known Implementing Classes:
Absorber, AbstractFlipper, AbstractGizmo, Ball, CircularBumper, LeftFlipper, OuterWalls, RightFlipper, SquareBumper, TestListener, TriangularBumper

public interface TriggerListener

A listener that can be triggered by TriggerGenerators. TriggerGenerators will call trigger(gizmoball.TriggerGenerator) on TriggerListeners that have registered themselves with the TriggerGenerator (via TriggerGenerator.registerTriggerListener(gizmoball.TriggerListener)) when the event that causes the TriggerGenerator to generate triggers happens.

For example, a flipper might implement TriggerListener with a trigger method that flips the flipper, and a bumper might implement TriggerGenerator, generating triggers whenever a ball hits it. If the flipper registers itself with the bumper, then the flipper will be triggered and thus will flip every time a ball hits the bumper.

For those familiar with the observer design pattern, TriggerListener implements the observer half of the observer design pattern.

Specification Fields :
triggerGenerators : list of TriggerGenerators - TriggerGenerators that this TriggerListener has registered itself with

Field Summary
static String rcsid
          Interface revision identifier.
 
Method Summary
 void trigger(TriggerGenerator triggerer)
          Trigger this TriggerListener.
 

Field Detail

rcsid

static final String rcsid
Interface revision identifier. rcsid contains an RCS Id keyword string that may be used to identify which revision of TriggerListener.java was used to generate an instance of TriggerListener.class. To identify the revision of a TriggerListener.class file, run "ident TriggerListener.class" (ident is part of the RCS software package).

See Also:
Constant Field Values
Method Detail

trigger

void trigger(TriggerGenerator triggerer)
Trigger this TriggerListener. This method should be called by a TriggerGenerator with which this TriggerListener has registered itself whenever an event happens that causes the TriggerGenerator to generate triggers.

triggerer is the TriggerGenerator that is triggering this TriggerListener. This parameter allows this TriggerListener differentiate between triggers generated by different TriggerGenerators. In general, TriggerGenerators will want to make calls to this method of the form listener.trigger(this).

Parameters:
triggerer - the TriggerGenerator that is triggering this TriggerListener
Requires:
triggerer != null and triggerer in this.triggerGenerators