com.neoworks.jukex.tracksource
Class FilterPipelineElement

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

public class FilterPipelineElement
extends TrackSourcePipelineElementSkeleton

PipelineElement that filters Tracks out of the pipeline according to some scheme.

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

Field Summary
 
Fields inherited from class com.neoworks.jukex.tracksource.TrackSourcePipelineElementSkeleton
name
 
Constructor Summary
FilterPipelineElement()
          Public constructor
 
Method Summary
 void addFilter(TrackFilter f)
          Add a TrackFilter
 java.lang.Object clone()
          Clone this FilterPipelineElement
 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
 int indexOf(java.lang.Object o)
          Get the index of a TrackFilter
 java.util.Iterator iterator()
          Get an iterator on the TrackFilter List
 java.util.List peekTracks(int count)
          Peek up the track list
 void removeFilter(int index)
          Remove a TrackFilter
 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

FilterPipelineElement

public FilterPipelineElement()
Public constructor

Method Detail

addFilter

public void addFilter(TrackFilter f)
Add a TrackFilter

Parameters:
f - The TrackFilter to add

removeFilter

public void removeFilter(int index)
Remove a TrackFilter

Parameters:
index - The index of the trackfilter to remove

iterator

public java.util.Iterator iterator()
Get an iterator on the TrackFilter List

Returns:
An Iterator on the TrackFilter List

indexOf

public int indexOf(java.lang.Object o)
Get the index of a TrackFilter

Parameters:
o - The object (TrackFilter) to get the index of
Returns:
The index

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 FilterPipelineElement

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

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