aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/main/java/com/yahoo/jdisc/handler/DelegatedRequestHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'jdisc_core/src/main/java/com/yahoo/jdisc/handler/DelegatedRequestHandler.java')
-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;
+ }
+}