<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.18) on Wed Mar 01 02:01:42 GMT 2023 -->
<title>HeronTuples.HeronDataTuple.Builder (Heron Java API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-03-01">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.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.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="HeronTuples.HeronDataTuple.Builder (Heron Java API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":9,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance 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="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>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.heron.proto.system</a></div>
<h2 title="Class HeronTuples.HeronDataTuple.Builder" class="title">Class HeronTuples.HeronDataTuple.Builder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.google.protobuf.AbstractMessageLite.Builder</li>
<li>
<ul class="inheritance">
<li>com.google.protobuf.AbstractMessage.Builder&lt;BuilderType&gt;</li>
<li>
<ul class="inheritance">
<li>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.heron.proto.system.HeronTuples.HeronDataTuple.Builder</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>com.google.protobuf.Message.Builder</code>, <code>com.google.protobuf.MessageLite.Builder</code>, <code>com.google.protobuf.MessageLiteOrBuilder</code>, <code>com.google.protobuf.MessageOrBuilder</code>, <code>java.lang.Cloneable</code>, <code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a></dd>
</dl>
<hr>
<pre>public static final class <span class="typeNameLabel">HeronTuples.HeronDataTuple.Builder</span>
extends com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;
implements <a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></pre>
<div class="block">Protobuf type <code>heron.proto.system.HeronDataTuple</code></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<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="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><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addAllDestTaskIds(java.lang.Iterable)">addAllDestTaskIds</a></span>&#8203;(java.lang.Iterable&lt;? extends java.lang.Integer&gt;&nbsp;values)</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addAllRoots(java.lang.Iterable)">addAllRoots</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&gt;&nbsp;values)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addAllValues(java.lang.Iterable)">addAllValues</a></span>&#8203;(java.lang.Iterable&lt;? extends com.google.protobuf.ByteString&gt;&nbsp;values)</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addDestTaskIds(int)">addDestTaskIds</a></span>&#8203;(int&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)">addRepeatedField</a></span>&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field,
                java.lang.Object&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRoots(int,org.apache.heron.proto.system.HeronTuples.RootId)">addRoots</a></span>&#8203;(int&nbsp;index,
        <a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRoots(int,org.apache.heron.proto.system.HeronTuples.RootId.Builder)">addRoots</a></span>&#8203;(int&nbsp;index,
        <a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;builderForValue)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRoots(org.apache.heron.proto.system.HeronTuples.RootId)">addRoots</a></span>&#8203;(<a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRoots(org.apache.heron.proto.system.HeronTuples.RootId.Builder)">addRoots</a></span>&#8203;(<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;builderForValue)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRootsBuilder()">addRootsBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRootsBuilder(int)">addRootsBuilder</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addValues(com.google.protobuf.ByteString)">addValues</a></span>&#8203;(com.google.protobuf.ByteString&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildPartial()">buildPartial</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clear()">clear</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearDestTaskIds()">clearDestTaskIds</a></span>()</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearField(com.google.protobuf.Descriptors.FieldDescriptor)">clearField</a></span>&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearKey()">clearKey</a></span>()</code></th>
<td class="colLast">
<div class="block"><code>required sfixed64 key = 1;</code></div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)">clearOneof</a></span>&#8203;(com.google.protobuf.Descriptors.OneofDescriptor&nbsp;oneof)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearRoots()">clearRoots</a></span>()</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearValues()">clearValues</a></span>()</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clone()">clone</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultInstanceForType()">getDefaultInstanceForType</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static com.google.protobuf.Descriptors.Descriptor</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDescriptor()">getDescriptor</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>com.google.protobuf.Descriptors.Descriptor</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDescriptorForType()">getDescriptorForType</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDestTaskIds(int)">getDestTaskIds</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDestTaskIdsCount()">getDestTaskIdsCount</a></span>()</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDestTaskIdsList()">getDestTaskIdsList</a></span>()</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getKey()">getKey</a></span>()</code></th>
<td class="colLast">
<div class="block"><code>required sfixed64 key = 1;</code></div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRoots(int)">getRoots</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootsBuilder(int)">getRootsBuilder</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootsBuilderList()">getRootsBuilderList</a></span>()</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootsCount()">getRootsCount</a></span>()</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootsList()">getRootsList</a></span>()</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.RootIdOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.RootIdOrBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootsOrBuilder(int)">getRootsOrBuilder</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;? extends <a href="HeronTuples.RootIdOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.RootIdOrBuilder</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootsOrBuilderList()">getRootsOrBuilderList</a></span>()</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>com.google.protobuf.ByteString</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValues(int)">getValues</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValuesCount()">getValuesCount</a></span>()</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>java.util.List&lt;com.google.protobuf.ByteString&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValuesList()">getValuesList</a></span>()</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasKey()">hasKey</a></span>()</code></th>
<td class="colLast">
<div class="block"><code>required sfixed64 key = 1;</code></div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalGetFieldAccessorTable()">internalGetFieldAccessorTable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isInitialized()">isInitialized</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)">mergeFrom</a></span>&#8203;(com.google.protobuf.CodedInputStream&nbsp;input,
         com.google.protobuf.ExtensionRegistryLite&nbsp;extensionRegistry)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mergeFrom(com.google.protobuf.Message)">mergeFrom</a></span>&#8203;(com.google.protobuf.Message&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mergeFrom(org.apache.heron.proto.system.HeronTuples.HeronDataTuple)">mergeFrom</a></span>&#8203;(<a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mergeUnknownFields(com.google.protobuf.UnknownFieldSet)">mergeUnknownFields</a></span>&#8203;(com.google.protobuf.UnknownFieldSet&nbsp;unknownFields)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRoots(int)">removeRoots</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDestTaskIds(int,int)">setDestTaskIds</a></span>&#8203;(int&nbsp;index,
              int&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)">setField</a></span>&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field,
        java.lang.Object&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setKey(long)">setKey</a></span>&#8203;(long&nbsp;value)</code></th>
<td class="colLast">
<div class="block"><code>required sfixed64 key = 1;</code></div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)">setRepeatedField</a></span>&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field,
                int&nbsp;index,
                java.lang.Object&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRoots(int,org.apache.heron.proto.system.HeronTuples.RootId)">setRoots</a></span>&#8203;(int&nbsp;index,
        <a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRoots(int,org.apache.heron.proto.system.HeronTuples.RootId.Builder)">setRoots</a></span>&#8203;(int&nbsp;index,
        <a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;builderForValue)</code></th>
<td class="colLast">
<div class="block">
 What are the roots</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUnknownFields(com.google.protobuf.UnknownFieldSet)">setUnknownFields</a></span>&#8203;(com.google.protobuf.UnknownFieldSet&nbsp;unknownFields)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code><a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValues(int,com.google.protobuf.ByteString)">setValues</a></span>&#8203;(int&nbsp;index,
         com.google.protobuf.ByteString&nbsp;value)</code></th>
<td class="colLast">
<div class="block">
 The actual payload</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.protobuf.GeneratedMessageV3.Builder">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;com.google.protobuf.GeneratedMessageV3.Builder</h3>
<code>getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.protobuf.AbstractMessage.Builder">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;com.google.protobuf.AbstractMessage.Builder</h3>
<code>findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.protobuf.AbstractMessageLite.Builder">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;com.google.protobuf.AbstractMessageLite.Builder</h3>
<code>addAll, addAll, mergeFrom, newUninitializedMessageException</code></li>
</ul>
<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>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.protobuf.MessageLite.Builder">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.protobuf.MessageLite.Builder</h3>
<code>mergeFrom</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.protobuf.MessageOrBuilder">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.protobuf.MessageOrBuilder</h3>
<code>findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getDescriptor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptor</h4>
<pre class="methodSignature">public static final&nbsp;com.google.protobuf.Descriptors.Descriptor&nbsp;getDescriptor()</pre>
</li>
</ul>
<a id="internalGetFieldAccessorTable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>internalGetFieldAccessorTable</h4>
<pre class="methodSignature">protected&nbsp;com.google.protobuf.GeneratedMessageV3.FieldAccessorTable&nbsp;internalGetFieldAccessorTable()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>internalGetFieldAccessorTable</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="clear()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clear()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clear</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clear</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLite.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>clear</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getDescriptorForType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptorForType</h4>
<pre class="methodSignature">public&nbsp;com.google.protobuf.Descriptors.Descriptor&nbsp;getDescriptorForType()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getDescriptorForType</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getDescriptorForType</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageOrBuilder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getDescriptorForType</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getDefaultInstanceForType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultInstanceForType</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a>&nbsp;getDefaultInstanceForType()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getDefaultInstanceForType</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLiteOrBuilder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getDefaultInstanceForType</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageOrBuilder</code></dd>
</dl>
</li>
</ul>
<a id="build()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a>&nbsp;build()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>build</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>build</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLite.Builder</code></dd>
</dl>
</li>
</ul>
<a id="buildPartial()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildPartial</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a>&nbsp;buildPartial()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>buildPartial</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>buildPartial</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLite.Builder</code></dd>
</dl>
</li>
</ul>
<a id="clone()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clone()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clone</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clone</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLite.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>clone</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setField</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setField&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field,
                                                   java.lang.Object&nbsp;value)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setField</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>setField</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="clearField(com.google.protobuf.Descriptors.FieldDescriptor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearField</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clearField&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clearField</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>clearField</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearOneof</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clearOneof&#8203;(com.google.protobuf.Descriptors.OneofDescriptor&nbsp;oneof)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clearOneof</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>clearOneof</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRepeatedField</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setRepeatedField&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field,
                                                           int&nbsp;index,
                                                           java.lang.Object&nbsp;value)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setRepeatedField</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>setRepeatedField</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRepeatedField</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addRepeatedField&#8203;(com.google.protobuf.Descriptors.FieldDescriptor&nbsp;field,
                                                           java.lang.Object&nbsp;value)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>addRepeatedField</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>addRepeatedField</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="mergeFrom(com.google.protobuf.Message)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeFrom</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;mergeFrom&#8203;(com.google.protobuf.Message&nbsp;other)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>mergeFrom</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>mergeFrom</code>&nbsp;in class&nbsp;<code>com.google.protobuf.AbstractMessage.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="mergeFrom(org.apache.heron.proto.system.HeronTuples.HeronDataTuple)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeFrom</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;mergeFrom&#8203;(<a href="HeronTuples.HeronDataTuple.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple</a>&nbsp;other)</pre>
</li>
</ul>
<a id="isInitialized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInitialized</h4>
<pre class="methodSignature">public final&nbsp;boolean&nbsp;isInitialized()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isInitialized</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLiteOrBuilder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isInitialized</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeFrom</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;mergeFrom&#8203;(com.google.protobuf.CodedInputStream&nbsp;input,
                                                    com.google.protobuf.ExtensionRegistryLite&nbsp;extensionRegistry)
                                             throws java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>mergeFrom</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>mergeFrom</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.MessageLite.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>mergeFrom</code>&nbsp;in class&nbsp;<code>com.google.protobuf.AbstractMessage.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="hasKey()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasKey</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;hasKey()</pre>
<div class="block"><code>required sfixed64 key = 1;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#hasKey()">hasKey</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether the key field is set.</dd>
</dl>
</li>
</ul>
<a id="getKey()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKey</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getKey()</pre>
<div class="block"><code>required sfixed64 key = 1;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getKey()">getKey</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The key.</dd>
</dl>
</li>
</ul>
<a id="setKey(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKey</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setKey&#8203;(long&nbsp;value)</pre>
<div class="block"><code>required sfixed64 key = 1;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The key to set.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="clearKey()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearKey</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clearKey()</pre>
<div class="block"><code>required sfixed64 key = 1;</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="getRootsList()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootsList</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&gt;&nbsp;getRootsList()</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getRootsList()">getRootsList</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="getRootsCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootsCount</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getRootsCount()</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getRootsCount()">getRootsCount</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="getRoots(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;getRoots&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getRoots(int)">getRoots</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="setRoots(int,org.apache.heron.proto.system.HeronTuples.RootId)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setRoots&#8203;(int&nbsp;index,
                                                   <a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;value)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="setRoots(int,org.apache.heron.proto.system.HeronTuples.RootId.Builder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setRoots&#8203;(int&nbsp;index,
                                                   <a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;builderForValue)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="addRoots(org.apache.heron.proto.system.HeronTuples.RootId)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addRoots&#8203;(<a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;value)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="addRoots(int,org.apache.heron.proto.system.HeronTuples.RootId)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addRoots&#8203;(int&nbsp;index,
                                                   <a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&nbsp;value)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="addRoots(org.apache.heron.proto.system.HeronTuples.RootId.Builder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addRoots&#8203;(<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;builderForValue)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="addRoots(int,org.apache.heron.proto.system.HeronTuples.RootId.Builder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addRoots&#8203;(int&nbsp;index,
                                                   <a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;builderForValue)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="addAllRoots(java.lang.Iterable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAllRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addAllRoots&#8203;(java.lang.Iterable&lt;? extends <a href="HeronTuples.RootId.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId</a>&gt;&nbsp;values)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="clearRoots()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clearRoots()</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="removeRoots(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRoots</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;removeRoots&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="getRootsBuilder(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootsBuilder</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;getRootsBuilder&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="getRootsOrBuilder(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootsOrBuilder</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.RootIdOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.RootIdOrBuilder</a>&nbsp;getRootsOrBuilder&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getRootsOrBuilder(int)">getRootsOrBuilder</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="getRootsOrBuilderList()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootsOrBuilderList</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;? extends <a href="HeronTuples.RootIdOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.RootIdOrBuilder</a>&gt;&nbsp;getRootsOrBuilderList()</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getRootsOrBuilderList()">getRootsOrBuilderList</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="addRootsBuilder()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRootsBuilder</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;addRootsBuilder()</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="addRootsBuilder(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRootsBuilder</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&nbsp;addRootsBuilder&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="getRootsBuilderList()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootsBuilderList</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="HeronTuples.RootId.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.RootId.Builder</a>&gt;&nbsp;getRootsBuilderList()</pre>
<div class="block"><pre>
 What are the roots
 </pre>

 <code>repeated .heron.proto.system.RootId roots = 2;</code></div>
</li>
</ul>
<a id="getValuesList()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValuesList</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;com.google.protobuf.ByteString&gt;&nbsp;getValuesList()</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getValuesList()">getValuesList</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A list containing the values.</dd>
</dl>
</li>
</ul>
<a id="getValuesCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValuesCount</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getValuesCount()</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getValuesCount()">getValuesCount</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The count of values.</dd>
</dl>
</li>
</ul>
<a id="getValues(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValues</h4>
<pre class="methodSignature">public&nbsp;com.google.protobuf.ByteString&nbsp;getValues&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getValues(int)">getValues</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - The index of the element to return.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The values at the given index.</dd>
</dl>
</li>
</ul>
<a id="setValues(int,com.google.protobuf.ByteString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValues</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setValues&#8203;(int&nbsp;index,
                                                    com.google.protobuf.ByteString&nbsp;value)</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - The index to set the value at.</dd>
<dd><code>value</code> - The values to set.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="addValues(com.google.protobuf.ByteString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addValues</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addValues&#8203;(com.google.protobuf.ByteString&nbsp;value)</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The values to add.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="addAllValues(java.lang.Iterable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAllValues</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addAllValues&#8203;(java.lang.Iterable&lt;? extends com.google.protobuf.ByteString&gt;&nbsp;values)</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="clearValues()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearValues</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clearValues()</pre>
<div class="block"><pre>
 The actual payload
 </pre>

 <code>repeated bytes values = 3;</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="getDestTaskIdsList()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDestTaskIdsList</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;getDestTaskIdsList()</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getDestTaskIdsList()">getDestTaskIdsList</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A list containing the destTaskIds.</dd>
</dl>
</li>
</ul>
<a id="getDestTaskIdsCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDestTaskIdsCount</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getDestTaskIdsCount()</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getDestTaskIdsCount()">getDestTaskIdsCount</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The count of destTaskIds.</dd>
</dl>
</li>
</ul>
<a id="getDestTaskIds(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDestTaskIds</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getDestTaskIds&#8203;(int&nbsp;index)</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HeronTuples.HeronDataTupleOrBuilder.html#getDestTaskIds(int)">getDestTaskIds</a></code>&nbsp;in interface&nbsp;<code><a href="HeronTuples.HeronDataTupleOrBuilder.html" title="interface in org.apache.heron.proto.system">HeronTuples.HeronDataTupleOrBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - The index of the element to return.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The destTaskIds at the given index.</dd>
</dl>
</li>
</ul>
<a id="setDestTaskIds(int,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDestTaskIds</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setDestTaskIds&#8203;(int&nbsp;index,
                                                         int&nbsp;value)</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - The index to set the value at.</dd>
<dd><code>value</code> - The destTaskIds to set.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="addDestTaskIds(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDestTaskIds</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addDestTaskIds&#8203;(int&nbsp;value)</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The destTaskIds to add.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="addAllDestTaskIds(java.lang.Iterable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAllDestTaskIds</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;addAllDestTaskIds&#8203;(java.lang.Iterable&lt;? extends java.lang.Integer&gt;&nbsp;values)</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The destTaskIds to add.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="clearDestTaskIds()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearDestTaskIds</h4>
<pre class="methodSignature">public&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;clearDestTaskIds()</pre>
<div class="block"><pre>
 If present, this set of tuples must be sent
 to these destination global task ids as well
 Only valid for data tuples from instance to stmgr
 </pre>

 <code>repeated int32 dest_task_ids = 4;</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="setUnknownFields(com.google.protobuf.UnknownFieldSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUnknownFields</h4>
<pre class="methodSignature">public final&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;setUnknownFields&#8203;(com.google.protobuf.UnknownFieldSet&nbsp;unknownFields)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setUnknownFields</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>setUnknownFields</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="mergeUnknownFields(com.google.protobuf.UnknownFieldSet)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mergeUnknownFields</h4>
<pre class="methodSignature">public final&nbsp;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&nbsp;mergeUnknownFields&#8203;(com.google.protobuf.UnknownFieldSet&nbsp;unknownFields)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>mergeUnknownFields</code>&nbsp;in interface&nbsp;<code>com.google.protobuf.Message.Builder</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>mergeUnknownFields</code>&nbsp;in class&nbsp;<code>com.google.protobuf.GeneratedMessageV3.Builder&lt;<a href="HeronTuples.HeronDataTuple.Builder.html" title="class in org.apache.heron.proto.system">HeronTuples.HeronDataTuple.Builder</a>&gt;</code></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="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>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>
</footer>
</body>
</html>
