blob: 4bb21d51633713ec94a62ee17e0e22d1d678e90d [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.12) on Tue Sep 06 11:23:22 EDT 2022 -->
<title>Plugin (Apache Chainsaw 2.1.0 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="Plugin (Apache Chainsaw 2.1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/Plugin.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a 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.log4j.plugins</a></div>
<h2 title="Interface Plugin" class="title">Interface Plugin</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code>org.apache.log4j.spi.OptionHandler</code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../db/CustomSQLDBReceiver.html" title="class in org.apache.log4j.db">CustomSQLDBReceiver</a></code>, <code><a href="../db/DBReceiver.html" title="class in org.apache.log4j.db">DBReceiver</a></code>, <code><a href="../chainsaw/Generator.html" title="class in org.apache.log4j.chainsaw">Generator</a></code>, <code><a href="../chainsaw/plugins/GUIPluginSkeleton.html" title="class in org.apache.log4j.chainsaw.plugins">GUIPluginSkeleton</a></code>, <code><a href="../net/JMSReceiver.html" title="class in org.apache.log4j.net">JMSReceiver</a></code>, <code><a href="../varia/LogFilePatternReceiver.html" title="class in org.apache.log4j.varia">LogFilePatternReceiver</a></code>, <code><a href="../xml/LogFileXMLReceiver.html" title="class in org.apache.log4j.xml">LogFileXMLReceiver</a></code>, <code><a href="../net/MulticastReceiver.html" title="class in org.apache.log4j.net">MulticastReceiver</a></code>, <code><a href="PluginSkeleton.html" title="class in org.apache.log4j.plugins">PluginSkeleton</a></code>, <code><a href="Receiver.html" title="class in org.apache.log4j.plugins">Receiver</a></code>, <code><a href="../net/UDPReceiver.html" title="class in org.apache.log4j.net">UDPReceiver</a></code>, <code><a href="../chainsaw/vfs/VFSLogFilePatternReceiver.html" title="class in org.apache.log4j.chainsaw.vfs">VFSLogFilePatternReceiver</a></code>, <code><a href="../net/XMLSocketReceiver.html" title="class in org.apache.log4j.net">XMLSocketReceiver</a></code>, <code><a href="../chainsaw/zeroconf/ZeroConfPlugin.html" title="class in org.apache.log4j.chainsaw.zeroconf">ZeroConfPlugin</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">Plugin</span>
extends org.apache.log4j.spi.OptionHandler</pre>
<div class="block">Defines the required interface for all Plugin objects.
<p>
<p>A plugin implements some specific functionality to extend
the log4j framework. Each plugin is associated with a specific
LoggerRepository, which it then uses/acts upon. The functionality
of the plugin is up to the developer.</p>
<p>
<p>Examples of plugins are Receiver and Watchdog. Receiver plugins
allow for remote logging events to be received and processed by
a repository as if the event was sent locally. Watchdog plugins
allow for a repository to be reconfigured when some "watched"
configuration data changes.</p></div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Mark Womack (mwomack@apache.org), Nicko Cadell, Paul Smith (psmith@apache.org)</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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="#addPropertyChangeListener(java.beans.PropertyChangeListener)">addPropertyChangeListener</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Adds a PropertyChangeListener that will be notified of all property
changes.</div>
</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="#addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)">addPropertyChangeListener</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;propertyName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Adds a PropertyChangeListener to this instance which is
notified only by changes of the property with name propertyName.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>org.apache.log4j.spi.LoggerRepository</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLoggerRepository()">getLoggerRepository</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the logger repository for this plugin.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the name of the plugin.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isActive()">isActive</a></span>()</code></th>
<td class="colLast">
<div class="block">True if the plugin is active and running.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEquivalent(org.apache.log4j.plugins.Plugin)">isEquivalent</a></span>&#8203;(<a href="Plugin.html" title="interface in org.apache.log4j.plugins">Plugin</a>&nbsp;testPlugin)</code></th>
<td class="colLast">
<div class="block">Returns true if the testPlugin is considered to be "equivalent" to the
this plugin.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyChangeListener(java.beans.PropertyChangeListener)">removePropertyChangeListener</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Removes a specific PropertyChangeListener from this instances
registry that has been mapped to be notified of all property
changes.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)">removePropertyChangeListener</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;propertyName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Removes a specific PropertyChangeListener from this instance's
registry which has been previously registered to be notified
of only a specific property change.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLoggerRepository(org.apache.log4j.spi.LoggerRepository)">setLoggerRepository</a></span>&#8203;(org.apache.log4j.spi.LoggerRepository&nbsp;repository)</code></th>
<td class="colLast">
<div class="block">Sets the logger repository used by this plugin.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Sets the name of the plugin.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shutdown()">shutdown</a></span>()</code></th>
<td class="colLast">
<div class="block">Call when the plugin should be stopped.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.log4j.spi.OptionHandler">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.log4j.spi.OptionHandler</h3>
<code>activateOptions</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getName()</pre>
<div class="block">Gets the name of the plugin.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String the name of the plugin.</dd>
</dl>
</li>
</ul>
<a id="setName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">void&nbsp;setName&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Sets the name of the plugin.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the plugin.</dd>
</dl>
</li>
</ul>
<a id="getLoggerRepository()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoggerRepository</h4>
<pre class="methodSignature">org.apache.log4j.spi.LoggerRepository&nbsp;getLoggerRepository()</pre>
<div class="block">Gets the logger repository for this plugin.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the logger repository to which this plugin is attached.</dd>
</dl>
</li>
</ul>
<a id="setLoggerRepository(org.apache.log4j.spi.LoggerRepository)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLoggerRepository</h4>
<pre class="methodSignature">void&nbsp;setLoggerRepository&#8203;(org.apache.log4j.spi.LoggerRepository&nbsp;repository)</pre>
<div class="block">Sets the logger repository used by this plugin. This
repository will be used by the plugin functionality.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>repository</code> - the logger repository to attach this plugin to.</dd>
</dl>
</li>
</ul>
<a id="addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertyChangeListener</h4>
<pre class="methodSignature">void&nbsp;addPropertyChangeListener&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;propertyName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</pre>
<div class="block">Adds a PropertyChangeListener to this instance which is
notified only by changes of the property with name propertyName.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertyName</code> - the name of the property in standard JavaBean syntax
(e.g. for setName(), property="name")</dd>
<dd><code>l</code> - listener</dd>
</dl>
</li>
</ul>
<a id="addPropertyChangeListener(java.beans.PropertyChangeListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertyChangeListener</h4>
<pre class="methodSignature">void&nbsp;addPropertyChangeListener&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</pre>
<div class="block">Adds a PropertyChangeListener that will be notified of all property
changes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>l</code> - The listener to add.</dd>
</dl>
</li>
</ul>
<a id="removePropertyChangeListener(java.beans.PropertyChangeListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyChangeListener</h4>
<pre class="methodSignature">void&nbsp;removePropertyChangeListener&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</pre>
<div class="block">Removes a specific PropertyChangeListener from this instances
registry that has been mapped to be notified of all property
changes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>l</code> - The listener to remove.</dd>
</dl>
</li>
</ul>
<a id="removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyChangeListener</h4>
<pre class="methodSignature">void&nbsp;removePropertyChangeListener&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;propertyName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/beans/PropertyChangeListener.html?is-external=true" title="class or interface in java.beans" class="externalLink">PropertyChangeListener</a>&nbsp;l)</pre>
<div class="block">Removes a specific PropertyChangeListener from this instance's
registry which has been previously registered to be notified
of only a specific property change.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertyName</code> - property name, may not be null.</dd>
<dd><code>l</code> - listener to be removed.</dd>
</dl>
</li>
</ul>
<a id="isActive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isActive</h4>
<pre class="methodSignature">boolean&nbsp;isActive()</pre>
<div class="block">True if the plugin is active and running.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean true if the plugin is currently active.</dd>
</dl>
</li>
</ul>
<a id="isEquivalent(org.apache.log4j.plugins.Plugin)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEquivalent</h4>
<pre class="methodSignature">boolean&nbsp;isEquivalent&#8203;(<a href="Plugin.html" title="interface in org.apache.log4j.plugins">Plugin</a>&nbsp;testPlugin)</pre>
<div class="block">Returns true if the testPlugin is considered to be "equivalent" to the
this plugin.
<p>
<p>The equivalency test is at the discretion of the plugin
implementation. The PluginRegistry will use this method when starting
new plugins to see if a given plugin is considered equivalent to an
already running plugin with the same name. If they are considered to
be equivalent, the currently running plugin will be left in place, and
the new plugin will not be started.</p>
<p>
<p>It is possible to override the equals() method, however this has
more meaning than is required for this simple test and would also
require the overriding of the hashCode() method as well. All of this
is more work than is needed, so this simple method is used instead.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testPlugin</code> - The plugin to test equivalency against.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns true if testPlugin is considered to be equivelent.</dd>
</dl>
</li>
</ul>
<a id="shutdown()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shutdown</h4>
<pre class="methodSignature">void&nbsp;shutdown()</pre>
<div class="block">Call when the plugin should be stopped.</div>
</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/Plugin.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a 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>