in codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/regions/ServiceMetadataGenerator.java [94:154]
public TypeSpec poetClass() {
TypeName listOfRegions = ParameterizedTypeName.get(ClassName.get(List.class), ClassName.get(regionBasePackage, "Region"));
TypeName mapByServiceEndpointKey = ParameterizedTypeName.get(ClassName.get(Map.class),
serviceEndpointKeyClass(),
ClassName.get(String.class));
TypeName mapByPair = ParameterizedTypeName.get(ClassName.get(Map.class),
byPartitionKeyClass(),
ClassName.get(String.class));
TypeName listOfServicePartitionMetadata =
ParameterizedTypeName.get(ClassName.get(List.class), ClassName.get(regionBasePackage, "ServicePartitionMetadata"));
return TypeSpec.classBuilder(className())
.addModifiers(Modifier.PUBLIC)
.addAnnotation(AnnotationSpec.builder(Generated.class)
.addMember("value", "$S", "software.amazon.awssdk:codegen")
.build())
.addAnnotation(SdkPublicApi.class)
.addModifiers(FINAL)
.addSuperinterface(ClassName.get(regionBasePackage, "ServiceMetadata"))
.addField(FieldSpec.builder(String.class, "ENDPOINT_PREFIX")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer("$S", serviceEndpointPrefix)
.build())
.addField(FieldSpec.builder(listOfRegions, "REGIONS")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(regionsField(partitions))
.build())
.addField(FieldSpec.builder(listOfServicePartitionMetadata, "PARTITIONS")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(servicePartitions(partitions))
.build())
.addField(FieldSpec.builder(mapByServiceEndpointKey, "SIGNING_REGIONS_BY_REGION")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(signingRegionsByRegion(partitions))
.build())
.addField(FieldSpec.builder(mapByPair, "SIGNING_REGIONS_BY_PARTITION")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(signingRegionsByPartition(partitions))
.build())
.addField(FieldSpec.builder(mapByServiceEndpointKey, "DNS_SUFFIXES_BY_REGION")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(dnsSuffixesByRegion(partitions))
.build())
.addField(FieldSpec.builder(mapByPair, "DNS_SUFFIXES_BY_PARTITION")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(dnsSuffixesByPartition(partitions))
.build())
.addField(FieldSpec.builder(mapByServiceEndpointKey, "HOSTNAMES_BY_REGION")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(hostnamesByRegion(partitions))
.build())
.addField(FieldSpec.builder(mapByPair, "HOSTNAMES_BY_PARTITION")
.addModifiers(PRIVATE, FINAL, STATIC)
.initializer(hostnamesByPartition(partitions))
.build())
.addMethod(regions())
.addMethod(partitions(listOfServicePartitionMetadata))
.addMethod(endpointFor())
.addMethod(signingRegion())
.build();
}