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 }