<!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 (version 1.6.0_36) on Tue Nov 24 10:06:51 CST 2015 -->
<title>PersistentState</title>
<meta name="date" content="2015-11-24">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="PersistentState";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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="../../../../../io/gearpump/streaming/state/api/MonoidState.html" title="class in io.gearpump.streaming.state.api"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../io/gearpump/streaming/state/api/PersistentTask.html" title="class in io.gearpump.streaming.state.api"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?io/gearpump/streaming/state/api/PersistentState.html" target="_top">FRAMES</a></li>
<li><a href="PersistentState.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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">
<p class="subTitle">io.gearpump.streaming.state.api</p>
<h2 title="Interface PersistentState" class="title">Interface PersistentState&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../io/gearpump/streaming/state/api/MonoidState.html" title="class in io.gearpump.streaming.state.api">MonoidState</a>, <a href="../../../../../io/gearpump/streaming/state/impl/NonWindowState.html" title="class in io.gearpump.streaming.state.impl">NonWindowState</a>, <a href="../../../../../io/gearpump/streaming/state/impl/WindowState.html" title="class in io.gearpump.streaming.state.impl">WindowState</a></dd>
</dl>
<hr>
<br>
<pre>public interface <strong>PersistentState&lt;T&gt;</strong></pre>
<div class="block">PersistentState is part of the transaction API
 <p>
 Users could get transaction support from the framework by
 conforming to PersistentState APIs and extending PersistentTask
 to manage the state</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html#checkpoint()">checkpoint</a></strong>()</code>
<div class="block">get a binary snapshot of state
 usually invoked by the framework</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>scala.Option&lt;<a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html" title="type parameter in PersistentState">T</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html#get()">get</a></strong>()</code>
<div class="block">unwrap the raw value of state</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html#recover(long, byte[])">recover</a></strong>(long&nbsp;timestamp,
       byte[]&nbsp;bytes)</code>
<div class="block">recover state to a previous checkpoint
 usually invoked by the framework</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html#setNextCheckpointTime(long)">setNextCheckpointTime</a></strong>(long&nbsp;timeStamp)</code>
<div class="block">set next checkpoint time
 should be invoked by the framework</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html#update(long, T)">update</a></strong>(long&nbsp;timestamp,
      <a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html" title="type parameter in PersistentState">T</a>&nbsp;t)</code>
<div class="block">update state on a new message
 this is invoked by user</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="recover(long, byte[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recover</h4>
<pre>void&nbsp;recover(long&nbsp;timestamp,
           byte[]&nbsp;bytes)</pre>
<div class="block">recover state to a previous checkpoint
 usually invoked by the framework</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>timestamp</code> - (undocumented)</dd><dd><code>bytes</code> - (undocumented)</dd></dl>
</li>
</ul>
<a name="update(long,java.lang.Object)">
<!--   -->
</a><a name="update(long, T)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>void&nbsp;update(long&nbsp;timestamp,
          <a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html" title="type parameter in PersistentState">T</a>&nbsp;t)</pre>
<div class="block">update state on a new message
 this is invoked by user</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>timestamp</code> - (undocumented)</dd><dd><code>t</code> - (undocumented)</dd></dl>
</li>
</ul>
<a name="setNextCheckpointTime(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNextCheckpointTime</h4>
<pre>void&nbsp;setNextCheckpointTime(long&nbsp;timeStamp)</pre>
<div class="block">set next checkpoint time
 should be invoked by the framework</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>timeStamp</code> - (undocumented)</dd></dl>
</li>
</ul>
<a name="checkpoint()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkpoint</h4>
<pre>byte[]&nbsp;checkpoint()</pre>
<div class="block">get a binary snapshot of state
 usually invoked by the framework</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>(undocumented)</dd></dl>
</li>
</ul>
<a name="get()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>get</h4>
<pre>scala.Option&lt;<a href="../../../../../io/gearpump/streaming/state/api/PersistentState.html" title="type parameter in PersistentState">T</a>&gt;&nbsp;get()</pre>
<div class="block">unwrap the raw value of state</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>(undocumented)</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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="../../../../../io/gearpump/streaming/state/api/MonoidState.html" title="class in io.gearpump.streaming.state.api"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../io/gearpump/streaming/state/api/PersistentTask.html" title="class in io.gearpump.streaming.state.api"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?io/gearpump/streaming/state/api/PersistentState.html" target="_top">FRAMES</a></li>
<li><a href="PersistentState.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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>
