From 5cc3982e44328e990ec9f9eb32d3b50f00bdc3b5 Mon Sep 17 00:00:00 2001
From: RanVaknin <50976344+RanVaknin@users.noreply.github.com>
Date: Wed, 26 Aug 2026 15:22:03 -0700
Subject: [PATCH 1/7] Add checkstyle rules fit for v2
---
.../amazon/awssdk/checkstyle-suppressions.xml | 2 +
.../dynamodb/AbstractDynamoDBMapper.java | 2 +
.../dynamodb/AbstractEnumMarshaller.java | 3 +
.../mapper/dynamodb/ArgumentMarshaller.java | 2 +
.../mapper/dynamodb/ArgumentUnmarshaller.java | 2 +
.../mapper/dynamodb/AttributeTransformer.java | 2 +
.../dynamodb/AttributeTransformerChain.java | 2 +
.../mapper/dynamodb/BatchLoadContext.java | 2 +
.../mapper/dynamodb/ConversionSchema.java | 2 +
.../mapper/dynamodb/ConversionSchemas.java | 28 ++---
.../mapper/dynamodb/ConvertibleType.java | 18 +--
.../dynamodb/DynamoDBAutoGenerator.java | 2 +
.../dynamodb/DynamoDBDeleteExpression.java | 2 +
.../mapper/dynamodb/DynamoDBDelimited.java | 16 +--
.../mapper/dynamodb/DynamoDBMapper.java | 106 +++++++++---------
.../mapper/dynamodb/DynamoDBMapperConfig.java | 10 +-
.../dynamodb/DynamoDBMapperFieldModel.java | 4 +-
.../dynamodb/DynamoDBMapperTableModel.java | 84 +++++++-------
.../dynamodb/DynamoDBMappingException.java | 3 +
.../dynamodb/DynamoDBMappingsRegistry.java | 4 +-
.../mapper/dynamodb/DynamoDBMarshaller.java | 3 +
.../dynamodb/DynamoDBQueryExpression.java | 2 +
.../dynamodb/DynamoDBSaveExpression.java | 2 +
.../dynamodb/DynamoDBScanExpression.java | 2 +
.../mapper/dynamodb/DynamoDBTableMapper.java | 16 +--
.../DynamoDBTransactionLoadExpression.java | 2 +
.../DynamoDBTransactionWriteExpression.java | 2 +
.../dynamodb/DynamoDBTypeConverter.java | 2 +
.../DynamoDBTypeConverterFactory.java | 4 +-
.../mapper/dynamodb/DynamoDBVersioned.java | 2 +-
.../mapper/dynamodb/IDynamoDBMapper.java | 2 +
.../awssdk/mapper/dynamodb/ItemConverter.java | 2 +
.../mapper/dynamodb/JsonMarshaller.java | 2 +
.../awssdk/mapper/dynamodb/KeyPair.java | 3 +
.../mapper/dynamodb/MapperDateUtils.java | 8 +-
.../mapper/dynamodb/MapperExceptions.java | 2 +
.../awssdk/mapper/dynamodb/PaginatedList.java | 2 +
.../dynamodb/PaginatedParallelScanList.java | 2 +
.../mapper/dynamodb/PaginatedQueryList.java | 2 +
.../mapper/dynamodb/PaginatedScanList.java | 2 +
.../mapper/dynamodb/ParallelScanTask.java | 6 +-
.../mapper/dynamodb/QueryResultPage.java | 2 +
.../mapper/dynamodb/ReflectionUtils.java | 5 +
.../awssdk/mapper/dynamodb/S3ClientCache.java | 2 +
.../amazon/awssdk/mapper/dynamodb/S3Link.java | 2 +
.../mapper/dynamodb/ScanResultPage.java | 2 +
.../dynamodb/StandardAnnotationMaps.java | 59 +++++-----
.../dynamodb/StandardBeanProperties.java | 27 +++--
.../dynamodb/StandardModelFactories.java | 25 +++--
.../dynamodb/StandardTypeConverters.java | 42 +++----
.../dynamodb/TransactionLoadRequest.java | 2 +
.../dynamodb/TransactionWriteRequest.java | 2 +
.../BooleanSetToNumberSetMarshaller.java | 2 +
.../BooleanToBooleanMarshaller.java | 2 +
.../BooleanToNumberMarshaller.java | 2 +
.../ByteArraySetToBinarySetMarshaller.java | 2 +
.../ByteArrayToBinaryMarshaller.java | 2 +
.../ByteBufferSetToBinarySetMarshaller.java | 2 +
.../ByteBufferToBinaryMarshaller.java | 2 +
.../CalendarSetToStringSetMarshaller.java | 2 +
.../CalendarToStringMarshaller.java | 2 +
.../CollectionToListMarshaller.java | 2 +
.../marshallers/CustomMarshaller.java | 2 +
.../DateSetToStringSetMarshaller.java | 2 +
.../marshallers/DateToStringMarshaller.java | 2 +
.../marshallers/MapToMapMarshaller.java | 2 +
.../NumberSetToNumberSetMarshaller.java | 2 +
.../marshallers/NumberToNumberMarshaller.java | 2 +
.../ObjectSetToStringSetMarshaller.java | 2 +
.../marshallers/ObjectToMapMarshaller.java | 2 +
.../marshallers/ObjectToStringMarshaller.java | 2 +
.../marshallers/S3LinkToStringMarshaller.java | 2 +
.../StringSetToStringSetMarshaller.java | 2 +
.../marshallers/StringToStringMarshaller.java | 2 +
.../UUIDSetToStringSetMarshaller.java | 2 +
.../unmarshallers/BSUnmarshaller.java | 2 +
.../dynamodb/unmarshallers/BUnmarshaller.java | 2 +
.../BigDecimalSetUnmarshaller.java | 2 +
.../unmarshallers/BigDecimalUnmarshaller.java | 2 +
.../BigIntegerSetUnmarshaller.java | 2 +
.../unmarshallers/BigIntegerUnmarshaller.java | 2 +
.../unmarshallers/BooleanSetUnmarshaller.java | 2 +
.../unmarshallers/BooleanUnmarshaller.java | 2 +
.../ByteArraySetUnmarshaller.java | 2 +
.../unmarshallers/ByteArrayUnmarshaller.java | 2 +
.../ByteBufferSetUnmarshaller.java | 2 +
.../unmarshallers/ByteBufferUnmarshaller.java | 2 +
.../unmarshallers/ByteSetUnmarshaller.java | 2 +
.../unmarshallers/ByteUnmarshaller.java | 2 +
.../CalendarSetUnmarshaller.java | 2 +
.../unmarshallers/CalendarUnmarshaller.java | 2 +
.../unmarshallers/CustomUnmarshaller.java | 2 +
.../unmarshallers/DateSetUnmarshaller.java | 2 +
.../unmarshallers/DateUnmarshaller.java | 2 +
.../unmarshallers/DoubleSetUnmarshaller.java | 2 +
.../unmarshallers/DoubleUnmarshaller.java | 2 +
.../unmarshallers/FloatSetUnmarshaller.java | 2 +
.../unmarshallers/FloatUnmarshaller.java | 2 +
.../unmarshallers/IntegerSetUnmarshaller.java | 2 +
.../unmarshallers/IntegerUnmarshaller.java | 2 +
.../dynamodb/unmarshallers/LUnmarshaller.java | 2 +
.../unmarshallers/ListUnmarshaller.java | 2 +
.../unmarshallers/LongSetUnmarshaller.java | 2 +
.../unmarshallers/LongUnmarshaller.java | 2 +
.../dynamodb/unmarshallers/MUnmarshaller.java | 2 +
.../unmarshallers/MapUnmarshaller.java | 2 +
.../unmarshallers/NSUnmarshaller.java | 66 +++++------
.../dynamodb/unmarshallers/NUnmarshaller.java | 66 +++++------
.../unmarshallers/NullableUnmarshaller.java | 2 +
.../unmarshallers/ObjectSetUnmarshaller.java | 2 +
.../unmarshallers/ObjectUnmarshaller.java | 2 +
.../unmarshallers/S3LinkUnmarshaller.java | 2 +
.../unmarshallers/SSUnmarshaller.java | 66 +++++------
.../dynamodb/unmarshallers/SUnmarshaller.java | 66 +++++------
.../unmarshallers/ShortSetUnmarshaller.java | 2 +
.../unmarshallers/ShortUnmarshaller.java | 2 +
.../unmarshallers/StringSetUnmarshaller.java | 2 +
.../unmarshallers/StringUnmarshaller.java | 2 +
.../unmarshallers/UUIDSetUnmarshaller.java | 2 +
.../unmarshallers/UUIDUnmarshaller.java | 2 +
120 files changed, 583 insertions(+), 345 deletions(-)
diff --git a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml
index 4e81373b0be3..f936d537a109 100644
--- a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml
+++ b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml
@@ -72,4 +72,6 @@
+
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java
index a47ca74fcd51..ffb4db122a89 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java
@@ -14,6 +14,7 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper.FailedBatch;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import com.amazonaws.services.dynamodbv2.model.CreateTableRequest;
@@ -30,6 +31,7 @@
* corresponding overload that takes a request object, which throws an
* {@code UnsupportedOperationException}.
*/
+@SdkPublicApi
public class AbstractDynamoDBMapper implements IDynamoDBMapper {
private final DynamoDBMapperConfig config;
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java
index 707eec62c97b..2a75d0650887 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java
@@ -14,6 +14,8 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
+
/**
* Generic marshaller for enumerations.
*
@@ -28,6 +30,7 @@
*
* @deprecated Replaced by {@link DynamoDBTypeConvertedEnum}
*/
+@SdkPublicApi
@Deprecated
public abstract class AbstractEnumMarshaller> implements DynamoDBMarshaller {
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java
index 9e203df0d3b2..364430029664 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java
@@ -14,12 +14,14 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
/**
* Interface to make it possible to cache the expensive type determination
* behavior.
*/
+@SdkPublicApi
public interface ArgumentMarshaller {
/**
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java
index 96fef778fa8e..f2b42e1a9ddb 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java
@@ -14,6 +14,7 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import java.lang.reflect.Method;
import java.text.ParseException;
@@ -24,6 +25,7 @@
* type-determination behavior necessary when turning a service result back
* into an object.
*/
+@SdkPublicApi
public interface ArgumentUnmarshaller {
/**
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java
index 8efc798fc6a7..0c9a22298fc0 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java
@@ -14,6 +14,7 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import java.util.Map;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
@@ -28,6 +29,7 @@
* {@code untransform} method. These methods SHOULD be inverses, such that
* untransform(transform(value)) == value.
*/
+@SdkPublicApi
public interface AttributeTransformer {
/**
* Parameters for the {@code transform} and {@code untransform} methods,
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java
index e5ff5cbc5f11..0df0301daa53 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java
@@ -14,6 +14,7 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -27,6 +28,7 @@
* attributes by running them through a cascading series of child
* {@code AttributeTransformer} instances.
*/
+@SdkPublicApi
public class AttributeTransformerChain implements AttributeTransformer {
private final List transformers;
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java
index 1439b5831a0f..6338a616b8ae 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java
@@ -16,6 +16,7 @@
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import java.util.Objects;
import software.amazon.awssdk.services.dynamodb.model.BatchGetItemRequest;
import software.amazon.awssdk.services.dynamodb.model.BatchGetItemResponse;
@@ -26,6 +27,7 @@
*
* @author avinam
*/
+@SdkPublicApi
public class BatchLoadContext {
/**
* The BatchGetItemResponse returned by the DynamoDB client.
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java
index a19d7522748b..9427cb811430 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java
@@ -14,6 +14,7 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import java.util.HashMap;
import java.util.Map;
@@ -23,6 +24,7 @@
* Standard implementations are available in the {@link ConversionSchemas}
* class.
*/
+@SdkPublicApi
public interface ConversionSchema {
/**
diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java
index 4ceaf5717b73..089f353d0f92 100644
--- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java
+++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java
@@ -14,6 +14,7 @@
*/
package software.amazon.awssdk.mapper.dynamodb;
+import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BinaryAttributeMarshaller;
import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BinarySetAttributeMarshaller;
import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BooleanAttributeMarshaller;
@@ -111,6 +112,7 @@
/**
* Pre-defined strategies for mapping between Java types and DynamoDB types.
*/
+@SdkPublicApi
public final class ConversionSchemas {
private static final Log LOGGER =
@@ -282,9 +284,9 @@ public StandardItemConverter(
@Override
public DynamoDBMapperFieldModel getFieldModel(Method getter) {
- final ArgumentMarshaller marshaller = getMarshaller(getter);
+ ArgumentMarshaller marshaller = getMarshaller(getter);
- final DynamoDBAttributeType attributeType;
+ DynamoDBAttributeType attributeType;
if (marshaller instanceof StringAttributeMarshaller) {
attributeType = DynamoDBAttributeType.S;
} else if (marshaller instanceof NumberAttributeMarshaller) {
@@ -313,8 +315,8 @@ public DynamoDBMapperFieldModel getFieldModel(Method getter) {
// actually correct for @DynamoDBFlattened attributes, however,
// its the best that can be done given only the method. The
// proper way to get this information is using the model factory.
- final StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null);
- final DynamoDBMapperFieldModel.Builder builder = new DynamoDBMapperFieldModel.Builder(void.class, annotations);
+ StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null);
+ DynamoDBMapperFieldModel.Builder builder = new DynamoDBMapperFieldModel.Builder(void.class, annotations);
builder.with(attributeType);
return builder.build();
}
@@ -339,7 +341,7 @@ public Map convert(Object object) {
Map result =
new HashMap();
- for (final Bean