NewPipeExtractor/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/linkHandler/YoutubeSearchQueryHandlerFa...

46 lines
1.8 KiB
Java

package org.schabi.newpipe.extractor.services.youtube.linkHandler;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandlerFactory;
import org.schabi.newpipe.extractor.search.filter.FilterItem;
import org.schabi.newpipe.extractor.services.youtube.search.filter.YoutubeFilters;
import java.util.List;
import javax.annotation.Nonnull;
public final class YoutubeSearchQueryHandlerFactory extends SearchQueryHandlerFactory {
public static final String ALL = "all";
public static final String VIDEOS = "videos";
public static final String CHANNELS = "channels";
public static final String PLAYLISTS = "playlists";
public static final String MUSIC_SONGS = "music_songs";
public static final String MUSIC_VIDEOS = "music_videos";
public static final String MUSIC_ALBUMS = "music_albums";
public static final String MUSIC_PLAYLISTS = "music_playlists";
public static final String MUSIC_ARTISTS = "music_artists";
private static final YoutubeSearchQueryHandlerFactory INSTANCE =
new YoutubeSearchQueryHandlerFactory();
private YoutubeSearchQueryHandlerFactory() {
super(new YoutubeFilters());
}
@Nonnull
public static YoutubeSearchQueryHandlerFactory getInstance() {
return INSTANCE;
}
@Override
public String getUrl(final String searchString,
@Nonnull final List<FilterItem> selectedContentFilter,
final List<FilterItem> selectedSortFilter) throws ParsingException {
searchFilters.setSelectedContentFilter(selectedContentFilter);
searchFilters.setSelectedSortFilter(selectedSortFilter);
return searchFilters.evaluateSelectedFilters(searchString);
}
}