private CodeBlock traits()

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();
        }
    }