/* This file is part of Subsonic. Subsonic is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Subsonic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Subsonic. If not, see <http://www.gnu.org/licenses/>. Copyright 2009 (C) Sindre Mehus */ package net.sourceforge.subsonic.domain; /** * Defines criteria used when generating pandora playlist. * * @author Madevil * @see net.sourceforge.subsonic.service.SearchService#getRandomSongs */ public class MultiSearchCriteria { private final Integer count; private final String [] artists; private final String [] albums; private final String [] genres; private final String [] moods; private final Integer fromYear; private final Integer toYear; private final Integer musicFolderId; private final Integer userGroupId; /** * Creates a new instance. * * @param count Only return count. May be <code>null</code>. * @param artists Only return songs of the given artist. May be <code>null</code>. * @param albums Only return songs of the given album. May be <code>null</code>. * @param genres Only return songs of the given genres. May be <code>null</code>. * @param moods Only return songs of the given moods. May be <code>null</code>. * @param fromYear Only return songs released after (or in) this year. May be <code>null</code>. * @param toYear Only return songs released before (or in) this year. May be <code>null</code>. * @param musicFolderId Only return songs from this music folder. May be <code>null</code>. * @param userGroupId Only return songs from this group. May be <code>null</code>. */ public MultiSearchCriteria(int count, String[] artists, String[] albums, String[] genres, String[] moods, Integer fromYear, Integer toYear, Integer musicFolderId, Integer userGroupId) { this.count = count; this.artists = artists; this.albums = albums; this.genres = genres; this.moods = moods; this.fromYear = fromYear; this.toYear = toYear; this.musicFolderId = musicFolderId; this.userGroupId = userGroupId; } public String [] getGenres() { return genres; } public Integer getFromYear() { return fromYear; } public Integer getToYear() { return toYear; } public Integer getMusicFolderId() { return musicFolderId; } public Integer getUserGroupId() { return userGroupId; } public String [] getMoods() { return moods; } public String [] getArtists() { return artists; } public String [] getAlbums() { return albums; } public Integer getCount() { return count; } }