blob: 9bc02efdf2587645ad9261c2af60337c47edb5ad [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) on Sun Aug 28 20:42:51 EST 2016 -->
<title>TransientEventLog (Apache River v3.0.0 API Documentation (internals))</title>
<meta name="date" content="2016-08-28">
<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="TransientEventLog (Apache River v3.0.0 API Documentation (internals))";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":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";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TransientEventLog.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/river/mercury/StreamType.html" title="class in org.apache.river.mercury"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/river/mercury/TransientEventLog.RemoteEventHolder.html" title="class in org.apache.river.mercury"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/river/mercury/TransientEventLog.html" target="_top">Frames</a></li>
<li><a href="TransientEventLog.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.river.mercury</div>
<h2 title="Class TransientEventLog" class="title">Class TransientEventLog</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.river.mercury.TransientEventLog</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></dd>
</dl>
<hr>
<br>
<pre>class <span class="typeNameLabel">TransientEventLog</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></pre>
<div class="block">Class that implements the interface for an <tt>EventLog</tt>.
This class encapsulates the details of reading/writing events from/to
some non-persistent mechanism.
This class makes certain assumptions. First, the <tt>next</tt> and
<tt>remove</tt> methods are intended to be called in pairs. If
<tt>remove</tt> is not called, then subsequent calls to <tt>next</tt>
will attempt to return the same object. Calling <tt>remove</tt>
essentially advances the read pointer to the next object, if any.
There is also an implicit assumption of external synchronization by the
caller. That is, only one calling thread will be accessing the log at a time.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Sun Microsystems, Inc.</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.RemoteEventHolder.html" title="class in org.apache.river.mercury">TransientEventLog.RemoteEventHolder</a></span></code>
<div class="block">Helper class used to hold a remote event and a sequence id.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#closed">closed</a></span></code>
<div class="block">Flag that is used to determine whether or not this object
has been closed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#entries">entries</a></span></code>
<div class="block">The associated, non-persistent storage for events</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.atomic.AtomicLong.html?is-external=true" title="class or interface in java.util">java.util.concurrent.atomic.AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#eventCounter">eventCounter</a></span></code>
<div class="block">Counter used to produce event ids.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#initialized">initialized</a></span></code>
<div class="block">Flag that is used to determine whether or not this object
has been initialized.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#persistenceLogger">persistenceLogger</a></span></code>
<div class="block"><tt>Logger</tt> used for persistence-related debugging messages</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#uuid">uuid</a></span></code>
<div class="block">The associated <tt>Uuid</tt> for this <tt>EventLog</tt>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#TransientEventLog-net.jini.id.Uuid-">TransientEventLog</a></span>(<a href="../../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a>&nbsp;uuid)</code>
<div class="block">Simple constructor that takes a <tt>Uuid</tt> argument.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#add-net.jini.core.event.RemoteEvent-">add</a></span>(<a href="../../../../net/jini/core/event/RemoteEvent.html" title="class in net.jini.core.event">RemoteEvent</a>&nbsp;event)</code>
<div class="block">Writes the given <tt>RemoteEvent</tt> to the underlying
storage mechanism, if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#close--">close</a></span>()</code>
<div class="block">Close this log and release any associated runtime resources.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#delete--">delete</a></span>()</code>
<div class="block">Delete associated storage resources for this log.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#init--">init</a></span>()</code>
<div class="block">Initializes the state of this <tt>EventLog</tt> object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#isEmpty--">isEmpty</a></span>()</code>
<div class="block">Returns <tt>true</tt> if this log contains no events and
false otherwise.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#moveAhead-java.lang.Object-">moveAhead</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;cookie)</code>
<div class="block">Effectively removes the last set of read events from the log.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../net/jini/core/event/RemoteEvent.html" title="class in net.jini.core.event">RemoteEvent</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#next--">next</a></span>()</code>
<div class="block">Return the next <tt>RemoteEvent</tt> to be read.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#printControlData-java.util.logging.Logger-java.lang.String-">printControlData</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;logger,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>
<div class="block">Output state information to the given <tt>Logger</tt>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/river/mercury/RemoteEventData.html" title="class in org.apache.river.mercury">RemoteEventData</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#readAhead-int-">readAhead</a></span>(int&nbsp;maxEvents)</code>
<div class="block">Return an array of <tt>RemoteEventData</tt> with a limit of
<tt>maxEvents</tt> elements.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#remove--">remove</a></span>()</code>
<div class="block">Effectively removes the last read event from the log.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/mercury/TransientEventLog.html#stateCheck--">stateCheck</a></span>()</code>
<div class="block">Asserts that the log is in a valid state.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="persistenceLogger">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistenceLogger</h4>
<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a> persistenceLogger</pre>
<div class="block"><tt>Logger</tt> used for persistence-related debugging messages</div>
</li>
</ul>
<a name="uuid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uuid</h4>
<pre>private final&nbsp;<a href="../../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a> uuid</pre>
<div class="block">The associated <tt>Uuid</tt> for this <tt>EventLog</tt>.</div>
</li>
</ul>
<a name="entries">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>entries</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a> entries</pre>
<div class="block">The associated, non-persistent storage for events</div>
</li>
</ul>
<a name="closed">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closed</h4>
<pre>private volatile&nbsp;boolean closed</pre>
<div class="block">Flag that is used to determine whether or not this object
has been closed.</div>
</li>
</ul>
<a name="initialized">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialized</h4>
<pre>private volatile&nbsp;boolean initialized</pre>
<div class="block">Flag that is used to determine whether or not this object
has been initialized.</div>
</li>
</ul>
<a name="eventCounter">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>eventCounter</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.atomic.AtomicLong.html?is-external=true" title="class or interface in java.util">java.util.concurrent.atomic.AtomicLong</a> eventCounter</pre>
<div class="block">Counter used to produce event ids.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TransientEventLog-net.jini.id.Uuid-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TransientEventLog</h4>
<pre>TransientEventLog(<a href="../../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a>&nbsp;uuid)</pre>
<div class="block">Simple constructor that takes a <tt>Uuid</tt> argument.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#init--">EventLog</a></code></span></div>
<div class="block">Initializes the state of this <tt>EventLog</tt> object.
The required functionality can potentially throw an
<tt>IOException</tt> and has therefore been separated from
from object construction.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#init--">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="stateCheck--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stateCheck</h4>
<pre>private&nbsp;void&nbsp;stateCheck()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Asserts that the log is in a valid state.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the log is in an invalid state</dd>
</dl>
</li>
</ul>
<a name="add-net.jini.core.event.RemoteEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;void&nbsp;add(<a href="../../../../net/jini/core/event/RemoteEvent.html" title="class in net.jini.core.event">RemoteEvent</a>&nbsp;event)
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#add-net.jini.core.event.RemoteEvent-">EventLog</a></code></span></div>
<div class="block">Writes the given <tt>RemoteEvent</tt> to the underlying
storage mechanism, if possible. If an <tt>IOException</tt>
occurs, then the write cannot be guaranteed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#add-net.jini.core.event.RemoteEvent-">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="next--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
<pre>public&nbsp;<a href="../../../../net/jini/core/event/RemoteEvent.html" title="class in net.jini.core.event">RemoteEvent</a>&nbsp;next()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#next--">EventLog</a></code></span></div>
<div class="block">Return the next <tt>RemoteEvent</tt> to be read. Note that
<tt>next</tt> is meant to be used in conjunction with
<tt>remove</tt>. Subsequent calls to <tt>next</tt> will
return the same event until <tt>remove</tt> is called, which
actually updates the read pointer to the next event (indicating
that the previously read event was successfully processed).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#next--">next</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="readAhead-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readAhead</h4>
<pre>public&nbsp;<a href="../../../../org/apache/river/mercury/RemoteEventData.html" title="class in org.apache.river.mercury">RemoteEventData</a>[]&nbsp;readAhead(int&nbsp;maxEvents)
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#readAhead-int-">EventLog</a></code></span></div>
<div class="block">Return an array of <tt>RemoteEventData</tt> with a limit of
<tt>maxEvents</tt> elements. Note that
<tt>readAhead</tt> is meant to be used in conjunction with
<tt>moveAhead</tt>. Subsequent calls to <tt>readAhead</tt> with
the same argument value will return the same set of events until
<tt>moveAhead</tt> is called, which
actually updates the read pointer to the next unread event (indicating
that the previously read events were successfully processed).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#readAhead-int-">readAhead</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxEvents</code> - maximum number of events/elements to return</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="isEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#isEmpty--">EventLog</a></code></span></div>
<div class="block">Returns <tt>true</tt> if this log contains no events and
false otherwise.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#isEmpty--">isEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="remove--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;remove()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#remove--">EventLog</a></code></span></div>
<div class="block">Effectively removes the last read event from the log.
It does this by advancing the read pointer to the
next available event, if any.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#remove--">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="moveAhead-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveAhead</h4>
<pre>public&nbsp;void&nbsp;moveAhead(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;cookie)
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#moveAhead-java.lang.Object-">EventLog</a></code></span></div>
<div class="block">Effectively removes the last set of read events from the log.
It does this by advancing the read pointer to the
next available event after the event associated with the provided
cookie object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#moveAhead-java.lang.Object-">moveAhead</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cookie</code> - object associated with event to read past. This object
should have been obtained from a call to
<code>getCookie()</code> on a <code>RemoteEventData</code> object
obtained from a call to <code>readAhead</code> on this event log.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if there was a problem advancing the read pointer.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#close--">EventLog</a></code></span></div>
<div class="block">Close this log and release any associated runtime resources.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="delete--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public&nbsp;void&nbsp;delete()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html#delete--">EventLog</a></code></span></div>
<div class="block">Delete associated storage resources for this log.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/river/mercury/EventLog.html#delete--">delete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/river/mercury/EventLog.html" title="interface in org.apache.river.mercury">EventLog</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an IO error occurs</dd>
</dl>
</li>
</ul>
<a name="printControlData-java.util.logging.Logger-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>printControlData</h4>
<pre>private&nbsp;void&nbsp;printControlData(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;logger,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
<div class="block">Output state information to the given <tt>Logger</tt>.
This is intended for debugging purposes only.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TransientEventLog.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/river/mercury/StreamType.html" title="class in org.apache.river.mercury"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/river/mercury/TransientEventLog.RemoteEventHolder.html" title="class in org.apache.river.mercury"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/river/mercury/TransientEventLog.html" target="_top">Frames</a></li>
<li><a href="TransientEventLog.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright 2007-2013, multiple authors.<br>Licensed under the <a href=http://www.apache.org/licenses/LICENSE-2.0 target=child >Apache License, Version 2.0</a>, see the <a href=../../../../doc-files/NOTICE target=child >NOTICE</a> file for attributions.</small></p>
</body>
</html>