diff options
Diffstat (limited to 'jrt/src/com/yahoo/jrt/Method.java')
-rw-r--r-- | jrt/src/com/yahoo/jrt/Method.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/jrt/src/com/yahoo/jrt/Method.java b/jrt/src/com/yahoo/jrt/Method.java index e69c6bcd802..a5e5e7280d9 100644 --- a/jrt/src/com/yahoo/jrt/Method.java +++ b/jrt/src/com/yahoo/jrt/Method.java @@ -2,6 +2,9 @@ package com.yahoo.jrt; +import com.yahoo.security.tls.Capability; +import com.yahoo.security.tls.CapabilitySet; + /** * <p>A Method encapsulates the reflective information about a single RPC * method.</p> @@ -150,6 +153,12 @@ public class Method { } public Method requestAccessFilter(RequestAccessFilter filter) { this.filter = filter; return this; } + public Method requireCapabilities(Capability... capabilities) { return requireCapabilities(CapabilitySet.from(capabilities)); } + public Method requireCapabilities(CapabilitySet capabilities) { + if (filter != null) throw new IllegalStateException(); + filter = new RequireCapabilitiesFilter(capabilities); + return this; + } public RequestAccessFilter requestAccessFilter() { return filter; } |