stasis/je-7.5.11/docs/java/com/sleepycat/je/rep/CommitPointConsistencyPolicy.html
2019-06-25 16:12:40 -04:00

498 lines
22 KiB
HTML

<!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_151) on Tue Oct 31 17:36:46 EDT 2017 -->
<title>CommitPointConsistencyPolicy (Oracle - Berkeley DB Java Edition API)</title>
<meta name="date" content="2017-10-31">
<link rel="stylesheet" type="text/css" href="../../../../style.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="CommitPointConsistencyPolicy (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":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/CommitPointConsistencyPolicy.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 class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/sleepycat/je/rep/AppStateMonitor.html" title="interface in com.sleepycat.je.rep"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/je/rep/DatabasePreemptedException.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/je/rep/CommitPointConsistencyPolicy.html" target="_top">Frames</a></li>
<li><a href="CommitPointConsistencyPolicy.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><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">com.sleepycat.je.rep</div>
<h2 title="Class CommitPointConsistencyPolicy" class="title">Class CommitPointConsistencyPolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.sleepycat.je.rep.CommitPointConsistencyPolicy</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../com/sleepycat/je/ReplicaConsistencyPolicy.html" title="interface in com.sleepycat.je">ReplicaConsistencyPolicy</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">CommitPointConsistencyPolicy</span>
extends java.lang.Object
implements <a href="../../../../com/sleepycat/je/ReplicaConsistencyPolicy.html" title="interface in com.sleepycat.je">ReplicaConsistencyPolicy</a></pre>
<div class="block">A consistency policy which ensures that the environment on a Replica node is
at least as current as denoted by the specified <a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je"><code>CommitToken</code></a>. This
token represents a point in the serialized transaction schedule created by
the master. In other words, this token is like a bookmark, representing a
particular transaction commit in the replication stream. The Replica ensures
that the commit identified by the <a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je"><code>CommitToken</code></a> has been executed on
this node before allowing the application's <a href="../../../../com/sleepycat/je/Environment.html#beginTransaction-com.sleepycat.je.Transaction-com.sleepycat.je.TransactionConfig-"><code>Environment.beginTransaction()</code></a>
operation on the Replica to proceed.
<p>
For example, suppose the application is a web application where a replicated
group is implemented within a load balanced web server group. Each request
to the web server consists of an update operation followed by read
operations (say from the same client), The read operations naturally expect
to see the data from the updates executed by the same request. However, the
read operations might have been routed to a node that did not execute the
update.
<p>
In such a case, the update request would generate a <a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je"><code>CommitToken</code></a>,
which would be resubmitted by the browser, along with subsequent read
requests. The read request could be directed at any one of the available web
servers by a load balancer. The node which executes the read request would
create a CommitPointConsistencyPolicy with that <a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je"><code>CommitToken</code></a> and use
it at transaction begin. If the environment at the web server was already
current (wrt the commit token), it could immediately execute the transaction
and satisfy the request. If not, the "transaction begin" would stall until
the Replica replay had caught up and the change was available at that web
server.
<p>
Consistency policies are specified at either a per-transaction level through
<a href="../../../../com/sleepycat/je/TransactionConfig.html#setConsistencyPolicy-com.sleepycat.je.ReplicaConsistencyPolicy-"><code>TransactionConfig.setConsistencyPolicy(com.sleepycat.je.ReplicaConsistencyPolicy)</code></a> or as an
replication node wide default through <a href="../../../../com/sleepycat/je/rep/ReplicationConfig.html#setConsistencyPolicy-com.sleepycat.je.ReplicaConsistencyPolicy-"><code>ReplicationConfig.setConsistencyPolicy(com.sleepycat.je.ReplicaConsistencyPolicy)</code></a></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je"><code>CommitToken</code></a>,
<a href="../../../../../ReplicationGuide/consistency.html"
target="_top">Managing Consistency</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== 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>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#NAME">NAME</a></span></code>
<div class="block">The name:"CommitPointConsistencyPolicy" associated with this policy.</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="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#CommitPointConsistencyPolicy-com.sleepycat.je.CommitToken-long-java.util.concurrent.TimeUnit-">CommitPointConsistencyPolicy</a></span>(<a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je">CommitToken</a>&nbsp;commitToken,
long&nbsp;timeout,
java.util.concurrent.TimeUnit&nbsp;timeoutUnit)</code>
<div class="block">Defines how current a Replica needs to be in terms of a specific
transaction that was committed on the Master.</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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je">CommitToken</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#getCommitToken--">getCommitToken</a></span>()</code>
<div class="block">Return the <code>CommitToken</code> used to create this consistency
policy.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#getName--">getName</a></span>()</code>
<div class="block">Returns the name:<a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#NAME">"CommitPointConsistencyPolicy"</a>, associated with this policy.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#getTimeout-java.util.concurrent.TimeUnit-">getTimeout</a></span>(java.util.concurrent.TimeUnit&nbsp;unit)</code>
<div class="block">Return the timeout specified when creating this consistency policy.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#toString--">toString</a></span>()</code>&nbsp;</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.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</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="NAME">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NAME</h4>
<pre>public static final&nbsp;java.lang.String NAME</pre>
<div class="block">The name:"CommitPointConsistencyPolicy" associated with this policy. The name can be used when
constructing policy property values for use in je.properties files.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.sleepycat.je.rep.CommitPointConsistencyPolicy.NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CommitPointConsistencyPolicy-com.sleepycat.je.CommitToken-long-java.util.concurrent.TimeUnit-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CommitPointConsistencyPolicy</h4>
<pre>public&nbsp;CommitPointConsistencyPolicy(<a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je">CommitToken</a>&nbsp;commitToken,
long&nbsp;timeout,
java.util.concurrent.TimeUnit&nbsp;timeoutUnit)</pre>
<div class="block">Defines how current a Replica needs to be in terms of a specific
transaction that was committed on the Master. A transaction on the
Replica that uses this consistency policy is allowed to start only
after the transaction identified by the <code>commitToken</code> has
been committed on the Replica. The <a href="../../../../com/sleepycat/je/Environment.html#beginTransaction-com.sleepycat.je.Transaction-com.sleepycat.je.TransactionConfig-"><code>Environment.beginTransaction()</code></a> will wait for at most
<code>timeout</code> for the Replica to catch up. If the Replica has
not caught up in this period, the <code>beginTransaction()</code>
method will throw a <a href="../../../../com/sleepycat/je/rep/ReplicaConsistencyException.html" title="class in com.sleepycat.je.rep"><code>ReplicaConsistencyException</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>commitToken</code> - the token identifying the transaction</dd>
<dd><code>timeout</code> - the maximum amount of time that the transaction start
will wait to allow the Replica to catch up.</dd>
<dd><code>timeoutUnit</code> - the <code>TimeUnit</code> for the timeout parameter.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the commitToken or timeoutUnit 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="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block">Returns the name:<a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#NAME">"CommitPointConsistencyPolicy"</a>, associated with this policy.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/sleepycat/je/ReplicaConsistencyPolicy.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/sleepycat/je/ReplicaConsistencyPolicy.html" title="interface in com.sleepycat.je">ReplicaConsistencyPolicy</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/CommitPointConsistencyPolicy.html#NAME"><code>NAME</code></a></dd>
</dl>
</li>
</ul>
<a name="getCommitToken--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCommitToken</h4>
<pre>public&nbsp;<a href="../../../../com/sleepycat/je/CommitToken.html" title="class in com.sleepycat.je">CommitToken</a>&nbsp;getCommitToken()</pre>
<div class="block">Return the <code>CommitToken</code> used to create this consistency
policy.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>CommitToken</code> used to create this consistency
policy.</dd>
</dl>
</li>
</ul>
<a name="getTimeout-java.util.concurrent.TimeUnit-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeout</h4>
<pre>public&nbsp;long&nbsp;getTimeout(java.util.concurrent.TimeUnit&nbsp;unit)</pre>
<div class="block">Return the timeout specified when creating this consistency policy.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/sleepycat/je/ReplicaConsistencyPolicy.html#getTimeout-java.util.concurrent.TimeUnit-">getTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/sleepycat/je/ReplicaConsistencyPolicy.html" title="interface in com.sleepycat.je">ReplicaConsistencyPolicy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>unit</code> - the <code>TimeUnit</code> of the returned value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the timeout specified when creating this consistency policy</dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Object.hashCode()</code></dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Object.equals(java.lang.Object)</code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></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="class-use/CommitPointConsistencyPolicy.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 class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/sleepycat/je/rep/AppStateMonitor.html" title="interface in com.sleepycat.je.rep"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/je/rep/DatabasePreemptedException.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/je/rep/CommitPointConsistencyPolicy.html" target="_top">Frames</a></li>
<li><a href="CommitPointConsistencyPolicy.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><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><font size=1>Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.</font> </small></p>
</body>
</html>