com.neoworks.jukex.tracksource
Class RandomiserPipelineElement

java.lang.Object
  |
  +--com.neoworks.jukex.tracksource.TrackSourcePipelineElementSkeleton
        |
        +--com.neoworks.jukex.tracksource.RandomiserPipelineElement
All Implemented Interfaces:
java.io.Serializable, TrackSource, TrackSourcePipelineElement

public class RandomiserPipelineElement
extends TrackSourcePipelineElementSkeleton

PipelineElement that provides a stream of randomly selected tracks. This PipelineElement should never run out of tracks!

Author:
Nigel Atkinson nigel@neoworks.com
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.neoworks.jukex.tracksource.TrackSourcePipelineElementSkeleton
name
 
Constructor Summary
RandomiserPipelineElement()
          Public constructor
 
Method Summary
 java.lang.Object clone()
          Clone this RandomiserPipelineElement
 java.lang.String getDescription()
          Return a String describing what, in general terms, this TrackSource does
 Track getNextTrack()
          Get a track at random
 java.util.Map getState()
          Get the current state of this PipelineElement for persisting
 java.lang.String getSummary()
          Return a String summarising the configuration of the task the source is performing
 java.util.List peekTracks(int count)
          Peek up the track list
 boolean setState(java.util.Map state)
          Load the configuration of this PipelineElement
 
Methods inherited from class com.neoworks.jukex.tracksource.TrackSourcePipelineElementSkeleton
delegateGetNextTrack, delegatePeekTracks, disable, enable, getName, getNextTrackSource, getOwner, isEnabled, removeTrack, setName, setNextTrackSource, setOwner, storeState
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RandomiserPipelineElement

public RandomiserPipelineElement()
Public constructor

Method Detail

getState

public java.util.Map getState()
Get the current state of this PipelineElement for persisting

Specified by:
getState in interface TrackSourcePipelineElement
Specified by:
getState in class TrackSourcePipelineElementSkeleton
Returns:
a String keyed Map of objects representing the state of this PipelineElement, e.g. for a Playlist this would be information allowing the reconstruction of the current playlist queue.

setState

public boolean setState(java.util.Map state)
Load the configuration of this PipelineElement

Specified by:
setState in interface TrackSourcePipelineElement
Specified by:
setState in class TrackSourcePipelineElementSkeleton
Parameters:
state - a Map of values keyed by Strings representing the state of this PipelineElement.
Returns:
success

getNextTrack

public Track getNextTrack()
Get a track at random

Returns:
a Track object

peekTracks

public java.util.List peekTracks(int count)
Peek up the track list

Parameters:
count - The number of tracks to peek
Returns:
A List of Track objects

clone

public java.lang.Object clone()
Clone this RandomiserPipelineElement

Specified by:
clone in interface TrackSource
Specified by:
clone in class TrackSourcePipelineElementSkeleton
Returns:
A clone of this RandomiserPipelineElement

getDescription

public java.lang.String getDescription()
Return a String describing what, in general terms, this TrackSource does

Returns:
A String

getSummary

public java.lang.String getSummary()
Return a String summarising the configuration of the task the source is performing

Returns:
A String