From bbb315957779cd9311905887986839a0afde83f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sugawara=20=28=E2=88=A9=EF=BD=80-=C2=B4=29?= =?UTF-8?q?=E2=8A=83=E2=94=81=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E?= Date: Fri, 6 Oct 2023 09:26:50 -0700 Subject: [PATCH] Mark plugin API as preview --- .../amazon/awssdk/core/RequestOverrideConfiguration.java | 4 ++++ .../src/main/java/software/amazon/awssdk/core/SdkPlugin.java | 2 ++ .../amazon/awssdk/core/client/builder/SdkClientBuilder.java | 3 +++ .../awssdk/core/client/builder/SdkDefaultClientBuilder.java | 2 ++ 4 files changed, 11 insertions(+) diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/RequestOverrideConfiguration.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/RequestOverrideConfiguration.java index c6bd5f5ba10a..7a6581ae380b 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/RequestOverrideConfiguration.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/RequestOverrideConfiguration.java @@ -26,6 +26,7 @@ import java.util.TreeMap; import java.util.function.Consumer; import software.amazon.awssdk.annotations.Immutable; +import software.amazon.awssdk.annotations.SdkPreviewApi; import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.interceptor.ExecutionAttribute; @@ -153,6 +154,7 @@ public List metricPublishers() { /** * Return the plugins that will be used to update the configuration used by the request. */ + @SdkPreviewApi public List plugins() { return plugins; } @@ -494,11 +496,13 @@ default B putRawQueryParameter(String name, String value) { * * @param plugin The plugin to add. */ + @SdkPreviewApi B addPlugin(SdkPlugin plugin); /** * Returns the list of registered plugins */ + @SdkPreviewApi List plugins(); /** diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkPlugin.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkPlugin.java index 6b6c1215bc13..1048639926ae 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkPlugin.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkPlugin.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.core; +import software.amazon.awssdk.annotations.SdkPreviewApi; import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.annotations.ThreadSafe; import software.amazon.awssdk.utils.SdkAutoCloseable; @@ -23,6 +24,7 @@ * A plugin modifies a client's configuration when the client is created or at request execution * time. */ +@SdkPreviewApi @SdkPublicApi @ThreadSafe @FunctionalInterface diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkClientBuilder.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkClientBuilder.java index 2e4f22458ed4..d106d6d27879 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkClientBuilder.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkClientBuilder.java @@ -18,6 +18,7 @@ import java.net.URI; import java.util.List; import java.util.function.Consumer; +import software.amazon.awssdk.annotations.SdkPreviewApi; import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.core.SdkPlugin; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; @@ -82,6 +83,7 @@ default B putAuthScheme(AuthScheme authScheme) { * Adds a plugin to the client builder. The plugins will be invoked when building the client to allow them to change the * configuration of the built client. */ + @SdkPreviewApi default B addPlugin(SdkPlugin plugin) { throw new UnsupportedOperationException(); } @@ -89,6 +91,7 @@ default B addPlugin(SdkPlugin plugin) { /** * Returns the list of plugins configured on the client builder. */ + @SdkPreviewApi default List plugins() { throw new UnsupportedOperationException(); } diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java index 9caa6b9c7337..980db8c4706a 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java @@ -63,6 +63,7 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; +import software.amazon.awssdk.annotations.SdkPreviewApi; import software.amazon.awssdk.annotations.SdkProtectedApi; import software.amazon.awssdk.annotations.SdkTestInternalApi; import software.amazon.awssdk.core.CompressionConfiguration; @@ -409,6 +410,7 @@ private SdkClientConfiguration finalizeConfiguration(SdkClientConfiguration conf * By default, returns the configuration as-is. Classes extending this method will take care of running the plugins and * return the updated configuration if plugins are supported. */ + @SdkPreviewApi protected SdkClientConfiguration invokePlugins(SdkClientConfiguration config) { return config; }