blob: 3583de6a720f43d44d0d9e7ad6e2686735283f9c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>DiffRepository (Calcite 1.21.0 Test API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.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="DiffRepository (Calcite 1.21.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9,"i9":10,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":10,"i16":9,"i17":10,"i18":10,"i19":9,"i20":9,"i21":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/DiffRepository.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><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 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.calcite.test</a></div>
<h2 title="Class DiffRepository" class="title">Class DiffRepository</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.DiffRepository</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">DiffRepository</span>
extends java.lang.Object</pre>
<div class="block">A collection of resources used by tests.
<p>Loads files containing test input and output into memory. If there are
differences, writes out a log file containing the actual output.
<p>Typical usage is as follows. A test case class defines a method
<blockquote><pre><code>
package com.acme.test;
&nbsp;
public class MyTest extends TestCase {
public DiffRepository getDiffRepos() {
return DiffRepository.lookup(MyTest.class);
}
&nbsp;
&#64;Test public void testToUpper() {
getDiffRepos().assertEquals("${result}", "${string}");
}
&nbsp;
&#64;Test public void testToLower() {
getDiffRepos().assertEquals("Multi-line\nstring", "${string}");
}
}
</code></pre></blockquote>
<p>There is an accompanying reference file named after the class,
<code>src/test/resources/com/acme/test/MyTest.xml</code>:</p>
<blockquote><pre><code>
&lt;Root&gt;
&lt;TestCase name="testToUpper"&gt;
&lt;Resource name="string"&gt;
&lt;![CDATA[String to be converted to upper case]]&gt;
&lt;/Resource&gt;
&lt;Resource name="result"&gt;
&lt;![CDATA[STRING TO BE CONVERTED TO UPPER CASE]]&gt;
&lt;/Resource&gt;
&lt;/TestCase&gt;
&lt;TestCase name="testToLower"&gt;
&lt;Resource name="result"&gt;
&lt;![CDATA[multi-line
string]]&gt;
&lt;/Resource&gt;
&lt;/TestCase&gt;
&lt;/Root&gt;
</code></pre></blockquote>
<p>If any of the test cases fails, a log file is generated, called
<code>target/surefire/com/acme/test/MyTest.xml</code>, containing the actual
output.</p>
<p>(Maven sometimes removes this file; if it is not present, run maven with
an extra <code>-X</code> flag.
See <a href="http://jira.codehaus.org/browse/SUREFIRE-846">[SUREFIRE-846]</a>
for details.)</p>
<p>The log
file is otherwise identical to the reference log, so once the log file has
been verified, it can simply be copied over to become the new reference
log:</p>
<blockquote><code>cp target/surefire/com/acme/test/MyTest.xml
src/test/resources/com/acme/test/MyTest.xml</code></blockquote>
<p>If a resource or test case does not exist, <code>DiffRepository</code>
creates them in the log file. Because DiffRepository is so forgiving, it is
very easy to create new tests and test cases.</p>
<p>The <a href="#lookup(java.lang.Class)"><code>lookup(java.lang.Class)</code></a> method ensures that all test cases share the same
instance of the repository. This is important more than one one test case
fails. The shared instance ensures that the generated
<code>target/surefire/com/acme/test/MyTest.xml</code>
file contains the actual for <em>both</em> test cases.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a></span></code></th>
<td class="colLast">
<div class="block">Callback to filter strings before returning them.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#baseRepository">baseRepository</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.w3c.dom.Document</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doc">doc</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter">filter</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#indent">indent</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.io.File</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#logFile">logFile</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.Map&lt;java.lang.Class,&#8203;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MAP_CLASS_TO_REPOSITORY">MAP_CLASS_TO_REPOSITORY</a></span></code></th>
<td class="colLast">
<div class="block">Holds one diff-repository per class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#RESOURCE_NAME_ATTR">RESOURCE_NAME_ATTR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#RESOURCE_TAG">RESOURCE_TAG</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.w3c.dom.Element</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#root">root</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ROOT_TAG">ROOT_TAG</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TEST_CASE_NAME_ATTR">TEST_CASE_NAME_ATTR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TEST_CASE_OVERRIDES_ATTR">TEST_CASE_OVERRIDES_ATTR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TEST_CASE_TAG">TEST_CASE_TAG</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== 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">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.net.URL,java.io.File,org.apache.calcite.test.DiffRepository,org.apache.calcite.test.DiffRepository.Filter)">DiffRepository</a></span>&#8203;(java.net.URL&nbsp;refFile,
java.io.File&nbsp;logFile,
<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;baseRepository,
<a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a>&nbsp;filter)</code></th>
<td class="colLast">
<div class="block">Creates a DiffRepository.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#amend(java.lang.String,java.lang.String)">amend</a></span>&#8203;(java.lang.String&nbsp;expected,
java.lang.String&nbsp;actual)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#assertEquals(java.lang.String,java.lang.String,java.lang.String)">assertEquals</a></span>&#8203;(java.lang.String&nbsp;tag,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;actual)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expand(java.lang.String,java.lang.String)">expand</a></span>&#8203;(java.lang.String&nbsp;tag,
java.lang.String&nbsp;text)</code></th>
<td class="colLast">
<div class="block">Expands a string containing one or more variables.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private static java.net.URL</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findFile(java.lang.Class,java.lang.String)">findFile</a></span>&#8203;(java.lang.Class&nbsp;clazz,
java.lang.String&nbsp;suffix)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flushDoc()">flushDoc</a></span>()</code></th>
<td class="colLast">
<div class="block">Flushes the reference document to the file system.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(java.lang.String,java.lang.String)">get</a></span>&#8203;(java.lang.String&nbsp;testCaseName,
java.lang.String&nbsp;resourceName)</code></th>
<td class="colLast">
<div class="block">Returns a given resource from a given test case.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentTestCaseName(boolean)">getCurrentTestCaseName</a></span>&#8203;(boolean&nbsp;fail)</code></th>
<td class="colLast">
<div class="block">Returns the name of the current test case by looking up the call stack for
a method whose name starts with "test", for example "testFoo".</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private static org.w3c.dom.Element</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResourceElement(org.w3c.dom.Element,java.lang.String)">getResourceElement</a></span>&#8203;(org.w3c.dom.Element&nbsp;testCaseElement,
java.lang.String&nbsp;resourceName)</code></th>
<td class="colLast">
<div class="block">Returns a given resource from a given test case.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private static org.w3c.dom.Element</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResourceElement(org.w3c.dom.Element,java.lang.String,boolean)">getResourceElement</a></span>&#8203;(org.w3c.dom.Element&nbsp;testCaseElement,
java.lang.String&nbsp;resourceName,
boolean&nbsp;killYoungerSiblings)</code></th>
<td class="colLast">
<div class="block">Returns a given resource from a given test case.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private org.w3c.dom.Element</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTestCaseElement(java.lang.String,boolean,java.util.List)">getTestCaseElement</a></span>&#8203;(java.lang.String&nbsp;testCaseName,
boolean&nbsp;checkOverride,
java.util.List&lt;org.apache.calcite.util.Pair&lt;java.lang.String,&#8203;org.w3c.dom.Element&gt;&gt;&nbsp;elements)</code></th>
<td class="colLast">
<div class="block">Returns the &lt;TestCase&gt; element corresponding to the current test
case.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getText(org.w3c.dom.Element)">getText</a></span>&#8203;(org.w3c.dom.Element&nbsp;element)</code></th>
<td class="colLast">
<div class="block">Returns the text under an element.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isWhitespace(java.lang.String)">isWhitespace</a></span>&#8203;(java.lang.String&nbsp;text)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static <a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lookup(java.lang.Class)">lookup</a></span>&#8203;(java.lang.Class&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Finds the repository instance for a given class, with no base
repository or filter.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lookup(java.lang.Class,org.apache.calcite.test.DiffRepository)">lookup</a></span>&#8203;(java.lang.Class&nbsp;clazz,
<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;baseRepository)</code></th>
<td class="colLast">
<div class="block">Finds the repository instance for a given class and inheriting from
a given repository.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lookup(java.lang.Class,org.apache.calcite.test.DiffRepository,org.apache.calcite.test.DiffRepository.Filter)">lookup</a></span>&#8203;(java.lang.Class&nbsp;clazz,
<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;baseRepository,
<a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a>&nbsp;filter)</code></th>
<td class="colLast">
<div class="block">Finds the repository instance for a given class.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private org.w3c.dom.Node</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ref(java.lang.String,java.util.List)">ref</a></span>&#8203;(java.lang.String&nbsp;testCaseName,
java.util.List&lt;org.apache.calcite.util.Pair&lt;java.lang.String,&#8203;org.w3c.dom.Element&gt;&gt;&nbsp;map)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAllChildren(org.w3c.dom.Element)">removeAllChildren</a></span>&#8203;(org.w3c.dom.Element&nbsp;element)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String,java.lang.String)">set</a></span>&#8203;(java.lang.String&nbsp;resourceName,
java.lang.String&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets the value of a given resource of the current test case.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#update(java.lang.String,java.lang.String,java.lang.String)">update</a></span>&#8203;(java.lang.String&nbsp;testCaseName,
java.lang.String&nbsp;resourceName,
java.lang.String&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Creates a new document with a given resource.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validate(org.w3c.dom.Element)">validate</a></span>&#8203;(org.w3c.dom.Element&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Validates the root element.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#write(org.w3c.dom.Document,java.io.Writer,int)">write</a></span>&#8203;(org.w3c.dom.Document&nbsp;doc,
java.io.Writer&nbsp;w,
int&nbsp;indent)</code></th>
<td class="colLast">
<div class="block">Serializes an XML document as text.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeNode(org.w3c.dom.Node,org.apache.calcite.util.XmlOutput)">writeNode</a></span>&#8203;(org.w3c.dom.Node&nbsp;node,
org.apache.calcite.util.XmlOutput&nbsp;out)</code></th>
<td class="colLast">&nbsp;</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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="ROOT_TAG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROOT_TAG</h4>
<pre>private static final&nbsp;java.lang.String ROOT_TAG</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.DiffRepository.ROOT_TAG">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="TEST_CASE_TAG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEST_CASE_TAG</h4>
<pre>private static final&nbsp;java.lang.String TEST_CASE_TAG</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.DiffRepository.TEST_CASE_TAG">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="TEST_CASE_NAME_ATTR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEST_CASE_NAME_ATTR</h4>
<pre>private static final&nbsp;java.lang.String TEST_CASE_NAME_ATTR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.DiffRepository.TEST_CASE_NAME_ATTR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="TEST_CASE_OVERRIDES_ATTR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEST_CASE_OVERRIDES_ATTR</h4>
<pre>private static final&nbsp;java.lang.String TEST_CASE_OVERRIDES_ATTR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.DiffRepository.TEST_CASE_OVERRIDES_ATTR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="RESOURCE_TAG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RESOURCE_TAG</h4>
<pre>private static final&nbsp;java.lang.String RESOURCE_TAG</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.DiffRepository.RESOURCE_TAG">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="RESOURCE_NAME_ATTR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RESOURCE_NAME_ATTR</h4>
<pre>private static final&nbsp;java.lang.String RESOURCE_NAME_ATTR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.DiffRepository.RESOURCE_NAME_ATTR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MAP_CLASS_TO_REPOSITORY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAP_CLASS_TO_REPOSITORY</h4>
<pre>private static final&nbsp;java.util.Map&lt;java.lang.Class,&#8203;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&gt; MAP_CLASS_TO_REPOSITORY</pre>
<div class="block">Holds one diff-repository per class. It is necessary for all test cases in
the same class to share the same diff-repository: if the repository gets
loaded once per test case, then only one diff is recorded.</div>
</li>
</ul>
<a id="baseRepository">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>baseRepository</h4>
<pre>private final&nbsp;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a> baseRepository</pre>
</li>
</ul>
<a id="indent">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>indent</h4>
<pre>private final&nbsp;int indent</pre>
</li>
</ul>
<a id="doc">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doc</h4>
<pre>private&nbsp;org.w3c.dom.Document doc</pre>
</li>
</ul>
<a id="root">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>root</h4>
<pre>private final&nbsp;org.w3c.dom.Element root</pre>
</li>
</ul>
<a id="logFile">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logFile</h4>
<pre>private final&nbsp;java.io.File logFile</pre>
</li>
</ul>
<a id="filter">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>filter</h4>
<pre>private final&nbsp;<a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a> filter</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= 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;(java.net.URL,java.io.File,org.apache.calcite.test.DiffRepository,org.apache.calcite.test.DiffRepository.Filter)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DiffRepository</h4>
<pre>private&nbsp;DiffRepository&#8203;(java.net.URL&nbsp;refFile,
java.io.File&nbsp;logFile,
<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;baseRepository,
<a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a>&nbsp;filter)</pre>
<div class="block">Creates a DiffRepository.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>refFile</code> - Reference file</dd>
<dd><code>logFile</code> - Log file</dd>
<dd><code>baseRepository</code> - Parent repository or null</dd>
<dd><code>filter</code> - Filter or null</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="findFile(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findFile</h4>
<pre class="methodSignature">private static&nbsp;java.net.URL&nbsp;findFile&#8203;(java.lang.Class&nbsp;clazz,
java.lang.String&nbsp;suffix)</pre>
</li>
</ul>
<a id="expand(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expand</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;expand&#8203;(java.lang.String&nbsp;tag,
java.lang.String&nbsp;text)</pre>
<div class="block">Expands a string containing one or more variables. (Currently only works
if there is one variable.)</div>
</li>
</ul>
<a id="set(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(java.lang.String&nbsp;resourceName,
java.lang.String&nbsp;value)</pre>
<div class="block">Sets the value of a given resource of the current test case.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>resourceName</code> - Name of the resource, e.g. "sql"</dd>
<dd><code>value</code> - Value of the resource</dd>
</dl>
</li>
</ul>
<a id="amend(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>amend</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;amend&#8203;(java.lang.String&nbsp;expected,
java.lang.String&nbsp;actual)</pre>
</li>
</ul>
<a id="get(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">private&nbsp;java.lang.String&nbsp;get&#8203;(java.lang.String&nbsp;testCaseName,
java.lang.String&nbsp;resourceName)</pre>
<div class="block">Returns a given resource from a given test case.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testCaseName</code> - Name of test case, e.g. "testFoo"</dd>
<dd><code>resourceName</code> - Name of resource, e.g. "sql", "plan"</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value of the resource, or null if not found</dd>
</dl>
</li>
</ul>
<a id="getText(org.w3c.dom.Element)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getText</h4>
<pre class="methodSignature">private static&nbsp;java.lang.String&nbsp;getText&#8203;(org.w3c.dom.Element&nbsp;element)</pre>
<div class="block">Returns the text under an element.</div>
</li>
</ul>
<a id="getTestCaseElement(java.lang.String,boolean,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTestCaseElement</h4>
<pre class="methodSignature">private&nbsp;org.w3c.dom.Element&nbsp;getTestCaseElement&#8203;(java.lang.String&nbsp;testCaseName,
boolean&nbsp;checkOverride,
java.util.List&lt;org.apache.calcite.util.Pair&lt;java.lang.String,&#8203;org.w3c.dom.Element&gt;&gt;&nbsp;elements)</pre>
<div class="block">Returns the &lt;TestCase&gt; element corresponding to the current test
case.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testCaseName</code> - Name of test case</dd>
<dd><code>checkOverride</code> - Make sure that if an element overrides an element in
a base repository, it has overrides="true"</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>TestCase element, or null if not found</dd>
</dl>
</li>
</ul>
<a id="getCurrentTestCaseName(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentTestCaseName</h4>
<pre class="methodSignature">private&nbsp;java.lang.String&nbsp;getCurrentTestCaseName&#8203;(boolean&nbsp;fail)</pre>
<div class="block">Returns the name of the current test case by looking up the call stack for
a method whose name starts with "test", for example "testFoo".</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fail</code> - Whether to fail if no method is found</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Name of current test case, or null if not found</dd>
</dl>
</li>
</ul>
<a id="assertEquals(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertEquals</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;assertEquals&#8203;(java.lang.String&nbsp;tag,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;actual)</pre>
</li>
</ul>
<a id="update(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;update&#8203;(java.lang.String&nbsp;testCaseName,
java.lang.String&nbsp;resourceName,
java.lang.String&nbsp;value)</pre>
<div class="block">Creates a new document with a given resource.
<p>This method is synchronized, in case two threads are running test
cases of this test at the same time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testCaseName</code> - Test case name</dd>
<dd><code>resourceName</code> - Resource name</dd>
<dd><code>value</code> - New value of resource</dd>
</dl>
</li>
</ul>
<a id="ref(java.lang.String,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ref</h4>
<pre class="methodSignature">private&nbsp;org.w3c.dom.Node&nbsp;ref&#8203;(java.lang.String&nbsp;testCaseName,
java.util.List&lt;org.apache.calcite.util.Pair&lt;java.lang.String,&#8203;org.w3c.dom.Element&gt;&gt;&nbsp;map)</pre>
</li>
</ul>
<a id="flushDoc()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flushDoc</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;flushDoc()</pre>
<div class="block">Flushes the reference document to the file system.</div>
</li>
</ul>
<a id="validate(org.w3c.dom.Element)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;validate&#8203;(org.w3c.dom.Element&nbsp;root)</pre>
<div class="block">Validates the root element.</div>
</li>
</ul>
<a id="getResourceElement(org.w3c.dom.Element,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourceElement</h4>
<pre class="methodSignature">private static&nbsp;org.w3c.dom.Element&nbsp;getResourceElement&#8203;(org.w3c.dom.Element&nbsp;testCaseElement,
java.lang.String&nbsp;resourceName)</pre>
<div class="block">Returns a given resource from a given test case.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testCaseElement</code> - The enclosing TestCase element, e.g. <code>
&lt;TestCase name="testFoo"&gt;</code>.</dd>
<dd><code>resourceName</code> - Name of resource, e.g. "sql", "plan"</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value of the resource, or null if not found</dd>
</dl>
</li>
</ul>
<a id="getResourceElement(org.w3c.dom.Element,java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourceElement</h4>
<pre class="methodSignature">private static&nbsp;org.w3c.dom.Element&nbsp;getResourceElement&#8203;(org.w3c.dom.Element&nbsp;testCaseElement,
java.lang.String&nbsp;resourceName,
boolean&nbsp;killYoungerSiblings)</pre>
<div class="block">Returns a given resource from a given test case.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testCaseElement</code> - The enclosing TestCase element, e.g. <code>
&lt;TestCase name="testFoo"&gt;</code>.</dd>
<dd><code>resourceName</code> - Name of resource, e.g. "sql", "plan"</dd>
<dd><code>killYoungerSiblings</code> - Whether to remove resources with the same
name and the same parent that are eclipsed</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value of the resource, or null if not found</dd>
</dl>
</li>
</ul>
<a id="removeAllChildren(org.w3c.dom.Element)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAllChildren</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;removeAllChildren&#8203;(org.w3c.dom.Element&nbsp;element)</pre>
</li>
</ul>
<a id="write(org.w3c.dom.Document,java.io.Writer,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;write&#8203;(org.w3c.dom.Document&nbsp;doc,
java.io.Writer&nbsp;w,
int&nbsp;indent)</pre>
<div class="block">Serializes an XML document as text.
<p>FIXME: I'm sure there's a library call to do this, but I'm danged if I
can find it. -- jhyde, 2006/2/9.</div>
</li>
</ul>
<a id="writeNode(org.w3c.dom.Node,org.apache.calcite.util.XmlOutput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeNode</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;writeNode&#8203;(org.w3c.dom.Node&nbsp;node,
org.apache.calcite.util.XmlOutput&nbsp;out)</pre>
</li>
</ul>
<a id="isWhitespace(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWhitespace</h4>
<pre class="methodSignature">private static&nbsp;boolean&nbsp;isWhitespace&#8203;(java.lang.String&nbsp;text)</pre>
</li>
</ul>
<a id="lookup(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookup</h4>
<pre class="methodSignature">public static&nbsp;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;lookup&#8203;(java.lang.Class&nbsp;clazz)</pre>
<div class="block">Finds the repository instance for a given class, with no base
repository or filter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - Test case class</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The diff repository shared between test cases in this class.</dd>
</dl>
</li>
</ul>
<a id="lookup(java.lang.Class,org.apache.calcite.test.DiffRepository)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookup</h4>
<pre class="methodSignature">public static&nbsp;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;lookup&#8203;(java.lang.Class&nbsp;clazz,
<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;baseRepository)</pre>
<div class="block">Finds the repository instance for a given class and inheriting from
a given repository.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - Test case class</dd>
<dd><code>baseRepository</code> - Base class of test class</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The diff repository shared between test cases in this class.</dd>
</dl>
</li>
</ul>
<a id="lookup(java.lang.Class,org.apache.calcite.test.DiffRepository,org.apache.calcite.test.DiffRepository.Filter)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>lookup</h4>
<pre class="methodSignature">public static&nbsp;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;lookup&#8203;(java.lang.Class&nbsp;clazz,
<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;baseRepository,
<a href="DiffRepository.Filter.html" title="interface in org.apache.calcite.test">DiffRepository.Filter</a>&nbsp;filter)</pre>
<div class="block">Finds the repository instance for a given class.
<p>It is important that all test cases in a class share the same
repository instance. This ensures that, if two or more test cases fail,
the log file will contains the actual results of both test cases.
<p>The <code>baseRepository</code> parameter is useful if the test is an
extension to a previous test. If the test class has a base class which
also has a repository, specify the repository here. DiffRepository will
look for resources in the base class if it cannot find them in this
repository. If test resources from test cases in the base class are
missing or incorrect, it will not write them to the log file -- you
probably need to fix the base test.
<p>Use the <code>filter</code> parameter if you expect the test to
return results slightly different than in the repository. This happens
if the behavior of a derived test is slightly different than a base
test. If you do not specify a filter, no filtering will happen.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - Test case class</dd>
<dd><code>baseRepository</code> - Base repository</dd>
<dd><code>filter</code> - Filters each string returned by the repository</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The diff repository shared between test cases in this class.</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/DiffRepository.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><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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>