blob: 191d1a0643efc439ebc7a95a46cc434e8933750e [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.8) on Thu Oct 22 13:32:16 CDT 2020 -->
<title>JavaxWebSocketFrameHandlerFactory (Jetty :: Javadoc Build 10.0.0.beta3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-10-22">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JavaxWebSocketFrameHandlerFactory (Jetty :: Javadoc Build 10.0.0.beta3 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":9,"i5":6,"i6":9,"i7":6,"i8":10,"i9":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JavaxWebSocketFrameHandlerFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.websocket.javax.common</a></div>
<h2 title="Class JavaxWebSocketFrameHandlerFactory" class="title">Class JavaxWebSocketFrameHandlerFactory</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="../client/internal/JavaxWebSocketClientFrameHandlerFactory.html" title="class in org.eclipse.jetty.websocket.javax.client.internal">JavaxWebSocketClientFrameHandlerFactory</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">JavaxWebSocketFrameHandlerFactory</span>
extends java.lang.Object</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="JavaxWebSocketContainer.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketContainer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#container">container</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.util">InvokerUtils.ParamIdentifier</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#paramIdentifier">paramIdentifier</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.websocket.javax.common.JavaxWebSocketContainer,org.eclipse.jetty.websocket.util.InvokerUtils.ParamIdentifier)">JavaxWebSocketFrameHandlerFactory</a></span>&#8203;(<a href="JavaxWebSocketContainer.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketContainer</a>&nbsp;container,
<a href="../../util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.util">InvokerUtils.ParamIdentifier</a>&nbsp;paramIdentifier)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static java.lang.invoke.MethodHandle</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#bindTemplateVariables(java.lang.invoke.MethodHandle,java.lang.String%5B%5D,java.util.Map)">bindTemplateVariables</a></span>&#8203;(java.lang.invoke.MethodHandle&nbsp;target,
java.lang.String[]&nbsp;namedVariables,
java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;templateValues)</code></th>
<td class="colLast">
<div class="block">Bind the URI Template Variables to their provided values, converting to the type
that the MethodHandle target has declared.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createEndpointMetadata(javax.websocket.EndpointConfig)">createEndpointMetadata</a></span>&#8203;(javax.websocket.EndpointConfig&nbsp;endpointConfig)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../util/messages/MessageSink.html" title="interface in org.eclipse.jetty.websocket.util.messages">MessageSink</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createMessageSink(org.eclipse.jetty.websocket.javax.common.JavaxWebSocketSession,org.eclipse.jetty.websocket.javax.common.JavaxWebSocketMessageMetadata)">createMessageSink</a></span>&#8203;(<a href="JavaxWebSocketSession.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketSession</a>&nbsp;session,
<a href="JavaxWebSocketMessageMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketMessageMetadata</a>&nbsp;msgMetadata)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#discoverJavaxFrameHandlerMetadata(java.lang.Class,org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerMetadata)">discoverJavaxFrameHandlerMetadata</a></span>&#8203;(java.lang.Class&lt;?&gt;&nbsp;endpointClass,
<a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a>&nbsp;metadata)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.lang.invoke.MethodHandles.Lookup</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getApplicationMethodHandleLookup(java.lang.Class)">getApplicationMethodHandleLookup</a></span>&#8203;(java.lang.Class&lt;?&gt;&nbsp;lookupClass)</code></th>
<td class="colLast">
<div class="block">
Gives a <code>MethodHandles.Lookup</code> instance to be used to find public methods in application classes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract <a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMetadata(java.lang.Class,javax.websocket.EndpointConfig)">getMetadata</a></span>&#8203;(java.lang.Class&lt;?&gt;&nbsp;endpointClass,
javax.websocket.EndpointConfig&nbsp;endpointConfig)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.lang.invoke.MethodHandles.Lookup</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServerMethodHandleLookup()">getServerMethodHandleLookup</a></span>()</code></th>
<td class="colLast">
<div class="block">
Gives a <code>MethodHandles.Lookup</code> instance to be used to find methods in server classes.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract javax.websocket.EndpointConfig</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newDefaultEndpointConfig(java.lang.Class)">newDefaultEndpointConfig</a></span>&#8203;(java.lang.Class&lt;?&gt;&nbsp;endpointClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="JavaxWebSocketFrameHandler.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandler</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newJavaxWebSocketFrameHandler(java.lang.Object,org.eclipse.jetty.websocket.javax.common.UpgradeRequest)">newJavaxWebSocketFrameHandler</a></span>&#8203;(java.lang.Object&nbsp;endpointInstance,
<a href="UpgradeRequest.html" title="interface in org.eclipse.jetty.websocket.javax.common">UpgradeRequest</a>&nbsp;upgradeRequest)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.lang.invoke.MethodHandle</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wrapNonVoidReturnType(java.lang.invoke.MethodHandle,org.eclipse.jetty.websocket.javax.common.JavaxWebSocketSession)">wrapNonVoidReturnType</a></span>&#8203;(java.lang.invoke.MethodHandle&nbsp;handle,
<a href="JavaxWebSocketSession.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketSession</a>&nbsp;session)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="container">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>container</h4>
<pre>protected final&nbsp;<a href="JavaxWebSocketContainer.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketContainer</a> container</pre>
</li>
</ul>
<a id="paramIdentifier">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>paramIdentifier</h4>
<pre>protected final&nbsp;<a href="../../util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.util">InvokerUtils.ParamIdentifier</a> paramIdentifier</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.eclipse.jetty.websocket.javax.common.JavaxWebSocketContainer,org.eclipse.jetty.websocket.util.InvokerUtils.ParamIdentifier)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JavaxWebSocketFrameHandlerFactory</h4>
<pre>public&nbsp;JavaxWebSocketFrameHandlerFactory&#8203;(<a href="JavaxWebSocketContainer.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketContainer</a>&nbsp;container,
<a href="../../util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.util">InvokerUtils.ParamIdentifier</a>&nbsp;paramIdentifier)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getMetadata(java.lang.Class,javax.websocket.EndpointConfig)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetadata</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a>&nbsp;getMetadata&#8203;(java.lang.Class&lt;?&gt;&nbsp;endpointClass,
javax.websocket.EndpointConfig&nbsp;endpointConfig)</pre>
</li>
</ul>
<a id="newDefaultEndpointConfig(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newDefaultEndpointConfig</h4>
<pre class="methodSignature">public abstract&nbsp;javax.websocket.EndpointConfig&nbsp;newDefaultEndpointConfig&#8203;(java.lang.Class&lt;?&gt;&nbsp;endpointClass)</pre>
</li>
</ul>
<a id="newJavaxWebSocketFrameHandler(java.lang.Object,org.eclipse.jetty.websocket.javax.common.UpgradeRequest)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newJavaxWebSocketFrameHandler</h4>
<pre class="methodSignature">public&nbsp;<a href="JavaxWebSocketFrameHandler.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandler</a>&nbsp;newJavaxWebSocketFrameHandler&#8203;(java.lang.Object&nbsp;endpointInstance,
<a href="UpgradeRequest.html" title="interface in org.eclipse.jetty.websocket.javax.common">UpgradeRequest</a>&nbsp;upgradeRequest)</pre>
</li>
</ul>
<a id="createMessageSink(org.eclipse.jetty.websocket.javax.common.JavaxWebSocketSession,org.eclipse.jetty.websocket.javax.common.JavaxWebSocketMessageMetadata)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMessageSink</h4>
<pre class="methodSignature">public static&nbsp;<a href="../../util/messages/MessageSink.html" title="interface in org.eclipse.jetty.websocket.util.messages">MessageSink</a>&nbsp;createMessageSink&#8203;(<a href="JavaxWebSocketSession.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketSession</a>&nbsp;session,
<a href="JavaxWebSocketMessageMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketMessageMetadata</a>&nbsp;msgMetadata)</pre>
</li>
</ul>
<a id="wrapNonVoidReturnType(java.lang.invoke.MethodHandle,org.eclipse.jetty.websocket.javax.common.JavaxWebSocketSession)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrapNonVoidReturnType</h4>
<pre class="methodSignature">public static&nbsp;java.lang.invoke.MethodHandle&nbsp;wrapNonVoidReturnType&#8203;(java.lang.invoke.MethodHandle&nbsp;handle,
<a href="JavaxWebSocketSession.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketSession</a>&nbsp;session)</pre>
</li>
</ul>
<a id="createEndpointMetadata(javax.websocket.EndpointConfig)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEndpointMetadata</h4>
<pre class="methodSignature">protected&nbsp;<a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a>&nbsp;createEndpointMetadata&#8203;(javax.websocket.EndpointConfig&nbsp;endpointConfig)</pre>
</li>
</ul>
<a id="discoverJavaxFrameHandlerMetadata(java.lang.Class,org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerMetadata)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discoverJavaxFrameHandlerMetadata</h4>
<pre class="methodSignature">protected&nbsp;<a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a>&nbsp;discoverJavaxFrameHandlerMetadata&#8203;(java.lang.Class&lt;?&gt;&nbsp;endpointClass,
<a href="JavaxWebSocketFrameHandlerMetadata.html" title="class in org.eclipse.jetty.websocket.javax.common">JavaxWebSocketFrameHandlerMetadata</a>&nbsp;metadata)</pre>
</li>
</ul>
<a id="bindTemplateVariables(java.lang.invoke.MethodHandle,java.lang.String[],java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bindTemplateVariables</h4>
<pre class="methodSignature">public static&nbsp;java.lang.invoke.MethodHandle&nbsp;bindTemplateVariables&#8203;(java.lang.invoke.MethodHandle&nbsp;target,
java.lang.String[]&nbsp;namedVariables,
java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;templateValues)</pre>
<div class="block">Bind the URI Template Variables to their provided values, converting to the type
that the MethodHandle target has declared.
<p>
Conversion follows the JSR356 rules for @PathParam and only supports
String, Primitive Types (and their Boxed version)
</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - the target MethodHandle to work with. This is assumed to contain a
<code>MethodHandle.type()</code> where all of the initial parameters are the same
parameters as found in the provided <code>namedVariables</code> array.</dd>
<dd><code>namedVariables</code> - the array of named variables. Can be null.</dd>
<dd><code>templateValues</code> - the Map of template values (Key to Value), must have same number of entries that <code>namedVariables</code> has.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a MethodHandle where all of the <code>namedVariables</code> in the target type
have been statically assigned a converted value (and removed from the resulting <code>MethodHandle.type()</code>, or null if
no <code>target</code> MethodHandle was provided.</dd>
</dl>
</li>
</ul>
<a id="getServerMethodHandleLookup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerMethodHandleLookup</h4>
<pre class="methodSignature">public static&nbsp;java.lang.invoke.MethodHandles.Lookup&nbsp;getServerMethodHandleLookup()</pre>
<div class="block"><p>
Gives a <code>MethodHandles.Lookup</code> instance to be used to find methods in server classes.
For lookups on application classes use <a href="#getApplicationMethodHandleLookup(java.lang.Class)"><code>getApplicationMethodHandleLookup(Class)</code></a> instead.
</p>
<p>
This uses the caller sensitive <code>MethodHandles.lookup()</code>, this will allow MethodHandle access
to server classes we need to use and will give access permissions to private methods as well.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a lookup object to be used to find methods on server classes.</dd>
</dl>
</li>
</ul>
<a id="getApplicationMethodHandleLookup(java.lang.Class)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getApplicationMethodHandleLookup</h4>
<pre class="methodSignature">public static&nbsp;java.lang.invoke.MethodHandles.Lookup&nbsp;getApplicationMethodHandleLookup&#8203;(java.lang.Class&lt;?&gt;&nbsp;lookupClass)</pre>
<div class="block"><p>
Gives a <code>MethodHandles.Lookup</code> instance to be used to find public methods in application classes.
For lookups on server classes use <a href="#getServerMethodHandleLookup()"><code>getServerMethodHandleLookup()</code></a> instead.
</p>
<p>
This uses <code>MethodHandles.publicLookup()</code> as we only need access to public method of the lookupClass.
To look up a method on the lookupClass, it must be public and the class must be accessible from this
module, so if the lookupClass is in a JPMS module it must be exported so that the public methods
of the lookupClass are accessible outside of the module.
</p>
<p>
The <code>MethodHandles.Lookup.in(Class)</code> allows us to search specifically
in the endpoint Class to avoid any potential linkage errors which could occur if the same
class is present in multiple web apps. Unlike using <code>MethodHandles.publicLookup()</code>
using <code>MethodHandles.lookup()</code> with <code>MethodHandles.Lookup.in(Class)</code>
will cause the lookup to lose its public access to the lookup class if they are in different modules.
</p>
<p>
<code>MethodHandles.privateLookupIn(Class, MethodHandles.Lookup)</code> is also unsuitable because it
requires the caller module to read the target module, and the target module to open reflective
access to the lookupClasses private methods. This is possible but requires extra configuration
to provide private access which is not necessary for the purpose of accessing the public methods.
</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lookupClass</code> - the desired lookup class for the new lookup object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a lookup object to be used to find methods on the lookupClass.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JavaxWebSocketFrameHandlerFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2020 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>