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> { /**
