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

mattsicker pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 75d94ef7a404084fbf89fb19e1f2dcfffe99df15
Author: Matt Sicker <[email protected]>
AuthorDate: Fri Nov 3 18:03:35 2023 -0500

    Backport the InternalApi annotation
    
    Signed-off-by: Matt Sicker <[email protected]>
---
 .../org/apache/logging/log4j/util/Activator.java   |  1 +
 .../java/org/apache/logging/log4j/util/Chars.java  |  1 +
 .../apache/logging/log4j/util/EnglishEnums.java    |  1 +
 .../log4j/util/{Supplier.java => InternalApi.java} | 30 ++++++++--------------
 .../apache/logging/log4j/util/ProviderUtil.java    |  1 +
 .../logging/log4j/util/ServiceLoaderUtil.java      |  1 +
 .../logging/log4j/util/SortedArrayStringMap.java   |  1 +
 .../apache/logging/log4j/util/StackLocator.java    |  1 +
 .../logging/log4j/util/StackLocatorUtil.java       |  1 +
 .../apache/logging/log4j/util/StringBuilders.java  |  1 +
 .../org/apache/logging/log4j/util/Strings.java     |  1 +
 .../org/apache/logging/log4j/util/Supplier.java    |  2 ++
 12 files changed, 22 insertions(+), 20 deletions(-)

diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/Activator.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/Activator.java
index 03da61ff6d..6e5bb21c20 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Activator.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Activator.java
@@ -48,6 +48,7 @@ import org.osgi.framework.wiring.BundleWiring;
  */
 @Header(name = Constants.BUNDLE_ACTIVATOR, value = "${@class}")
 @Header(name = Constants.BUNDLE_ACTIVATIONPOLICY, value = 
Constants.ACTIVATION_LAZY)
+@InternalApi
 public class Activator implements BundleActivator, SynchronousBundleListener {
 
     private static final SecurityManager SECURITY_MANAGER = 
System.getSecurityManager();
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/Chars.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/Chars.java
index 67958de9f0..37b51077ac 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Chars.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Chars.java
@@ -19,6 +19,7 @@ package org.apache.logging.log4j.util;
 /**
  * <em>Consider this class private.</em>
  */
+@InternalApi
 public final class Chars {
 
     /** Carriage Return. */
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/EnglishEnums.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/EnglishEnums.java
index 93f125f6bd..e42023a0ce 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/EnglishEnums.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/EnglishEnums.java
@@ -30,6 +30,7 @@ import static 
org.apache.logging.log4j.util.Strings.toRootUpperCase;
  * avoid problems on the Turkish locale. Do not use with Turkish enum values.
  * </p>
  */
+@InternalApi
 public final class EnglishEnums {
 
     private EnglishEnums() {
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/InternalApi.java
similarity index 54%
copy from log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java
copy to log4j-api/src/main/java/org/apache/logging/log4j/util/InternalApi.java
index dcd1ed0f82..f5c0af12d9 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/InternalApi.java
@@ -16,27 +16,17 @@
  */
 package org.apache.logging.log4j.util;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
- * <em>Consider this class private.</em>
- * Classes implementing this interface know how to supply a value.
- *
- * <p>This is a <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html";>functional
- * interface</a> intended to support lambda expressions in log4j 2.
- *
- * <p>Implementors are free to cache values or return a new or distinct value 
each time the supplier is invoked.
+ * Indicates that the annotated element is considered an internal API to Log4j 
and should not be used by external
+ * code. Internal APIs do not provide any stability guarantees between 
versions.
  *
- * <p><strong>DEPRECATED:</strong> this class will be removed in 3.0 to be 
replaced with the Java 8 interface.</p>
- *
- * @param <T> the type of values returned by this supplier
- *
- * @since 2.4
+ * @since 2.22.0
  */
-public interface Supplier<T> {
-
-    /**
-     * Gets a value.
-     *
-     * @return a value
-     */
-    T get();
+@Retention(RetentionPolicy.CLASS)
+@Documented
+public @interface InternalApi {
 }
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
index a033ed4c80..aa53e3e395 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
@@ -38,6 +38,7 @@ import org.apache.logging.log4j.status.StatusLogger;
  * container framework, any Log4j Providers not accessible through standard 
classpath scanning should
  * {@link #loadProvider(java.net.URL, ClassLoader)} a classpath accordingly.
  */
+@InternalApi
 @ServiceConsumer(value = Provider.class, resolution = Resolution.OPTIONAL, 
cardinality = Cardinality.MULTIPLE)
 public final class ProviderUtil {
 
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/ServiceLoaderUtil.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/ServiceLoaderUtil.java
index 39001d9f3a..f11a49b403 100644
--- 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/ServiceLoaderUtil.java
+++ 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/ServiceLoaderUtil.java
@@ -40,6 +40,7 @@ import org.apache.logging.log4j.status.StatusLogger;
 /**
  * This class should be considered internal.
  */
+@InternalApi
 public final class ServiceLoaderUtil {
 
     private static final int MAX_BROKEN_SERVICES = 8;
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java
 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java
index 60e6326173..1854ee3f98 100644
--- 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java
+++ 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java
@@ -50,6 +50,7 @@ import 
org.apache.logging.log4j.util.internal.SerializationUtil;
  *
  * @since 2.7
  */
+@InternalApi
 public class SortedArrayStringMap implements IndexedStringMap {
 
     /**
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
index 3c0881bc54..0097c6ef6d 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
@@ -46,6 +46,7 @@ import java.util.function.Predicate;
  * examination of every virtual frame of execution.
  * </p>
  */
+@InternalApi
 public final class StackLocator {
 
     /** TODO Consider removing now that we require Java 8. */
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocatorUtil.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocatorUtil.java
index 63133bf6f8..0d0c88bf4f 100644
--- 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocatorUtil.java
+++ 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocatorUtil.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.status.StatusLogger;
 /**
  * <em>Consider this class private.</em> Provides various methods to determine 
the caller class. <h3>Background</h3>
  */
+@InternalApi
 public final class StackLocatorUtil {
     private static StackLocator stackLocator = null;
     private static volatile boolean errorLogged;
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/StringBuilders.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/StringBuilders.java
index b45ccaf589..ac35426471 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/StringBuilders.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/StringBuilders.java
@@ -23,6 +23,7 @@ import static java.lang.Character.toLowerCase;
 /**
  * <em>Consider this class private.</em>
  */
+@InternalApi
 public final class StringBuilders {
 
     private static final Class<?> timeClass;
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
index 39aeb30f92..73675ee7a9 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
@@ -25,6 +25,7 @@ import java.util.Objects;
  *
  * @see <a href="http://commons.apache.org/proper/commons-lang/";>Apache 
Commons Lang</a>
  */
+@InternalApi
 public final class Strings {
 
     private static final ThreadLocal<StringBuilder> tempStr = 
ThreadLocal.withInitial(StringBuilder::new);
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java
index dcd1ed0f82..aaa4d9b89a 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Supplier.java
@@ -31,6 +31,8 @@ package org.apache.logging.log4j.util;
  *
  * @since 2.4
  */
+@InternalApi
+@Deprecated
 public interface Supplier<T> {
 
     /**

Reply via email to