<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Tue Mar 30 10:45:41 CDT 2021 -->
<title>JavaxWebSocketFrameHandlerFactory (Eclipse Jetty API Doc - v10.0.2)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-03-30">
<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.5.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 (Eclipse Jetty API Doc - v10.0.2)";
        }
    }
    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="../../core/internal/util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.core.internal.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.core.internal.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="../../core/internal/util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.core.internal.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="../../core/internal/messages/MessageSink.html" title="interface in org.eclipse.jetty.websocket.core.internal.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="../../core/internal/util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.core.internal.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.core.internal.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="../../core/internal/util/InvokerUtils.ParamIdentifier.html" title="interface in org.eclipse.jetty.websocket.core.internal.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="../../core/internal/messages/MessageSink.html" title="interface in org.eclipse.jetty.websocket.core.internal.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;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
