in codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ShapeModelSpec.java [182:231]
private CodeBlock traits(MemberModel m) {
List<CodeBlock> traits = new ArrayList<>();
traits.add(createLocationTrait(m));
if (m.isList()) {
traits.add(createListTrait(m));
} else if (m.isMap()) {
traits.add(createMapTrait(m));
}
if (m.getHttp().getIsPayload() || m.isEventPayload() || attachPayloadTraitToMember(m)) {
traits.add(createPayloadTrait());
}
if (m.isJsonValue()) {
traits.add(createJsonValueTrait());
}
if (m.isIdempotencyToken()) {
traits.add(createIdempotencyTrait());
}
String customDefaultValueSupplier = customizationConfig.getModelMarshallerDefaultValueSupplier().get(m.getC2jName());
if (customDefaultValueSupplier != null) {
traits.add(createDefaultValueTrait(customDefaultValueSupplier));
}
if (m.getTimestampFormat() != null) {
traits.add(createTimestampFormatTrait(m));
}
if (m.getShape() != null && m.getShape().getXmlNamespace() != null) {
traits.add(createXmlAttributesTrait(m));
}
if (m.isXmlAttribute()) {
traits.add(createXmlAttributeTrait());
}
if (m.ignoreDataTypeConversionFailures()) {
traits.add(createDataTypeConversionFailureHandlingTrait());
}
if (customizationConfig.isRequiredTraitValidationEnabled() && m.isRequired()) {
traits.add(createRequiredTrait());
}
if (!traits.isEmpty()) {
return CodeBlock.builder()
.add(".traits(" + traits.stream().map(t -> "$L").collect(Collectors.joining(", ")) + ")",
traits.toArray())
.build();
} else {
return CodeBlock.builder().build();
}
}