This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch fix/backport-log4j3-api
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 486289cfd3a087b3412cff53788100249016db3d
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Thu Mar 14 16:14:04 2024 +0100

    Adapt `ReusableMessage` to be used in 3.x
---
 .../logging/log4j/message/ReusableMessage.java     |  8 ++++++++
 .../message/ReusableParameterizedMessage.java      | 23 +++++++++++-----------
 .../apache/logging/log4j/message/package-info.java |  2 +-
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
index 35e8fa3919..5a5d264e68 100644
--- 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
+++ 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
@@ -18,6 +18,7 @@ package org.apache.logging.log4j.message;
 
 import org.apache.logging.log4j.util.PerformanceSensitive;
 import org.apache.logging.log4j.util.StringBuilderFormattable;
+import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * Messages implementing this interface are reused between logging calls.
@@ -29,6 +30,7 @@ import org.apache.logging.log4j.util.StringBuilderFormattable;
  * @since 2.6
  */
 @PerformanceSensitive("allocation")
+@ProviderType
 public interface ReusableMessage extends Message, StringBuilderFormattable {
 
     /**
@@ -69,4 +71,10 @@ public interface ReusableMessage extends Message, 
StringBuilderFormattable {
      * @return an immutable snapshot of this message
      */
     Message memento();
+
+    /**
+     * Resets the object to a clean state.
+     * @since 2.24.0
+     */
+    void clear();
 }
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
index d55b98ae70..053a5bf8f1 100644
--- 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
+++ 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
@@ -135,26 +135,27 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return null;
     }
 
-    ReusableParameterizedMessage set(final String messagePattern, final 
Object... arguments) {
+    public ReusableParameterizedMessage set(final String messagePattern, final 
Object... arguments) {
         init(messagePattern, arguments == null ? 0 : arguments.length, 
arguments);
         varargs = arguments;
         return this;
     }
 
-    ReusableParameterizedMessage set(final String messagePattern, final Object 
p0) {
+    public ReusableParameterizedMessage set(final String messagePattern, final 
Object p0) {
         params[0] = p0;
         init(messagePattern, 1, params);
         return this;
     }
 
-    ReusableParameterizedMessage set(final String messagePattern, final Object 
p0, final Object p1) {
+    public ReusableParameterizedMessage set(final String messagePattern, final 
Object p0, final Object p1) {
         params[0] = p0;
         params[1] = p1;
         init(messagePattern, 2, params);
         return this;
     }
 
-    ReusableParameterizedMessage set(final String messagePattern, final Object 
p0, final Object p1, final Object p2) {
+    public ReusableParameterizedMessage set(
+            final String messagePattern, final Object p0, final Object p1, 
final Object p2) {
         params[0] = p0;
         params[1] = p1;
         params[2] = p2;
@@ -162,7 +163,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern, final Object p0, final Object p1, 
final Object p2, final Object p3) {
         params[0] = p0;
         params[1] = p1;
@@ -172,7 +173,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern,
             final Object p0,
             final Object p1,
@@ -188,7 +189,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern,
             final Object p0,
             final Object p1,
@@ -206,7 +207,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern,
             final Object p0,
             final Object p1,
@@ -226,7 +227,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern,
             final Object p0,
             final Object p1,
@@ -248,7 +249,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern,
             final Object p0,
             final Object p1,
@@ -272,7 +273,7 @@ public class ReusableParameterizedMessage implements 
ReusableMessage, ParameterV
         return this;
     }
 
-    ReusableParameterizedMessage set(
+    public ReusableParameterizedMessage set(
             final String messagePattern,
             final Object p0,
             final Object p1,
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java
index 49286fab77..24632f8d7b 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java
@@ -22,7 +22,7 @@
 /**
  * Bumped to 2.22.0, since FormattedMessage behavior changed.
  */
-@Version("2.22.0")
+@Version("2.24.0")
 package org.apache.logging.log4j.message;
 
 import org.osgi.annotation.bundle.Export;

Reply via email to