blob: 44e9aab9cc9ef58d264cfd0b65d4ad44a99f6c49 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181-google-v7) on Mon Jan 27 16:42:31 PST 2020 -->
<title>ReadableState (Apache Beam 2.20.0-SNAPSHOT)</title>
<meta name="date" content="2020-01-27">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ReadableState (Apache Beam 2.20.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/beam/sdk/state/MapState.html" title="interface in org.apache.beam.sdk.state"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/state/ReadableStates.html" title="class in org.apache.beam.sdk.state"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/state/ReadableState.html" target="_top">Frames</a></li>
<li><a href="ReadableState.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.state</div>
<h2 title="Interface ReadableState" class="title">Interface ReadableState&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of value returned by <a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#read--"><code>read()</code></a>.</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/beam/sdk/state/BagState.html" title="interface in org.apache.beam.sdk.state">BagState</a>&lt;T&gt;, <a href="../../../../../org/apache/beam/sdk/state/CombiningState.html" title="interface in org.apache.beam.sdk.state">CombiningState</a>&lt;InputT,AccumT,OutputT&gt;, <a href="../../../../../org/apache/beam/sdk/state/GroupingState.html" title="interface in org.apache.beam.sdk.state">GroupingState</a>&lt;InputT,OutputT&gt;, <a href="../../../../../org/apache/beam/sdk/state/SetState.html" title="interface in org.apache.beam.sdk.state">SetState</a>&lt;T&gt;, <a href="../../../../../org/apache/beam/sdk/state/ValueState.html" title="interface in org.apache.beam.sdk.state">ValueState</a>&lt;T&gt;, <a href="../../../../../org/apache/beam/sdk/state/WatermarkHoldState.html" title="interface in org.apache.beam.sdk.state">WatermarkHoldState</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html" title="annotation in org.apache.beam.sdk.annotations">@Experimental</a>(<a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html#value--">value</a>=<a href="../../../../../org/apache/beam/sdk/annotations/Experimental.Kind.html#STATE">STATE</a>)
public interface <span class="typeNameLabel">ReadableState&lt;T&gt;</span></pre>
<div class="block">A <a href="../../../../../org/apache/beam/sdk/state/State.html" title="interface in org.apache.beam.sdk.state"><code>State</code></a> that can be read via <a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#read--"><code>read()</code></a>.
<p>Use <a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#readLater--"><code>readLater()</code></a> for marking several states for prefetching. Runners can potentially
batch these into one read.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/state/ReadableState.html" title="type parameter in ReadableState">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#read--">read</a></span>()</code>
<div class="block">Read the current value, blocking until it is available.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/state/ReadableState.html" title="interface in org.apache.beam.sdk.state">ReadableState</a>&lt;<a href="../../../../../org/apache/beam/sdk/state/ReadableState.html" title="type parameter in ReadableState">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#readLater--">readLater</a></span>()</code>
<div class="block">Indicate that the value will be read later.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="read--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre><a href="https://static.javadoc.io/com.google.code.findbugs/jsr305/3.0.2/javax/annotation/Nullable.html?is-external=true" title="class or interface in javax.annotation">@Nullable</a>
<a href="../../../../../org/apache/beam/sdk/state/ReadableState.html" title="type parameter in ReadableState">T</a>&nbsp;read()</pre>
<div class="block">Read the current value, blocking until it is available.
<p>If there will be many calls to <a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#read--"><code>read()</code></a> for different state in short succession, you
should first call <a href="../../../../../org/apache/beam/sdk/state/ReadableState.html#readLater--"><code>readLater()</code></a> for all of them so the reads can potentially be batched
(depending on the underlying implementation}.
<p>The returned object should be independent of the underlying state. Any direct modification
of the returned object should not modify state without going through the appropriate state
interface, and modification to the state should not be mirrored in the returned object.</div>
</li>
</ul>
<a name="readLater--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>readLater</h4>
<pre><a href="../../../../../org/apache/beam/sdk/state/ReadableState.html" title="interface in org.apache.beam.sdk.state">ReadableState</a>&lt;<a href="../../../../../org/apache/beam/sdk/state/ReadableState.html" title="type parameter in ReadableState">T</a>&gt;&nbsp;readLater()</pre>
<div class="block">Indicate that the value will be read later.
<p>This allows an implementation to start an asynchronous prefetch or to include this state in
the next batch of reads.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for convenient chaining</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/beam/sdk/state/MapState.html" title="interface in org.apache.beam.sdk.state"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/state/ReadableStates.html" title="class in org.apache.beam.sdk.state"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/state/ReadableState.html" target="_top">Frames</a></li>
<li><a href="ReadableState.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>