blob: 95f5d8dc765e2abab0852d463a6b0cb3442d3994 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Decoder.Binary</title>
<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="Decoder.Binary";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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">
<li><a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/websocket/Decoder.BinaryStream.html" title="interface in jakarta.websocket"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/websocket/Decoder.Binary.html" target="_top">Frames</a></li>
<li><a href="Decoder.Binary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.websocket</div>
<h2 title="Interface Decoder.Binary" class="title">Interface Decoder.Binary&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of the object that is decoded</dd>
</dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket">Decoder</a></dd>
</dl>
<dl>
<dt>Enclosing interface:</dt>
<dd><a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket">Decoder</a></dd>
</dl>
<hr>
<br>
<pre>public static interface <span class="typeNameLabel">Decoder.Binary&lt;T&gt;</span>
extends <a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket">Decoder</a></pre>
<div class="block">This interface defines how a custom object (of type T) is decoded from a web socket message in the form of a byte
buffer.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.jakarta.websocket.Decoder">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;jakarta.websocket.<a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket">Decoder</a></h3>
<code><a href="../../jakarta/websocket/Decoder.Binary.html" title="interface in jakarta.websocket">Decoder.Binary</a>&lt;<a href="../../jakarta/websocket/Decoder.Binary.html" title="type parameter in Decoder.Binary">T</a>&gt;, <a href="../../jakarta/websocket/Decoder.BinaryStream.html" title="interface in jakarta.websocket">Decoder.BinaryStream</a>&lt;<a href="../../jakarta/websocket/Decoder.BinaryStream.html" title="type parameter in Decoder.BinaryStream">T</a>&gt;, <a href="../../jakarta/websocket/Decoder.Text.html" title="interface in jakarta.websocket">Decoder.Text</a>&lt;<a href="../../jakarta/websocket/Decoder.Text.html" title="type parameter in Decoder.Text">T</a>&gt;, <a href="../../jakarta/websocket/Decoder.TextStream.html" title="interface in jakarta.websocket">Decoder.TextStream</a>&lt;<a href="../../jakarta/websocket/Decoder.TextStream.html" title="type parameter in Decoder.TextStream">T</a>&gt;</code></li>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/websocket/Decoder.Binary.html" title="type parameter in Decoder.Binary">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/websocket/Decoder.Binary.html#decode-java.nio.ByteBuffer-">decode</a></span>(java.nio.ByteBuffer&nbsp;bytes)</code>
<div class="block">Decode the given bytes into an object of type T.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/websocket/Decoder.Binary.html#willDecode-java.nio.ByteBuffer-">willDecode</a></span>(java.nio.ByteBuffer&nbsp;bytes)</code>
<div class="block">Answer whether the given bytes can be decoded into an object of type T.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.jakarta.websocket.Decoder">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;jakarta.websocket.<a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket">Decoder</a></h3>
<code><a href="../../jakarta/websocket/Decoder.html#destroy--">destroy</a>, <a href="../../jakarta/websocket/Decoder.html#init-jakarta.websocket.EndpointConfig-">init</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="decode-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decode</h4>
<pre><a href="../../jakarta/websocket/Decoder.Binary.html" title="type parameter in Decoder.Binary">T</a>&nbsp;decode(java.nio.ByteBuffer&nbsp;bytes)
throws <a href="../../jakarta/websocket/DecodeException.html" title="class in jakarta.websocket">DecodeException</a></pre>
<div class="block">Decode the given bytes into an object of type T.
<p>
It is not safe for other threads to use the ByteBuffer until the decoding of the given bytes is complete. If
the decoding completes successfully, the buffer's limit will be unchanged and the buffer's position
will be equal to the limit. If the decoding does not complete successfully, the state of the buffer is
undefined.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - the bytes to be decoded.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the decoded object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/websocket/DecodeException.html" title="class in jakarta.websocket">DecodeException</a></code> - If the provided bytes cannot be decoded to type T</dd>
</dl>
</li>
</ul>
<a name="willDecode-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>willDecode</h4>
<pre>boolean&nbsp;willDecode(java.nio.ByteBuffer&nbsp;bytes)</pre>
<div class="block">Answer whether the given bytes can be decoded into an object of type T.
<p>
It is not safe for other threads to use the ByteBuffer until this method completes. When the method
completes, the buffer will be in the same state as it was at the start of the method call.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - the bytes to be decoded.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the bytes can be decoded by this decoder.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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">
<li><a href="../../jakarta/websocket/Decoder.html" title="interface in jakarta.websocket"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/websocket/Decoder.BinaryStream.html" title="interface in jakarta.websocket"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/websocket/Decoder.Binary.html" target="_top">Frames</a></li>
<li><a href="Decoder.Binary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>