parent
5c3c558923
commit
d4aff1dca5
@ -1,75 +1,75 @@ |
|||||||
/* |
/* |
||||||
This file is part of Airsonic. |
This file is part of Airsonic. |
||||||
|
|
||||||
Airsonic is free software: you can redistribute it and/or modify |
Airsonic is free software: you can redistribute it and/or modify |
||||||
it under the terms of the GNU General Public License as published by |
it under the terms of the GNU General Public License as published by |
||||||
the Free Software Foundation, either version 3 of the License, or |
the Free Software Foundation, either version 3 of the License, or |
||||||
(at your option) any later version. |
(at your option) any later version. |
||||||
|
|
||||||
Airsonic is distributed in the hope that it will be useful, |
Airsonic is distributed in the hope that it will be useful, |
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
GNU General Public License for more details. |
GNU General Public License for more details. |
||||||
|
|
||||||
You should have received a copy of the GNU General Public License |
You should have received a copy of the GNU General Public License |
||||||
along with Airsonic. If not, see <http://www.gnu.org/licenses/>.
|
along with Airsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Copyright 2016 (C) Airsonic Authors |
Copyright 2016 (C) Airsonic Authors |
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus |
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus |
||||||
*/ |
*/ |
||||||
|
|
||||||
package org.airsonic.player.service; |
package org.airsonic.player.service; |
||||||
|
|
||||||
import org.airsonic.player.domain.Album; |
import org.airsonic.player.domain.Album; |
||||||
import org.airsonic.player.domain.MediaFile; |
import org.airsonic.player.domain.MediaFile; |
||||||
import org.airsonic.player.domain.MusicFolder; |
import org.airsonic.player.domain.MusicFolder; |
||||||
import org.airsonic.player.domain.ParamSearchResult; |
import org.airsonic.player.domain.ParamSearchResult; |
||||||
import org.airsonic.player.domain.RandomSearchCriteria; |
import org.airsonic.player.domain.RandomSearchCriteria; |
||||||
import org.airsonic.player.domain.SearchCriteria; |
import org.airsonic.player.domain.SearchCriteria; |
||||||
import org.airsonic.player.domain.SearchResult; |
import org.airsonic.player.domain.SearchResult; |
||||||
import org.airsonic.player.service.search.IndexType; |
import org.airsonic.player.service.search.IndexType; |
||||||
|
|
||||||
import java.util.List; |
import java.util.List; |
||||||
|
|
||||||
/** |
/** |
||||||
* Performs Lucene-based searching. |
* Performs Lucene-based searching. |
||||||
* |
* |
||||||
* @author Sindre Mehus |
* @author Sindre Mehus |
||||||
* @version $Id$ |
* @version $Id$ |
||||||
* @see MediaScannerService |
* @see MediaScannerService |
||||||
*/ |
*/ |
||||||
public interface SearchService { |
public interface SearchService { |
||||||
|
|
||||||
SearchResult search(SearchCriteria criteria, List<MusicFolder> musicFolders, |
SearchResult search(SearchCriteria criteria, List<MusicFolder> musicFolders, |
||||||
IndexType indexType); |
IndexType indexType); |
||||||
|
|
||||||
/** |
/** |
||||||
* Returns a number of random songs. |
* Returns a number of random songs. |
||||||
* |
* |
||||||
* @param criteria Search criteria. |
* @param criteria Search criteria. |
||||||
* @return List of random songs. |
* @return List of random songs. |
||||||
*/ |
*/ |
||||||
List<MediaFile> getRandomSongs(RandomSearchCriteria criteria); |
List<MediaFile> getRandomSongs(RandomSearchCriteria criteria); |
||||||
|
|
||||||
/** |
/** |
||||||
* Returns a number of random albums. |
* Returns a number of random albums. |
||||||
* |
* |
||||||
* @param count Number of albums to return. |
* @param count Number of albums to return. |
||||||
* @param musicFolders Only return albums from these folders. |
* @param musicFolders Only return albums from these folders. |
||||||
* @return List of random albums. |
* @return List of random albums. |
||||||
*/ |
*/ |
||||||
List<MediaFile> getRandomAlbums(int count, List<MusicFolder> musicFolders); |
List<MediaFile> getRandomAlbums(int count, List<MusicFolder> musicFolders); |
||||||
|
|
||||||
/** |
/** |
||||||
* Returns a number of random albums, using ID3 tag. |
* Returns a number of random albums, using ID3 tag. |
||||||
* |
* |
||||||
* @param count Number of albums to return. |
* @param count Number of albums to return. |
||||||
* @param musicFolders Only return albums from these folders. |
* @param musicFolders Only return albums from these folders. |
||||||
* @return List of random albums. |
* @return List of random albums. |
||||||
*/ |
*/ |
||||||
List<Album> getRandomAlbumsId3(int count, List<MusicFolder> musicFolders); |
List<Album> getRandomAlbumsId3(int count, List<MusicFolder> musicFolders); |
||||||
|
|
||||||
<T> ParamSearchResult<T> searchByName( |
<T> ParamSearchResult<T> searchByName( |
||||||
String name, int offset, int count, List<MusicFolder> folderList, Class<T> clazz); |
String name, int offset, int count, List<MusicFolder> folderList, Class<T> clazz); |
||||||
|
|
||||||
} |
} |
||||||
|
Loading…
Reference in new issue