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 }