View Javadoc

1   package org.musicontroller.rss;
2   
3   import org.musicontroller.core.Playlist;
4   import org.musicontroller.core.Song;
5   
6   /**
7    * Properties that a MetadataProvider has to be able to provide about Playlists
8    * and Songs. 
9    * @author Varienaja
10   */
11  public interface MetadataProvider {
12  	
13  	/**
14  	 * Returns the URL (as String) which links to information page of a Playlist.
15  	 * @param playlist The Playlist to link to.
16  	 * @return The resulting URL.
17  	 */
18  	public String getUrl(Playlist playlist);
19  	
20  	/**
21  	 * Returns the URL (as String) which links to information page of a Song.
22  	 * @param song The Song to link to.
23  	 * @return The resulting URL.
24  	 */
25  	public String getUrl(Song song);
26  	
27  	/**
28  	 * Returns the URL (as String) which links to the RSS-link for a Playlist.
29  	 * @param playlist The Playlist to link to.
30  	 * @return The resulting URL.
31  	 */
32  	public String getRssUrl(Playlist playlist);
33  	
34  	/**
35  	 * Returns the URL where the CoverArt of the Playlist can be found.
36  	 * @param playlist The Playlist to provide the CoverArt for.
37  	 * @return The resulting URL.
38  	 */
39  	public String getCoverUrl(Playlist playlist);
40  	
41  	/**
42  	 * Returns the URL (as String) where a Song can be downloaded.
43  	 * @param song The Song to provide the URL for.
44  	 * @return The resulting URL.
45  	 */
46  	public String getDownloadUrl(Song song);
47  
48  }