in codegen/src/main/java/software/amazon/awssdk/codegen/poet/auth/scheme/DefaultAuthSchemeParamsSpec.java [167:227]
private void addFieldsAndAccessors(TypeSpec.Builder b) {
b.addField(FieldSpec.builder(String.class, "operation")
.addModifiers(Modifier.PRIVATE, Modifier.FINAL)
.build());
b.addMethod(MethodSpec.methodBuilder("operation")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class)
.returns(String.class)
.addStatement("return operation")
.build());
if (authSchemeSpecUtils.usesSigV4()) {
b.addField(FieldSpec.builder(Region.class, "region")
.addModifiers(Modifier.PRIVATE, Modifier.FINAL)
.build());
b.addMethod(MethodSpec.methodBuilder("region")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class)
.returns(Region.class)
.addStatement("return region")
.build());
}
if (authSchemeSpecUtils.hasSigV4aSupport()) {
b.addField(FieldSpec.builder(RegionSet.class, "regionSet")
.addModifiers(Modifier.PRIVATE, Modifier.FINAL)
.build());
b.addMethod(MethodSpec.methodBuilder("regionSet")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class)
.returns(RegionSet.class)
.addStatement("return regionSet")
.build());
}
if (authSchemeSpecUtils.generateEndpointBasedParams()) {
parameters().forEach((name, model) -> {
if (authSchemeSpecUtils.includeParam(name)) {
b.addField(endpointRulesSpecUtils.parameterClassField(name, model));
b.addMethod(endpointRulesSpecUtils.parameterClassAccessorMethod(name, model)
.toBuilder()
.addAnnotation(Override.class)
.build());
}
});
ClassName endpointProvider = endpointRulesSpecUtils.providerInterfaceName();
b.addField(FieldSpec.builder(endpointProvider, "endpointProvider")
.addModifiers(Modifier.PRIVATE, Modifier.FINAL)
.build());
b.addMethod(MethodSpec.methodBuilder("endpointProvider")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class)
.returns(endpointProvider)
.addStatement("return endpointProvider")
.build());
}
}