blob: f3485e84d4ace2507b70b236cba50323b9e67f08 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_144) on Sun May 10 12:44:03 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReusableMessage (Apache Log4j API 2.13.3 API)</title>
<meta name="date" content="2020-05-10">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ReusableMessage (Apache Log4j API 2.13.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":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";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ReusableMessage.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/logging/log4j/message/ParameterVisitable.html" title="interface in org.apache.logging.log4j.message"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/logging/log4j/message/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.message"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/logging/log4j/message/ReusableMessage.html" target="_top">Frames</a></li>
<li><a href="ReusableMessage.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.logging.log4j.message</div>
<h2 title="Interface ReusableMessage" class="title">Interface ReusableMessage</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/apache/logging/log4j/message/Message.html" title="interface in org.apache.logging.log4j.message">Message</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/logging/log4j/util/StringBuilderFormattable.html" title="interface in org.apache.logging.log4j.util">StringBuilderFormattable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/logging/log4j/message/ReusableObjectMessage.html" title="class in org.apache.logging.log4j.message">ReusableObjectMessage</a>, <a href="../../../../../org/apache/logging/log4j/message/ReusableParameterizedMessage.html" title="class in org.apache.logging.log4j.message">ReusableParameterizedMessage</a>, <a href="../../../../../org/apache/logging/log4j/message/ReusableSimpleMessage.html" title="class in org.apache.logging.log4j.message">ReusableSimpleMessage</a></dd>
</dl>
<hr>
<br>
<pre>public interface <a href="../../../../../src-html/org/apache/logging/log4j/message/ReusableMessage.html#line.32">ReusableMessage</a>
extends <a href="../../../../../org/apache/logging/log4j/message/Message.html" title="interface in org.apache.logging.log4j.message">Message</a>, <a href="../../../../../org/apache/logging/log4j/util/StringBuilderFormattable.html" title="interface in org.apache.logging.log4j.util">StringBuilderFormattable</a></pre>
<div class="block">Messages implementing this interface are reused between logging calls.
<p>
If a Message is reusable, downstream components should not hand over this instance to another thread, but extract its
content (via the <a href="../../../../../org/apache/logging/log4j/util/StringBuilderFormattable.html#formatTo-java.lang.StringBuilder-"><code>StringBuilderFormattable.formatTo(StringBuilder)</code></a> method) instead.
</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.6</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/logging/log4j/message/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.message"><code>ReusableMessageFactory</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/logging/log4j/message/ReusableMessage.html#getParameterCount--">getParameterCount</a></span>()</code>
<div class="block">Returns the number of parameters that was used to initialize this reusable message for the current content.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/logging/log4j/message/Message.html" title="interface in org.apache.logging.log4j.message">Message</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/logging/log4j/message/ReusableMessage.html#memento--">memento</a></span>()</code>
<div class="block">Returns an immutable snapshot of the current internal state of this reusable message.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/logging/log4j/message/ReusableMessage.html#swapParameters-java.lang.Object:A-">swapParameters</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;emptyReplacement)</code>
<div class="block">Returns the parameter array that was used to initialize this reusable message and replaces it with the specified
array.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.logging.log4j.message.Message">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.logging.log4j.message.<a href="../../../../../org/apache/logging/log4j/message/Message.html" title="interface in org.apache.logging.log4j.message">Message</a></h3>
<code><a href="../../../../../org/apache/logging/log4j/message/Message.html#getFormat--">getFormat</a>, <a href="../../../../../org/apache/logging/log4j/message/Message.html#getFormattedMessage--">getFormattedMessage</a>, <a href="../../../../../org/apache/logging/log4j/message/Message.html#getParameters--">getParameters</a>, <a href="../../../../../org/apache/logging/log4j/message/Message.html#getThrowable--">getThrowable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.logging.log4j.util.StringBuilderFormattable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.logging.log4j.util.<a href="../../../../../org/apache/logging/log4j/util/StringBuilderFormattable.html" title="interface in org.apache.logging.log4j.util">StringBuilderFormattable</a></h3>
<code><a href="../../../../../org/apache/logging/log4j/util/StringBuilderFormattable.html#formatTo-java.lang.StringBuilder-">formatTo</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="swapParameters-java.lang.Object:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>swapParameters</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;<a href="../../../../../src-html/org/apache/logging/log4j/message/ReusableMessage.html#line.53">swapParameters</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;emptyReplacement)</pre>
<div class="block">Returns the parameter array that was used to initialize this reusable message and replaces it with the specified
array. The returned parameter array will no longer be modified by this reusable message. The specified array is
now "owned" by this reusable message and can be modified if necessary for the next log event.
</p><p>
ReusableMessages that have no parameters return the specified array.
</p><p>
This method is used by asynchronous loggers to pass the parameter array to a background thread without
allocating new objects.
The actual number of parameters in the returned array can be determined with <a href="../../../../../org/apache/logging/log4j/message/ReusableMessage.html#getParameterCount--"><code>getParameterCount()</code></a>.
</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>emptyReplacement</code> - the parameter array that can be used for subsequent uses of this reusable message.
This replacement array must have at least 10 elements (the number of varargs supported by the Logger
API).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter array for the current message content. This may be a vararg array of any length, or it may
be a reusable array of 10 elements used to hold the unrolled vararg parameters.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/logging/log4j/message/ReusableMessage.html#getParameterCount--"><code>getParameterCount()</code></a></dd>
</dl>
</li>
</ul>
<a name="getParameterCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParameterCount</h4>
<pre>short&nbsp;<a href="../../../../../src-html/org/apache/logging/log4j/message/ReusableMessage.html#line.63">getParameterCount</a>()</pre>
<div class="block">Returns the number of parameters that was used to initialize this reusable message for the current content.
<p>
The parameter array returned by <a href="../../../../../org/apache/logging/log4j/message/ReusableMessage.html#swapParameters-java.lang.Object:A-"><code>swapParameters(Object[])</code></a> may be larger than the actual number of
parameters. Callers should use this method to determine how many elements the array contains.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current number of parameters</dd>
</dl>
</li>
</ul>
<a name="memento--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>memento</h4>
<pre><a href="../../../../../org/apache/logging/log4j/message/Message.html" title="interface in org.apache.logging.log4j.message">Message</a>&nbsp;<a href="../../../../../src-html/org/apache/logging/log4j/message/ReusableMessage.html#line.71">memento</a>()</pre>
<div class="block">Returns an immutable snapshot of the current internal state of this reusable message. The returned snapshot
will not be affected by subsequent modifications of this reusable message.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an immutable snapshot of this message</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ReusableMessage.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/logging/log4j/message/ParameterVisitable.html" title="interface in org.apache.logging.log4j.message"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/logging/log4j/message/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.message"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/logging/log4j/message/ReusableMessage.html" target="_top">Frames</a></li>
<li><a href="ReusableMessage.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><p align="center">Copyright &#169; 1999-2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br /> Apache Logging, Apache Log4j, Log4j, 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>
</body>
</html>