<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.12) on Tue Sep 06 11:23:30 EDT 2022 -->
<title>Index (Apache Chainsaw 2.1.0 Test API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-06">
<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.5.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="Index (Apache Chainsaw 2.1.0 Test API)";
        }
    }
    catch(err) {
    }
//-->
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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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>
<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>
<main role="main">
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:X">X</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append(LoggingEvent)</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#close()">close()</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/util/Compare.html#compare(java.lang.Class,java.lang.String,java.lang.String)">compare(Class&lt;RewriteAppenderTest&gt;, String, String)</a></span> - Static method in class org.apache.log4j.util.<a href="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/util/Compare.html#compare(java.lang.Class,java.lang.String,java.lang.String,java.io.BufferedReader,java.io.BufferedReader)">compare(Class&lt;RewriteAppenderTest&gt;, String, String, BufferedReader, BufferedReader)</a></span> - Static method in class org.apache.log4j.util.<a href="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><span class="typeNameLink">Compare</span></a> - Class in <a href="org/apache/log4j/util/package-summary.html">org.apache.log4j.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/util/Compare.html#%3Cinit%3E()">Compare()</a></span> - Constructor for class org.apache.log4j.util.<a href="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#configure(java.lang.String)">configure(String)</a></span> - Method in class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db"><span class="typeNameLink">FullCycleDBTest</span></a> - Class in <a href="org/apache/log4j/db/package-summary.html">org.apache.log4j.db</a></dt>
<dd>
<div class="block">This test case writes a few events into a databases and reads them
 back comparing the event written and read back.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/db/FullCycleDBTest.html#%3Cinit%3E(java.lang.String)">FullCycleDBTest(String)</a></span> - Constructor for class org.apache.log4j.db.<a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db">FullCycleDBTest</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#getDelay()">getDelay()</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>
<div class="block">Returns a delay to log.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/xml/XMLDecoderTest.html#getStringFromResource(java.lang.String,int)">getStringFromResource(String, int)</a></span> - Method in class org.apache.log4j.xml.<a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml">XMLDecoderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#getVector()">getVector()</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>
<div class="block">Returns a vector of <a href="../apidocs/org/apache/log4j/spi/LoggingEvent.html?is-external=true" title="class or interface in org.apache.log4j.spi" class="externalLink"><code>LoggingEvent</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/util/Compare.html#gzCompare(java.lang.Class,java.lang.String,java.lang.String)">gzCompare(Class&lt;RewriteAppenderTest&gt;, String, String)</a></span> - Static method in class org.apache.log4j.util.<a href="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/util/Compare.html#gzCompare(java.lang.Class,java.lang.String,java.lang.String,java.io.BufferedReader,java.io.BufferedReader)">gzCompare(Class&lt;RewriteAppenderTest&gt;, String, String, BufferedReader, BufferedReader)</a></span> - Static method in class org.apache.log4j.util.<a href="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#isClosed()">isClosed()</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="org/apache/log4j/chainsaw/LogPanelPreferenceModelTest.html" title="class in org.apache.log4j.chainsaw"><span class="typeNameLink">LogPanelPreferenceModelTest</span></a> - Class in <a href="org/apache/log4j/chainsaw/package-summary.html">org.apache.log4j.chainsaw</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/chainsaw/LogPanelPreferenceModelTest.html#%3Cinit%3E()">LogPanelPreferenceModelTest()</a></span> - Constructor for class org.apache.log4j.chainsaw.<a href="org/apache/log4j/chainsaw/LogPanelPreferenceModelTest.html" title="class in org.apache.log4j.chainsaw">LogPanelPreferenceModelTest</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/log4j/package-summary.html">org.apache.log4j</a> - package org.apache.log4j</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/chainsaw/package-summary.html">org.apache.log4j.chainsaw</a> - package org.apache.log4j.chainsaw</dt>
<dd>
<div class="block">Chainsaw is a GUI log viewer and filter for the log4j
package.</div>
</dd>
<dt><a href="org/apache/log4j/chainsaw/receivers/package-summary.html">org.apache.log4j.chainsaw.receivers</a> - package org.apache.log4j.chainsaw.receivers</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/db/package-summary.html">org.apache.log4j.db</a> - package org.apache.log4j.db</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</a> - package org.apache.log4j.helpers</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/rewrite/package-summary.html">org.apache.log4j.rewrite</a> - package org.apache.log4j.rewrite</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/util/package-summary.html">org.apache.log4j.util</a> - package org.apache.log4j.util</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</a> - package org.apache.log4j.xml</dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><a href="org/apache/log4j/chainsaw/receivers/ReceiversHelperTest.html" title="class in org.apache.log4j.chainsaw.receivers"><span class="typeNameLink">ReceiversHelperTest</span></a> - Class in <a href="org/apache/log4j/chainsaw/receivers/package-summary.html">org.apache.log4j.chainsaw.receivers</a></dt>
<dd>
<div class="block">Test class to ensure that all the know receiver classes can be retrieved and are recognised as
 valid Classess</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/chainsaw/receivers/ReceiversHelperTest.html#%3Cinit%3E(java.lang.String)">ReceiversHelperTest(String)</a></span> - Constructor for class org.apache.log4j.chainsaw.receivers.<a href="org/apache/log4j/chainsaw/receivers/ReceiversHelperTest.html" title="class in org.apache.log4j.chainsaw.receivers">ReceiversHelperTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#requiresLayout()">requiresLayout()</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite"><span class="typeNameLink">RewriteAppenderTest</span></a> - Class in <a href="org/apache/log4j/rewrite/package-summary.html">org.apache.log4j.rewrite</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#%3Cinit%3E(java.lang.String)">RewriteAppenderTest(String)</a></span> - Constructor for class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#setDelay(long)">setDelay(long)</a></span> - Method in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>
<div class="block">Sets a delay to log.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/db/FullCycleDBTest.html#setUp()">setUp()</a></span> - Method in class org.apache.log4j.db.<a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db">FullCycleDBTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#setUp()">setUp()</a></span> - Method in class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/db/FullCycleDBTest.html#tearDown()">tearDown()</a></span> - Method in class org.apache.log4j.db.<a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db">FullCycleDBTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#tearDown()">tearDown()</a></span> - Method in class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/db/FullCycleDBTest.html#testAllFields()">testAllFields()</a></span> - Method in class org.apache.log4j.db.<a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db">FullCycleDBTest</a></dt>
<dd>
<div class="block">This test starts by writing a single event to a DB using DBAppender
 and then reads it back using DBReceiver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/xml/XMLDecoderTest.html#testDecodeEventsString1()">testDecodeEventsString1()</a></span> - Method in class org.apache.log4j.xml.<a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml">XMLDecoderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/xml/XMLDecoderTest.html#testDecodeEventsString2()">testDecodeEventsString2()</a></span> - Method in class org.apache.log4j.xml.<a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml">XMLDecoderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/xml/XMLDecoderTest.html#testDecodeEventsURL1()">testDecodeEventsURL1()</a></span> - Method in class org.apache.log4j.xml.<a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml">XMLDecoderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/xml/XMLDecoderTest.html#testDecodeEventsURL2()">testDecodeEventsURL2()</a></span> - Method in class org.apache.log4j.xml.<a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml">XMLDecoderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/chainsaw/receivers/ReceiversHelperTest.html#testKnownReceivers()">testKnownReceivers()</a></span> - Method in class org.apache.log4j.chainsaw.receivers.<a href="org/apache/log4j/chainsaw/receivers/ReceiversHelperTest.html" title="class in org.apache.log4j.chainsaw.receivers">ReceiversHelperTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/chainsaw/LogPanelPreferenceModelTest.html#testLogPanelPreferenceModelSerialization()">testLogPanelPreferenceModelSerialization()</a></span> - Method in class org.apache.log4j.chainsaw.<a href="org/apache/log4j/chainsaw/LogPanelPreferenceModelTest.html" title="class in org.apache.log4j.chainsaw">LogPanelPreferenceModelTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#testMapPolicy()">testMapPolicy()</a></span> - Method in class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#testPropertyPolicy()">testPropertyPolicy()</a></span> - Method in class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/rewrite/RewriteAppenderTest.html#testReflectionPolicy()">testReflectionPolicy()</a></span> - Method in class org.apache.log4j.rewrite.<a href="org/apache/log4j/rewrite/RewriteAppenderTest.html" title="class in org.apache.log4j.rewrite">RewriteAppenderTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/db/FullCycleDBTest.html#testSingleOutput()">testSingleOutput()</a></span> - Method in class org.apache.log4j.db.<a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db">FullCycleDBTest</a></dt>
<dd>
<div class="block">This test starts by writing a single event to a DB using DBAppender
 and then reads it back using DBReceiver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/helpers/UtilLoggingLevelTest.html#testToLevelFINEST()">testToLevelFINEST()</a></span> - Method in class org.apache.log4j.helpers.<a href="org/apache/log4j/helpers/UtilLoggingLevelTest.html" title="class in org.apache.log4j.helpers">UtilLoggingLevelTest</a></dt>
<dd>
<div class="block">Test toLevel("fiNeSt").</div>
</dd>
</dl>
<a id="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><a href="org/apache/log4j/helpers/UtilLoggingLevelTest.html" title="class in org.apache.log4j.helpers"><span class="typeNameLink">UtilLoggingLevelTest</span></a> - Class in <a href="org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</a></dt>
<dd>
<div class="block">Unit tests for UtilLoggingLevel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/helpers/UtilLoggingLevelTest.html#%3Cinit%3E(java.lang.String)">UtilLoggingLevelTest(String)</a></span> - Constructor for class org.apache.log4j.helpers.<a href="org/apache/log4j/helpers/UtilLoggingLevelTest.html" title="class in org.apache.log4j.helpers">UtilLoggingLevelTest</a></dt>
<dd>
<div class="block">Create new instance of test.</div>
</dd>
</dl>
<a id="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#vector">vector</a></span> - Variable in class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><span class="typeNameLink">VectorAppender</span></a> - Class in <a href="org/apache/log4j/package-summary.html">org.apache.log4j</a></dt>
<dd>
<div class="block">An appender that appends logging events to a vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/VectorAppender.html#%3Cinit%3E()">VectorAppender()</a></span> - Constructor for class org.apache.log4j.<a href="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:X">
<!--   -->
</a>
<h2 class="title">X</h2>
<dl>
<dt><a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml"><span class="typeNameLink">XMLDecoderTest</span></a> - Class in <a href="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</a></dt>
<dd>
<div class="block">Tests for XMLDecoder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/xml/XMLDecoderTest.html#%3Cinit%3E(java.lang.String)">XMLDecoderTest(String)</a></span> - Constructor for class org.apache.log4j.xml.<a href="org/apache/log4j/xml/XMLDecoderTest.html" title="class in org.apache.log4j.xml">XMLDecoderTest</a></dt>
<dd>
<div class="block">Constructor for XMLDecoderTest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/log4j/db/FullCycleDBTest.html#XXsuite()">XXsuite()</a></span> - Static method in class org.apache.log4j.db.<a href="org/apache/log4j/db/FullCycleDBTest.html" title="class in org.apache.log4j.db">FullCycleDBTest</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:X">X</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
</main>
<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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><p align="center">Copyright &#169; 2002-2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br />           Apache Logging, Apache Log4j, Log4j, Apache Chainsaw, Chainsaw, Apache, the Apache feather logo, the Apache Logging project logo,           and the Apache Log4j logo are trademarks of The Apache Software Foundation.</p></small></p>
</footer>
</body>
</html>
