package com.kickstarter.services; import android.net.Uri; import android.support.annotation.NonNull; import android.webkit.WebView; import okhttp3.Request; public final class RequestHandler { private final RequestHandler.Matcher matcher; private final RequestHandler.Action action; public RequestHandler(final @NonNull RequestHandler.Matcher matcher, final @NonNull RequestHandler.Action action) { this.matcher = matcher; this.action = action; } public boolean matches(final @NonNull Uri uri, final @NonNull String webEndpoint) { return matcher.call(uri, webEndpoint); } public boolean action(final @NonNull Request request, final @NonNull WebView webView) { return action.call(request, webView); } public interface Matcher { boolean call(final @NonNull Uri uri, final @NonNull String webEndpoint); } public interface Action { boolean call(final @NonNull Request request, final @NonNull WebView webView); } }