blob: 4e0225c742c14aed117deeda58ef5d7633e0f393 [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>
<!-- Generated by javadoc (1.8.0_162) on Thu Feb 01 21:39:06 KST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Coder (Coral Project 0.1-SNAPSHOT API)</title>
<meta name="date" content="2018-02-01">
<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="Coder (Coral Project 0.1-SNAPSHOT API)";
}
}
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="class-use/Coder.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">
<li><a href="../../../../../edu/snu/coral/common/coder/BytesCoder.html" title="class in edu.snu.coral.common.coder"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../edu/snu/coral/common/coder/Coder.DummyCoder.html" title="class in edu.snu.coral.common.coder"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/snu/coral/common/coder/Coder.html" target="_top">Frames</a></li>
<li><a href="Coder.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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">edu.snu.coral.common.coder</div>
<h2 title="Interface Coder" class="title">Interface Coder&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> - element type.</dd>
</dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../edu/snu/coral/compiler/frontend/beam/coder/BeamCoder.html" title="class in edu.snu.coral.compiler.frontend.beam.coder">BeamCoder</a>, <a href="../../../../../edu/snu/coral/common/coder/BytesCoder.html" title="class in edu.snu.coral.common.coder">BytesCoder</a>, <a href="../../../../../edu/snu/coral/common/coder/Coder.DummyCoder.html" title="class in edu.snu.coral.common.coder">Coder.DummyCoder</a>, <a href="../../../../../edu/snu/coral/compiler/frontend/spark/coder/SparkCoder.html" title="class in edu.snu.coral.compiler.frontend.spark.coder">SparkCoder</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Coder&lt;T&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">A <a href="../../../../../edu/snu/coral/common/coder/Coder.html" title="interface in edu.snu.coral.common.coder"><code>Coder&lt;T&gt;</code></a> object encodes or decodes values of type <code>T</code> into byte streams.</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/snu/coral/common/coder/Coder.DummyCoder.html" title="class in edu.snu.coral.common.coder">Coder.DummyCoder</a></span></code>
<div class="block">Dummy coder implementation which is not supposed to be used.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../edu/snu/coral/common/coder/Coder.html" title="interface in edu.snu.coral.common.coder">Coder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/snu/coral/common/coder/Coder.html#DUMMY_CODER">DUMMY_CODER</a></span></code>
<div class="block">Dummy coder.</div>
</td>
</tr>
</table>
</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="../../../../../edu/snu/coral/common/coder/Coder.html" title="type parameter in Coder">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/snu/coral/common/coder/Coder.html#decode-java.io.InputStream-">decode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;inStream)</code>
<div class="block">Decodes the a value from the given input stream.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/snu/coral/common/coder/Coder.html#encode-T-java.io.OutputStream-">encode</a></span>(<a href="../../../../../edu/snu/coral/common/coder/Coder.html" title="type parameter in Coder">T</a>&nbsp;element,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;outStream)</code>
<div class="block">Encodes the given value onto the specified output stream.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DUMMY_CODER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DUMMY_CODER</h4>
<pre>static final&nbsp;<a href="../../../../../edu/snu/coral/common/coder/Coder.html" title="interface in edu.snu.coral.common.coder">Coder</a> DUMMY_CODER</pre>
<div class="block">Dummy coder.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="encode-java.lang.Object-java.io.OutputStream-">
<!-- -->
</a><a name="encode-T-java.io.OutputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encode</h4>
<pre>void&nbsp;encode(<a href="../../../../../edu/snu/coral/common/coder/Coder.html" title="type parameter in Coder">T</a>&nbsp;element,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;outStream)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Encodes the given value onto the specified output stream.
It have to be able to encode the given stream consequently by calling this method repeatedly.
Because the user can want to keep a single output stream and continuously concatenate elements,
the output stream should not be closed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>element</code> - the element to be encoded</dd>
<dd><code>outStream</code> - the stream on which encoded bytes are written</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if fail to encode</dd>
</dl>
</li>
</ul>
<a name="decode-java.io.InputStream-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>decode</h4>
<pre><a href="../../../../../edu/snu/coral/common/coder/Coder.html" title="type parameter in Coder">T</a>&nbsp;decode(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;inStream)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Decodes the a value from the given input stream.
It have to be able to decode the given stream consequently by calling this method repeatedly.
Because there are many elements in the input stream, the stream should not be closed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inStream</code> - the stream from which bytes are read</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the decoded element</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if fail to decode</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="class-use/Coder.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">
<li><a href="../../../../../edu/snu/coral/common/coder/BytesCoder.html" title="class in edu.snu.coral.common.coder"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../edu/snu/coral/common/coder/Coder.DummyCoder.html" title="class in edu.snu.coral.common.coder"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/snu/coral/common/coder/Coder.html" target="_top">Frames</a></li>
<li><a href="Coder.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2018. All rights reserved.</small></p>
</body>
</html>