diff options
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.java | 15 |
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; + } +} |