net.sf.fmj.ejmf.toolkit.media
Class StopTimeMonitor

java.lang.Object
  extended by java.lang.Thread
      extended by net.sf.fmj.ejmf.toolkit.media.StopTimeMonitor
All Implemented Interfaces:
java.lang.Runnable, ControllerListener

public class StopTimeMonitor
extends java.lang.Thread
implements ControllerListener

This class provides a thread to stop an AbstractController when its stop time is reached. From the book: Essential JMF, Gordon, Talley (ISBN 0130801046). Used with permission.

Author:
Steve Talley & Rob Gordon
See Also:
AbstractController

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
StopTimeMonitor(AbstractController controller, java.lang.String threadName)
          Constructs a StopTimeMonitor for the given AbstractController.
 
Method Summary
 void controllerUpdate(ControllerEvent e)
          Listen for RateChangeEvents or MediaTimeSetEvents and notify the StopTimeMonitor thread to recalculate its wait time.
 void run()
          Continuously monitor the controller, it's state, and it's stop time.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StopTimeMonitor

public StopTimeMonitor(AbstractController controller,
                       java.lang.String threadName)
Constructs a StopTimeMonitor for the given AbstractController.

Parameters:
controller - The AbstractController to whose stop time to monitor.
Method Detail

controllerUpdate

public void controllerUpdate(ControllerEvent e)
Listen for RateChangeEvents or MediaTimeSetEvents and notify the StopTimeMonitor thread to recalculate its wait time. Also listen for StartEvents and StopEvents so that the monitor will know whether the controller is playing.

Specified by:
controllerUpdate in interface ControllerListener
Parameters:
e - The ControllerEvent

run

public void run()
Continuously monitor the controller, it's state, and it's stop time.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread