org.bff.javampd.monitor
Class MPDEventRelayer

java.lang.Object
  extended by org.bff.javampd.monitor.MPDEventMonitor
      extended by org.bff.javampd.monitor.MPDEventRelayer
All Implemented Interfaces:
java.lang.Runnable, MPDChangeListener, PlayerChangeListener, PlaylistChangeListener

public class MPDEventRelayer
extends MPDEventMonitor
implements java.lang.Runnable, PlayerChangeListener, PlaylistChangeListener, MPDChangeListener

MPDEventRelayer is a convenience class for relaying events from MPDPlaylist, MPDPlayer, and MPDAdmin. There is overhead involved when using this class as an extra set of listeners is maintained. This class simply registers as a listener to the above classes and relays those events to listeners of this class. Track position and connection events are also fired at given delays. If events are desired from directly querying the connection use MPDStandAloneMonitor.


Constructor Summary
MPDEventRelayer(MPD mpd)
          Creates a new instance of MPDEventMonitor using the default delay of 1 second for TrackPositionChangeEvents
MPDEventRelayer(MPD mpd, int delay)
          Creates a new instance of MPDEventMonitor using the given delay for TrackPositionChangeEvents
 
Method Summary
 void addMPDChangeListener(MPDChangeListener mcl)
          Adds a MPDChangeListener to this object to receive MPDChangeEvents.
 void addPlayerChangeListener(PlayerChangeListener pcl)
          Adds a PlayerChangeListener to this object to receive PlayerChangeEvents.
 void addVolumeChangeListener(VolumeChangeListener vcl)
          Adds a VolumeChangeListener to this object to receive VolumeChangeEvents.
protected  void fireMPDChangeEvent(int id)
          Sends the appropriate MPDChangeEvent to all registered MPDChangeListeners.
protected  void firePlayerChangeEvent(int id)
          Sends the appropriate PlayerChangeEvent to all registered PlayerChangeListeners.
protected  void firePlaylistChangeEvent(int id)
          Sends the appropriate PlaylistChangeEvent to all registered PlaylistChangeListener.
protected  void fireVolumeChangeEvent(int volume)
          Sends the appropriate VolumeChangeEvent to all registered VolumeChangeListener.
 boolean isStopped()
          Returns true if the monitor is stopped, false if the monitor is still running.
 void mpdChanged(MPDChangeEvent event)
          Invoked when a mpd administrative change action occurs.
 void playerChanged(PlayerChangeEvent event)
          Invoked when a player change event occurs.
 void playlistChanged(PlaylistChangeEvent event)
          Invoked when a mpd playlist change event occurs.
 void removeMPDChangedListener(MPDChangeListener mcl)
          Removes a MPDChangeListener from this object.
 void removePlayerChangedListener(PlayerChangeListener pcl)
          Removes a PlayerChangeListener from this object.
 void removeVolumeChangedListener(VolumeChangeListener vcl)
          Removes a VolumeChangeListener from this object.
 void run()
          Implements the Runnable run method to monitor the MPD connection.
 void start()
          Starts the monitor by creating and starting a thread using this instance as the Runnable interface.
 void stop()
          Stops the thread.
 
Methods inherited from class org.bff.javampd.monitor.MPDEventMonitor
addConnectionChangeListener, addTrackPositionChangeListener, checkConnection, checkTrackPosition, fireConnectionChangeEvent, fireTrackPositionChangeEvent, removeConnectionChangeListener, removeTrackPositionChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MPDEventRelayer

public MPDEventRelayer(MPD mpd)
Creates a new instance of MPDEventMonitor using the default delay of 1 second for TrackPositionChangeEvents

Parameters:
mpd - the MPD Connection

MPDEventRelayer

public MPDEventRelayer(MPD mpd,
                       int delay)
Creates a new instance of MPDEventMonitor using the given delay for TrackPositionChangeEvents

Parameters:
mpd - the MPD Connection
delay - the amount of delay in seconds
Method Detail

playerChanged

public void playerChanged(PlayerChangeEvent event)
Invoked when a player change event occurs.

Specified by:
playerChanged in interface PlayerChangeListener
Parameters:
event - the event fired

mpdChanged

public void mpdChanged(MPDChangeEvent event)
Invoked when a mpd administrative change action occurs.

Specified by:
mpdChanged in interface MPDChangeListener
Parameters:
event - the event received

playlistChanged

public void playlistChanged(PlaylistChangeEvent event)
Invoked when a mpd playlist change event occurs.

Specified by:
playlistChanged in interface PlaylistChangeListener
Parameters:
event - the event received

addPlayerChangeListener

public void addPlayerChangeListener(PlayerChangeListener pcl)
Adds a PlayerChangeListener to this object to receive PlayerChangeEvents.

Parameters:
pcl - the PlayerChangeListener to add

removePlayerChangedListener

public void removePlayerChangedListener(PlayerChangeListener pcl)
Removes a PlayerChangeListener from this object.

Parameters:
pcl - the PlayerChangeListener to remove

addMPDChangeListener

public void addMPDChangeListener(MPDChangeListener mcl)
Adds a MPDChangeListener to this object to receive MPDChangeEvents.

Parameters:
mcl - the MPDChangeListener to add

removeMPDChangedListener

public void removeMPDChangedListener(MPDChangeListener mcl)
Removes a MPDChangeListener from this object.

Parameters:
mcl - the MPDChangeListener to remove

addVolumeChangeListener

public void addVolumeChangeListener(VolumeChangeListener vcl)
Adds a VolumeChangeListener to this object to receive VolumeChangeEvents.

Parameters:
vcl - the VolumeChangeListener to add

removeVolumeChangedListener

public void removeVolumeChangedListener(VolumeChangeListener vcl)
Removes a VolumeChangeListener from this object.

Parameters:
vcl - the VolumeChangeListener to remove

fireMPDChangeEvent

protected void fireMPDChangeEvent(int id)
Sends the appropriate MPDChangeEvent to all registered MPDChangeListeners.

Parameters:
id - the event id to send

firePlayerChangeEvent

protected void firePlayerChangeEvent(int id)
Sends the appropriate PlayerChangeEvent to all registered PlayerChangeListeners.

Parameters:
id - the event id to send

firePlaylistChangeEvent

protected void firePlaylistChangeEvent(int id)
Sends the appropriate PlaylistChangeEvent to all registered PlaylistChangeListener.

Parameters:
id - the event id to send

fireVolumeChangeEvent

protected void fireVolumeChangeEvent(int volume)
Sends the appropriate VolumeChangeEvent to all registered VolumeChangeListener.

Parameters:
volume - the new volume

run

public void run()
Implements the Runnable run method to monitor the MPD connection.

Specified by:
run in interface java.lang.Runnable

start

public void start()
Starts the monitor by creating and starting a thread using this instance as the Runnable interface.


stop

public void stop()
Stops the thread.


isStopped

public boolean isStopped()
Returns true if the monitor is stopped, false if the monitor is still running.

Returns:
true if monitor is running, false otherwise false