From 76fb9dcdd74440fafafb7ef55161709f12356178 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Thu, 29 Jun 2023 17:56:27 +0200 Subject: [PATCH] Add UnsupportedOperationException to exceptions which can be thrown by getId and getUrl methods of LinkHandlerFactory and its base implementations This change advertise to clients that channel tabs' link handler factories can return an UnsupportedOperationException when a tab provided to them is unsupported. --- .../newpipe/extractor/linkhandler/LinkHandlerFactory.java | 7 ++++--- .../extractor/linkhandler/ListLinkHandlerFactory.java | 7 ++++--- .../extractor/linkhandler/SearchQueryHandlerFactory.java | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/LinkHandlerFactory.java b/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/LinkHandlerFactory.java index 043249386..bcf849e09 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/LinkHandlerFactory.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/LinkHandlerFactory.java @@ -31,13 +31,14 @@ public abstract class LinkHandlerFactory { // To Override /////////////////////////////////// - public abstract String getId(String url) throws ParsingException; + public abstract String getId(String url) throws ParsingException, UnsupportedOperationException; - public abstract String getUrl(String id) throws ParsingException; + public abstract String getUrl(String id) throws ParsingException, UnsupportedOperationException; public abstract boolean onAcceptUrl(String url) throws ParsingException; - public String getUrl(final String id, final String baseUrl) throws ParsingException { + public String getUrl(final String id, final String baseUrl) + throws ParsingException, UnsupportedOperationException { return getUrl(id); } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/ListLinkHandlerFactory.java b/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/ListLinkHandlerFactory.java index c311ade0a..031933f2c 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/ListLinkHandlerFactory.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/ListLinkHandlerFactory.java @@ -14,12 +14,13 @@ public abstract class ListLinkHandlerFactory extends LinkHandlerFactory { /////////////////////////////////// public abstract String getUrl(String id, List contentFilter, String sortFilter) - throws ParsingException; + throws ParsingException, UnsupportedOperationException; public String getUrl(final String id, final List contentFilter, final String sortFilter, - final String baseUrl) throws ParsingException { + final String baseUrl) + throws ParsingException, UnsupportedOperationException { return getUrl(id, contentFilter, sortFilter); } @@ -72,7 +73,7 @@ public abstract class ListLinkHandlerFactory extends LinkHandlerFactory { * * @return the url corresponding to id without any filters applied */ - public String getUrl(final String id) throws ParsingException { + public String getUrl(final String id) throws ParsingException, UnsupportedOperationException { return getUrl(id, new ArrayList<>(0), ""); } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.java b/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.java index d9fc53e8a..df2e2fbbb 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.java @@ -13,7 +13,7 @@ public abstract class SearchQueryHandlerFactory extends ListLinkHandlerFactory { @Override public abstract String getUrl(String query, List contentFilter, String sortFilter) - throws ParsingException; + throws ParsingException, UnsupportedOperationException; @SuppressWarnings("unused") public String getSearchString(final String url) { @@ -25,7 +25,7 @@ public abstract class SearchQueryHandlerFactory extends ListLinkHandlerFactory { /////////////////////////////////// @Override - public String getId(final String url) { + public String getId(final String url) throws ParsingException, UnsupportedOperationException { return getSearchString(url); }