summaryrefslogtreecommitdiff
path: root/java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java')
-rw-r--r--java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java b/java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java
index 7dfc5b4..cd769df 100644
--- a/java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java
+++ b/java/com/google/android/libraries/mobiledatadownload/downloader/MultiSchemeFileDownloader.java
@@ -61,6 +61,20 @@ public final class MultiSchemeFileDownloader implements FileDownloader {
return new Builder();
}
+ /** Returns a Builder containing all registered FileDownloaders. */
+ public Builder toBuilder() {
+ final Builder builder = new Builder();
+ for (Map.Entry<String, FileDownloader> entry : schemeToDownloader.entrySet()) {
+ builder.addScheme(entry.getKey(), entry.getValue());
+ }
+ return builder;
+ }
+
+ /** Returns true if a FileDownloader is registered for the given scheme. */
+ public boolean supportsScheme(String scheme) {
+ return schemeToDownloader.containsKey(scheme);
+ }
+
private MultiSchemeFileDownloader(Builder builder) {
this.schemeToDownloader = ImmutableMap.copyOf(builder.schemeToDownloader);
}