package org.podcastpedia.web.startpage; import java.util.List; import java.util.Map; import org.podcastpedia.common.domain.Podcast; public interface StartPageDao { /** * Returns the newest podcasts (ORDER BY last_updated DESC) * * @param numberOfPodcasts (number of podcasts to be returned) * @return */ public List<Podcast> getLastUpdatedPodcasts(Integer numberOfPodcasts); /** * Returns the newest podcasts (ORDER BY insertion_date DESC) * * @param numberOfPodcasts (number of podcasts to be returned and language code) * @return */ public List<Podcast> getLastUpdatedPodcastsWithLanguage(Map<String, Object> params); /** * Returns recommended podcasts (ORDER BY rating DESC) * * * @param numberOfPodcasts (number of podcasts to be returned) * @return */ public List<Podcast> getRecommendedPodcasts(Integer numberOfPodcasts); /** * Returns top rated podcasts (ORDER BY rating DESC) * * * @param numberOfPodcasts (number of podcasts to be returned) * @return */ public List<Podcast> getTopRatedPodcasts(Integer numberOfPodcasts); /** * Returns top rated podcasts (ORDER BY rating DESC) - 10 such podcasts * * * @param languageCode (code of the language of the shown podcasts) and numberOfResults * @return */ public List<Podcast> getTopRatedPodcastsWithLanguage(Map<String, Object> params); /** * Returns 'numberOfPodcasts'-random podcasts from the database. * * @param numberOfPodcasts * @return */ public List<Podcast> getRandomPodcasts(Integer numberOfPodcasts); /** * Returns the new entries from the podcast directory (sort by insertion date DESC) * * @param numberOfPodcasts * @return */ public List<Podcast> getNewEntries(Integer numberOfPodcasts); }