blob: 057d7fa2123f97a8d0bc80c2d59f5a26a2e1fc52 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SaslContext (Qpid ProtonJ2 Parent 1.0.0-M9 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SaslContext (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":18,"i8":6,"i9":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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/SaslContext.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="../../../../../../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>
<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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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.apache.qpid.protonj2.engine.sasl</a></div>
<h2 title="Interface SaslContext" class="title">Interface SaslContext</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a></code>, <code><a href="SaslServerContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslServerContext</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">SaslContext</span></pre>
<div class="block">The basic SASL context APIs common to both client and server sides of the SASL exchange.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SaslContext.Role.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslContext.Role</a></span></code></th>
<td class="colLast">
<div class="block">Indicates the role that this SASL context plays either server or client.</div>
</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="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="t5" class="tableTab"><span><a href="javascript:show(16);">Default 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><a href="../Attachments.html" title="interface in org.apache.qpid.protonj2.engine">Attachments</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAttachments()">getAttachments</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a mutable context that the application layer can use to store meaningful data for itself
in relation to this specific SASL context object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getChosenMechanism()">getChosenMechanism</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the mechanism that was sent to the server to select the SASL mechanism
to use for negotiations.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHostname()">getHostname</a></span>()</code></th>
<td class="colLast">
<div class="block">The DNS name of the host (either fully qualified or relative) that was sent to the server
which define the host the sending peer is connecting to.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="SaslContext.Role.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslContext.Role</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRole()">getRole</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the Role of the context implementation.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="SaslOutcome.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslOutcome</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSaslOutcome()">getSaslOutcome</a></span>()</code></th>
<td class="colLast">
<div class="block">Provides a low level outcome value for the SASL authentication process.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../EngineSaslDriver.SaslState.html" title="enum in org.apache.qpid.protonj2.engine">EngineSaslDriver.SaslState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSaslState()">getSaslState</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a SaslState that indicates the current operating state of the SASL
negotiation process or conversely if no SASL layer is configured this method
should return the no-SASL state.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServerMechanisms()">getServerMechanisms</a></span>()</code></th>
<td class="colLast">
<div class="block">After the server has sent its supported mechanisms this method will return a
copy of that list for review by the server event handler.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isClient()">isClient</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDone()">isDone</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isServer()">isServer</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getAttachments()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttachments</h4>
<pre class="methodSignature"><a href="../Attachments.html" title="interface in org.apache.qpid.protonj2.engine">Attachments</a>&nbsp;getAttachments()</pre>
<div class="block">Returns a mutable context that the application layer can use to store meaningful data for itself
in relation to this specific SASL context object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../Attachments.html" title="interface in org.apache.qpid.protonj2.engine"><code>Attachments</code></a> instance that is associated with this <a href="SaslContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslContext</code></a></dd>
</dl>
</li>
</ul>
<a id="getRole()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRole</h4>
<pre class="methodSignature"><a href="SaslContext.Role.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslContext.Role</a>&nbsp;getRole()</pre>
<div class="block">Return the Role of the context implementation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Role of this SASL Context</dd>
</dl>
</li>
</ul>
<a id="isDone()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDone</h4>
<pre class="methodSignature">boolean&nbsp;isDone()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if SASL authentication has completed</dd>
</dl>
</li>
</ul>
<a id="isServer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isServer</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isServer()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this is a SASL server context.</dd>
</dl>
</li>
</ul>
<a id="isClient()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClient</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isClient()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this is a SASL client context.</dd>
</dl>
</li>
</ul>
<a id="getSaslOutcome()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSaslOutcome</h4>
<pre class="methodSignature"><a href="SaslOutcome.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslOutcome</a>&nbsp;getSaslOutcome()</pre>
<div class="block">Provides a low level outcome value for the SASL authentication process.
<p>
If the SASL exchange is ongoing or the SASL layer was skipped because a
particular engine configuration allows such behavior then this method
should return null to indicate no SASL outcome is available.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the SASL outcome code that results from authentication</dd>
</dl>
</li>
</ul>
<a id="getSaslState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSaslState</h4>
<pre class="methodSignature"><a href="../EngineSaslDriver.SaslState.html" title="enum in org.apache.qpid.protonj2.engine">EngineSaslDriver.SaslState</a>&nbsp;getSaslState()</pre>
<div class="block">Returns a SaslState that indicates the current operating state of the SASL
negotiation process or conversely if no SASL layer is configured this method
should return the no-SASL state. This method must never return a null result.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current state of SASL Authentication.</dd>
</dl>
</li>
</ul>
<a id="getServerMechanisms()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerMechanisms</h4>
<pre class="methodSignature"><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]&nbsp;getServerMechanisms()</pre>
<div class="block">After the server has sent its supported mechanisms this method will return a
copy of that list for review by the server event handler. If called before
the server has sent the mechanisms list this method will return null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the mechanisms that the server offered to the client.</dd>
</dl>
</li>
</ul>
<a id="getChosenMechanism()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChosenMechanism</h4>
<pre class="methodSignature"><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>&nbsp;getChosenMechanism()</pre>
<div class="block">Returns the mechanism that was sent to the server to select the SASL mechanism
to use for negotiations. If called before the client has sent its chosen mechanism
this method returns null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the SASL mechanism that the client selected to use for negotiation.</dd>
</dl>
</li>
</ul>
<a id="getHostname()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getHostname</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getHostname()</pre>
<div class="block">The DNS name of the host (either fully qualified or relative) that was sent to the server
which define the host the sending peer is connecting to. If called before the client sent
the host name information to the server this method returns null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the host name the client has requested to connect to.</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/SaslContext.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="../../../../../../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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>