Skip to content

Commit 1ec82e4

Browse files
authored
Add @threadsafe or @NotThreadSafe annotations to each @SdkPublicApi in dynamodb-enhanced. (#3136)
1 parent 7fcc7ae commit 1ec82e4

File tree

80 files changed

+246
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+246
-0
lines changed

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/AttributeConverterProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import software.amazon.awssdk.annotations.SdkPublicApi;
19+
import software.amazon.awssdk.annotations.ThreadSafe;
1920
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.ConverterProviderResolver;
2021
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
2122

@@ -24,6 +25,7 @@
2425
* converting a given {@link EnhancedType}.
2526
*/
2627
@SdkPublicApi
28+
@ThreadSafe
2729
public interface AttributeConverterProvider {
2830

2931
/**

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/AttributeValueType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import software.amazon.awssdk.annotations.SdkPublicApi;
19+
import software.amazon.awssdk.annotations.ThreadSafe;
1920
import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType;
2021

2122
@SdkPublicApi
23+
@ThreadSafe
2224
public enum AttributeValueType {
2325
B(ScalarAttributeType.B), // binary
2426
BOOL, // boolean

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DefaultAttributeConverterProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.Set;
2323
import java.util.concurrent.ConcurrentHashMap;
2424
import software.amazon.awssdk.annotations.Immutable;
25+
import software.amazon.awssdk.annotations.NotThreadSafe;
2526
import software.amazon.awssdk.annotations.SdkPublicApi;
2627
import software.amazon.awssdk.annotations.ThreadSafe;
2728
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.PrimitiveConverter;
@@ -249,6 +250,7 @@ private static Builder getDefaultBuilder() {
249250
/**
250251
* A builder for configuring and creating {@link DefaultAttributeConverterProvider}s.
251252
*/
253+
@NotThreadSafe
252254
public static class Builder {
253255
private List<AttributeConverter<?>> converters = new ArrayList<>();
254256

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/Document.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import software.amazon.awssdk.annotations.SdkPublicApi;
19+
import software.amazon.awssdk.annotations.ThreadSafe;
1920

2021
/**
2122
* A document representing a table item in the form of a map containing attributes and values.
2223
* <p>
2324
* Use the {@link #getItem(MappedTableResource)} method to transform the collection of attributes into a typed item.
2425
*/
2526
@SdkPublicApi
27+
@ThreadSafe
2628
public interface Document {
2729

2830
/**

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbAsyncIndex.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import java.util.function.Consumer;
1919
import software.amazon.awssdk.annotations.SdkPublicApi;
20+
import software.amazon.awssdk.annotations.ThreadSafe;
2021
import software.amazon.awssdk.core.async.SdkPublisher;
2122
import software.amazon.awssdk.enhanced.dynamodb.model.Page;
2223
import software.amazon.awssdk.enhanced.dynamodb.model.QueryConditional;
@@ -33,6 +34,7 @@
3334
* @param <T> The type of the modelled object.
3435
*/
3536
@SdkPublicApi
37+
@ThreadSafe
3638
public interface DynamoDbAsyncIndex<T> {
3739

3840
/**

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbAsyncTable.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.concurrent.CompletableFuture;
1919
import java.util.function.Consumer;
2020
import software.amazon.awssdk.annotations.SdkPublicApi;
21+
import software.amazon.awssdk.annotations.ThreadSafe;
2122
import software.amazon.awssdk.enhanced.dynamodb.model.CreateTableEnhancedRequest;
2223
import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedRequest;
2324
import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse;
@@ -47,6 +48,7 @@
4748
* @param <T> The type of the modelled object.
4849
*/
4950
@SdkPublicApi
51+
@ThreadSafe
5052
public interface DynamoDbAsyncTable<T> extends MappedTableResource<T> {
5153
/**
5254
* Returns a mapped index that can be used to execute commands against a secondary index belonging to the table

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import java.util.List;
1919
import java.util.concurrent.CompletableFuture;
2020
import java.util.function.Consumer;
21+
import software.amazon.awssdk.annotations.NotThreadSafe;
2122
import software.amazon.awssdk.annotations.SdkPublicApi;
23+
import software.amazon.awssdk.annotations.ThreadSafe;
2224
import software.amazon.awssdk.core.async.SdkPublisher;
2325
import software.amazon.awssdk.enhanced.dynamodb.internal.client.DefaultDynamoDbEnhancedAsyncClient;
2426
import software.amazon.awssdk.enhanced.dynamodb.model.BatchGetItemEnhancedRequest;
@@ -42,6 +44,7 @@
4244
* implementing classes.
4345
*/
4446
@SdkPublicApi
47+
@ThreadSafe
4548
public interface DynamoDbEnhancedAsyncClient extends DynamoDbEnhancedResource {
4649

4750
/**
@@ -441,6 +444,7 @@ static DynamoDbEnhancedAsyncClient create() {
441444
/**
442445
* The builder definition for a {@link DynamoDbEnhancedAsyncClient}.
443446
*/
447+
@NotThreadSafe
444448
interface Builder extends DynamoDbEnhancedResource.Builder {
445449
/**
446450
* The regular low-level SDK client to use with the enhanced client.

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedClient.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717

1818
import java.util.List;
1919
import java.util.function.Consumer;
20+
import software.amazon.awssdk.annotations.NotThreadSafe;
2021
import software.amazon.awssdk.annotations.SdkPublicApi;
22+
import software.amazon.awssdk.annotations.ThreadSafe;
2123
import software.amazon.awssdk.core.pagination.sync.SdkIterable;
2224
import software.amazon.awssdk.enhanced.dynamodb.internal.client.DefaultDynamoDbEnhancedClient;
2325
import software.amazon.awssdk.enhanced.dynamodb.model.BatchGetItemEnhancedRequest;
@@ -42,6 +44,7 @@
4244
* implementing classes.
4345
*/
4446
@SdkPublicApi
47+
@ThreadSafe
4548
public interface DynamoDbEnhancedClient extends DynamoDbEnhancedResource {
4649

4750
/**
@@ -443,6 +446,7 @@ static DynamoDbEnhancedClient create() {
443446
/**
444447
* The builder definition for a {@link DynamoDbEnhancedClient}.
445448
*/
449+
@NotThreadSafe
446450
interface Builder extends DynamoDbEnhancedResource.Builder {
447451
/**
448452
* The regular low-level SDK client to use with the enhanced client.

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedClientExtension.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import software.amazon.awssdk.annotations.SdkPublicApi;
19+
import software.amazon.awssdk.annotations.ThreadSafe;
1920
import software.amazon.awssdk.enhanced.dynamodb.extensions.ReadModification;
2021
import software.amazon.awssdk.enhanced.dynamodb.extensions.WriteModification;
2122

@@ -29,6 +30,7 @@
2930
* calculation.
3031
*/
3132
@SdkPublicApi
33+
@ThreadSafe
3234
public interface DynamoDbEnhancedClientExtension {
3335
/**
3436
* This hook is called just before an operation is going to write data to the database. The extension that

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedResource.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,22 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import java.util.List;
19+
import software.amazon.awssdk.annotations.NotThreadSafe;
1920
import software.amazon.awssdk.annotations.SdkPublicApi;
21+
import software.amazon.awssdk.annotations.ThreadSafe;
2022

2123
/**
2224
* Shared interface components for {@link DynamoDbEnhancedClient} and {@link DynamoDbEnhancedAsyncClient}. Any common
2325
* methods implemented by both of those classes or their builders are declared here.
2426
*/
2527
@SdkPublicApi
28+
@ThreadSafe
2629
public interface DynamoDbEnhancedResource {
2730
/**
2831
* Shared interface components for the builders of {@link DynamoDbEnhancedClient} and
2932
* {@link DynamoDbEnhancedAsyncClient}
3033
*/
34+
@NotThreadSafe
3135
interface Builder {
3236
/**
3337
* Specifies the extensions to load with the enhanced client. The extensions will be loaded in the strict order

0 commit comments

Comments
 (0)