2017-06-29 20:12:55 +02:00
|
|
|
package org.schabi.newpipe.extractor.playlist;
|
|
|
|
|
2018-02-24 22:20:50 +01:00
|
|
|
import edu.umd.cs.findbugs.annotations.NonNull;
|
2017-07-10 00:43:04 +02:00
|
|
|
import org.schabi.newpipe.extractor.ListExtractor;
|
2017-08-06 22:20:15 +02:00
|
|
|
import org.schabi.newpipe.extractor.StreamingService;
|
2017-06-29 20:12:55 +02:00
|
|
|
import org.schabi.newpipe.extractor.UrlIdHandler;
|
|
|
|
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
|
|
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
2018-03-01 01:02:43 +01:00
|
|
|
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
2018-02-24 22:20:50 +01:00
|
|
|
import org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector;
|
2017-06-29 20:12:55 +02:00
|
|
|
|
2017-11-25 01:10:04 +01:00
|
|
|
import javax.annotation.Nonnull;
|
2017-06-29 20:12:55 +02:00
|
|
|
import java.io.IOException;
|
|
|
|
|
2017-07-10 00:43:04 +02:00
|
|
|
public abstract class PlaylistExtractor extends ListExtractor {
|
2017-06-29 20:12:55 +02:00
|
|
|
|
2018-02-26 16:19:58 +01:00
|
|
|
public PlaylistExtractor(StreamingService service, String url) {
|
2018-02-26 15:55:27 +01:00
|
|
|
super(service, url);
|
2017-08-06 22:20:15 +02:00
|
|
|
}
|
|
|
|
|
2017-11-25 01:10:04 +01:00
|
|
|
@Nonnull
|
2017-08-06 22:20:15 +02:00
|
|
|
@Override
|
2018-02-24 22:20:50 +01:00
|
|
|
protected UrlIdHandler getUrlIdHandler() {
|
2017-08-06 22:20:15 +02:00
|
|
|
return getService().getPlaylistUrlIdHandler();
|
2017-06-29 20:12:55 +02:00
|
|
|
}
|
|
|
|
|
2018-02-24 22:20:50 +01:00
|
|
|
@NonNull
|
|
|
|
@Override
|
2018-03-01 01:02:43 +01:00
|
|
|
public abstract StreamInfoItemsCollector getInfoItems() throws IOException, ExtractionException;
|
|
|
|
@Override
|
|
|
|
public abstract InfoItemPage<StreamInfoItem> getPage(String nextPageUrl) throws IOException, ExtractionException;
|
2018-02-24 22:20:50 +01:00
|
|
|
|
2017-08-08 23:36:11 +02:00
|
|
|
public abstract String getThumbnailUrl() throws ParsingException;
|
2017-06-29 20:12:55 +02:00
|
|
|
public abstract String getBannerUrl() throws ParsingException;
|
2017-08-11 03:23:09 +02:00
|
|
|
|
2017-06-29 20:12:55 +02:00
|
|
|
public abstract String getUploaderUrl() throws ParsingException;
|
|
|
|
public abstract String getUploaderName() throws ParsingException;
|
|
|
|
public abstract String getUploaderAvatarUrl() throws ParsingException;
|
2017-08-11 03:23:09 +02:00
|
|
|
|
2017-08-06 22:20:15 +02:00
|
|
|
public abstract long getStreamCount() throws ParsingException;
|
2017-06-29 20:12:55 +02:00
|
|
|
}
|