blob: ca6fb5651db7842d0191ea74a6de55c1a21edd3b [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.9.1) on Fri Sep 09 19:30:40 KST 2022 -->
<title>DAGBuilder (Nemo Project 0.4 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-09">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DAGBuilder (Nemo Project 0.4 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};
var tabs = {65535:["t0","All 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="class-use/DAGBuilder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.nemo.common.dag</a></div>
<h2 title="Class DAGBuilder" class="title">Class DAGBuilder&lt;V extends <a href="Vertex.html" title="class in org.apache.nemo.common.dag">Vertex</a>,&#8203;E extends <a href="Edge.html" title="class in org.apache.nemo.common.dag">Edge</a>&lt;V&gt;&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.nemo.common.dag.DAGBuilder&lt;V,&#8203;E&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>V</code> - the vertex type.</dd>
<dd><code>E</code> - the edge type.</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">DAGBuilder&lt;V extends <a href="Vertex.html" title="class in org.apache.nemo.common.dag">Vertex</a>,&#8203;E extends <a href="Edge.html" title="class in org.apache.nemo.common.dag">Edge</a>&lt;V&gt;&gt;</span>
extends java.lang.Object
implements java.io.Serializable</pre>
<div class="block">DAG Builder.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.nemo.common.dag.DAGBuilder">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">DAGBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">Constructor of DAGBuilder: it initializes everything.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.nemo.common.dag.DAG)">DAGBuilder</a></span>&#8203;(<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;dag)</code></th>
<td class="colLast">
<div class="block">Constructor of DAGBuilder with a DAG to start from.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="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="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addVertex(V)">addVertex</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v)</code></th>
<td class="colLast">
<div class="block">Add vertex to the builder.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addVertex(V,java.util.Stack)">addVertex</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v,
java.util.Stack&lt;<a href="../ir/vertex/LoopVertex.html" title="class in org.apache.nemo.common.ir.vertex">LoopVertex</a>&gt;&nbsp;loopVertexStack)</code></th>
<td class="colLast">
<div class="block">Add vertex to the builder, using the LoopVertex stack.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addVertex(V,org.apache.nemo.common.dag.DAG)">addVertex</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v,
<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;dag)</code></th>
<td class="colLast">
<div class="block">Add vertex to the builder, using the information from the given DAG.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Build the DAG.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildWithoutSourceCheck()">buildWithoutSourceCheck</a></span>()</code></th>
<td class="colLast">
<div class="block">Build the DAG without source check.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildWithoutSourceSinkCheck()">buildWithoutSourceSinkCheck</a></span>()</code></th>
<td class="colLast">
<div class="block">Build the DAG without source and sink check.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connectSplitterVertexWithoutReplacing(E,E)">connectSplitterVertexWithoutReplacing</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edgeToReference,
<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edgeToInsert)</code></th>
<td class="colLast">
<div class="block">This method adds a information in SplitterVertex's LoopEdge - InternalEdge relationship and connects the Edge
without replacing existing mapping relationships.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connectSplitterVertexWithReplacing(E,E)">connectSplitterVertexWithReplacing</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;originalEdge,
<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edgeToInsert)</code></th>
<td class="colLast">
<div class="block">This method replaces current SplitterVertex's LoopEdge - InternalEdge relationship with the new relationship
and connects the Edge.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connectVertices(E)">connectVertices</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edge)</code></th>
<td class="colLast">
<div class="block">Connect vertices at the edge.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contains(java.util.function.Predicate)">contains</a></span>&#8203;(java.util.function.Predicate&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">check if the DAGBuilder contains any vertex that satisfies the predicate.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contains(V)">contains</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;vertex)</code></th>
<td class="colLast">
<div class="block">check if the DAGBuilder contains the vertex.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmpty()">isEmpty</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks whether the DAGBuilder is empty.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeVertex(V)">removeVertex</a></span>&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v)</code></th>
<td class="colLast">
<div class="block">Remove the vertex from the list.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DAGBuilder</h4>
<pre>public&nbsp;DAGBuilder()</pre>
<div class="block">Constructor of DAGBuilder: it initializes everything.</div>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.nemo.common.dag.DAG)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DAGBuilder</h4>
<pre>public&nbsp;DAGBuilder&#8203;(<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;dag)</pre>
<div class="block">Constructor of DAGBuilder with a DAG to start from.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dag</code> - to start the builder from.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="addVertex(org.apache.nemo.common.dag.Vertex)">
<!-- -->
</a><a id="addVertex(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addVertex</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;addVertex&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v)</pre>
<div class="block">Add vertex to the builder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - vertex to add.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder.</dd>
</dl>
</li>
</ul>
<a id="addVertex(org.apache.nemo.common.dag.Vertex,java.util.Stack)">
<!-- -->
</a><a id="addVertex(V,java.util.Stack)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addVertex</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;addVertex&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v,
java.util.Stack&lt;<a href="../ir/vertex/LoopVertex.html" title="class in org.apache.nemo.common.ir.vertex">LoopVertex</a>&gt;&nbsp;loopVertexStack)</pre>
<div class="block">Add vertex to the builder, using the LoopVertex stack.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - vertex to add.</dd>
<dd><code>loopVertexStack</code> - LoopVertex stack to retrieve the information from.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder.</dd>
</dl>
</li>
</ul>
<a id="addVertex(org.apache.nemo.common.dag.Vertex,org.apache.nemo.common.dag.DAG)">
<!-- -->
</a><a id="addVertex(V,org.apache.nemo.common.dag.DAG)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addVertex</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;addVertex&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v,
<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;dag)</pre>
<div class="block">Add vertex to the builder, using the information from the given DAG.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - vertex to add.</dd>
<dd><code>dag</code> - DAG to observe and get the LoopVertex-related information from.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder.</dd>
</dl>
</li>
</ul>
<a id="removeVertex(org.apache.nemo.common.dag.Vertex)">
<!-- -->
</a><a id="removeVertex(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeVertex</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;removeVertex&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;v)</pre>
<div class="block">Remove the vertex from the list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - vertex to remove.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder.</dd>
</dl>
</li>
</ul>
<a id="connectVertices(org.apache.nemo.common.dag.Edge)">
<!-- -->
</a><a id="connectVertices(E)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectVertices</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;connectVertices&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edge)</pre>
<div class="block">Connect vertices at the edge.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>edge</code> - edge to add.
Note: the two vertices of the edge should already be added to the DAGBuilder.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder.</dd>
</dl>
</li>
</ul>
<a id="connectSplitterVertexWithReplacing(org.apache.nemo.common.dag.Edge,org.apache.nemo.common.dag.Edge)">
<!-- -->
</a><a id="connectSplitterVertexWithReplacing(E,E)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectSplitterVertexWithReplacing</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;connectSplitterVertexWithReplacing&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;originalEdge,
<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edgeToInsert)</pre>
<div class="block">This method replaces current SplitterVertex's LoopEdge - InternalEdge relationship with the new relationship
and connects the Edge.
The changes which invokes this method should not be caused by SplitterVertex itself. Therefore, this method
should be used when there are changes in vertices before / after SplitterVertex.
CAUTION: TaskSizeSplitterVertex must only appear in IRDAG.
<code>originalEdge</code> and <code>edgeToInsert</code> should have same source and destination.
Relation to be Erased: originalEdge - internalEdge
Relation to insert: edgeToInsert - newInternalEdge</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>originalEdge</code> - edge connected to SplitterVertex, and is to be replaced.</dd>
<dd><code>edgeToInsert</code> - edge connected to SplitterVertex, and is to be inserted.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself.</dd>
</dl>
</li>
</ul>
<a id="connectSplitterVertexWithoutReplacing(org.apache.nemo.common.dag.Edge,org.apache.nemo.common.dag.Edge)">
<!-- -->
</a><a id="connectSplitterVertexWithoutReplacing(E,E)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectSplitterVertexWithoutReplacing</h4>
<pre class="methodSignature">public&nbsp;<a href="DAGBuilder.html" title="class in org.apache.nemo.common.dag">DAGBuilder</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;connectSplitterVertexWithoutReplacing&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edgeToReference,
<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&nbsp;edgeToInsert)</pre>
<div class="block">This method adds a information in SplitterVertex's LoopEdge - InternalEdge relationship and connects the Edge
without replacing existing mapping relationships.
The changes which invokes this method should not be caused by SplitterVertex itself. Therefore, this method
should be used when there are changes in vertices before / after SplitterVertex.
Since <code>edgeToInsert</code> should also have a mapping relationship to originalVertices of SplitterVertex,
we give <code>edgeToReference</code> together to copy the mapping information. Therefore, these two parameters must
have at least one common source or destination.
Relation to reference: edgeToReference - internalEdge
Relation to add: edgeToInsert - newInternalEdge
CAUTION: TaskSizeSplitterVertex must only appear in IRDAG.
Use case example: when inserting trigger vertices before / after splitterVertex.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>edgeToReference</code> - edge connected to SplitterVertex, and to reference.</dd>
<dd><code>edgeToInsert</code> - edge connected to SplitterVertex, and to insert.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself.</dd>
</dl>
</li>
</ul>
<a id="isEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block">Checks whether the DAGBuilder is empty.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the DAGBuilder is empty or not.</dd>
</dl>
</li>
</ul>
<a id="contains(org.apache.nemo.common.dag.Vertex)">
<!-- -->
</a><a id="contains(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contains</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;contains&#8203;(<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&nbsp;vertex)</pre>
<div class="block">check if the DAGBuilder contains the vertex.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vertex</code> - vertex that it searches for.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the builder contains it.</dd>
</dl>
</li>
</ul>
<a id="contains(java.util.function.Predicate)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contains</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;contains&#8203;(java.util.function.Predicate&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>&gt;&nbsp;predicate)</pre>
<div class="block">check if the DAGBuilder contains any vertex that satisfies the predicate.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - predicate to test each vertices with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the builder contains it.</dd>
</dl>
</li>
</ul>
<a id="buildWithoutSourceSinkCheck()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildWithoutSourceSinkCheck</h4>
<pre class="methodSignature">public&nbsp;<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;buildWithoutSourceSinkCheck()</pre>
<div class="block">Build the DAG without source and sink check.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the DAG contained by the builder.</dd>
</dl>
</li>
</ul>
<a id="buildWithoutSourceCheck()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildWithoutSourceCheck</h4>
<pre class="methodSignature">public&nbsp;<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;buildWithoutSourceCheck()</pre>
<div class="block">Build the DAG without source check.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the DAG contained by the builder.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="DAG.html" title="class in org.apache.nemo.common.dag">DAG</a>&lt;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">V</a>,&#8203;<a href="DAGBuilder.html" title="type parameter in DAGBuilder">E</a>&gt;&nbsp;build()</pre>
<div class="block">Build the DAG.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the DAG contained by the builder.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DAGBuilder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>