aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/main/java/com/yahoo/jdisc/handler
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2021-04-21 08:42:04 +0200
committerMorten Tokle <mortent@verizonmedia.com>2021-04-21 08:42:04 +0200
commitf36017d3f2709e2fa3e555269a4116482129ee2e (patch)
treeee214beda7621d24717a00771e9129160e4a2a9b /jdisc_core/src/main/java/com/yahoo/jdisc/handler
parentfe1dfc345aa85b593ba536fa2607594751bb8d51 (diff)
Get request handler spec through delegate
Diffstat (limited to 'jdisc_core/src/main/java/com/yahoo/jdisc/handler')
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/handler/DelegatedRequestHandler.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/DelegatedRequestHandler.java b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/DelegatedRequestHandler.java
new file mode 100644
index 00000000000..540fe03accf
--- /dev/null
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/DelegatedRequestHandler.java
@@ -0,0 +1,15 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+package com.yahoo.jdisc.handler;
+
+public interface DelegatedRequestHandler extends RequestHandler {
+ RequestHandler getDelegate();
+
+ default RequestHandler getDelegateRecursive() {
+ RequestHandler delegate = getDelegate();
+ while(delegate instanceof DelegatedRequestHandler) {
+ delegate = ((DelegatedRequestHandler) delegate).getDelegate();
+ }
+ return delegate;
+ }
+}