Skip to content

Commit c34f21a

Browse files
committed
Added needed getter builder methods to generated exceptions
1 parent 209d1c7 commit c34f21a

File tree

6 files changed

+92
-3
lines changed

6 files changed

+92
-3
lines changed

codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ExceptionProperties.java

+24-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ public static List<MethodSpec> builderInterfaceMethods(ClassName className) {
3434
builderMethod(className, "requestId", String.class),
3535
builderMethod(className, "statusCode", int.class),
3636
builderMethod(className, "cause", Throwable.class),
37-
builderMethod(className, "writableStackTrace", Boolean.class));
37+
builderMethod(className, "writableStackTrace", Boolean.class),
38+
builderMethod(className, "numAttempts", Integer.class),
39+
builderGetterMethodInterface("numAttempts", Integer.class));
40+
3841
}
3942

4043
public static List<MethodSpec> builderImplMethods(ClassName className) {
@@ -44,7 +47,9 @@ public static List<MethodSpec> builderImplMethods(ClassName className) {
4447
builderImplMethods(className, "requestId", String.class),
4548
builderImplMethods(className, "statusCode", int.class),
4649
builderImplMethods(className, "cause", Throwable.class),
47-
builderImplMethods(className, "writableStackTrace", Boolean.class));
50+
builderImplMethods(className, "writableStackTrace", Boolean.class),
51+
builderImplMethods(className, "numAttempts", Integer.class),
52+
builderImplGetterMethods("numAttempts", Integer.class));
4853
}
4954

5055
private static MethodSpec builderMethod(ClassName className, String name, Class clazz) {
@@ -56,6 +61,14 @@ private static MethodSpec builderMethod(ClassName className, String name, Class
5661
.build();
5762
}
5863

64+
private static MethodSpec builderGetterMethodInterface(String name, Class clazz) {
65+
return MethodSpec.methodBuilder(name)
66+
.addAnnotation(Override.class)
67+
.returns(clazz)
68+
.addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT)
69+
.build();
70+
}
71+
5972
private static MethodSpec builderImplMethods(ClassName className, String name, Class clazz) {
6073
return MethodSpec.methodBuilder(name)
6174
.addAnnotation(Override.class)
@@ -66,4 +79,13 @@ private static MethodSpec builderImplMethods(ClassName className, String name, C
6679
.addStatement("return this")
6780
.build();
6881
}
82+
83+
private static MethodSpec builderImplGetterMethods(String name, Class clazz) {
84+
return MethodSpec.methodBuilder(name)
85+
.addAnnotation(Override.class)
86+
.returns(clazz)
87+
.addModifiers(Modifier.PUBLIC)
88+
.addStatement("return " + name)
89+
.build();
90+
}
6991
}

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/baseserviceexception.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public BuilderImpl numAttempts(Integer numAttempts) {
100100

101101
@Override
102102
public Integer numAttempts() {
103-
return this.numAttempts;
103+
return numAttempts;
104104
}
105105

106106
@Override

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/emptymodeledexception.java

+16
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ public interface Builder extends SdkPojo, CopyableBuilder<Builder, EmptyModeledE
7070

7171
@Override
7272
Builder writableStackTrace(Boolean writableStackTrace);
73+
74+
@Override
75+
Builder numAttempts(Integer numAttempts);
76+
77+
@Override Integer numAttempts();
7378
}
7479

7580
static final class BuilderImpl extends JsonProtocolTestsException.BuilderImpl implements Builder {
@@ -116,6 +121,17 @@ public BuilderImpl writableStackTrace(Boolean writableStackTrace) {
116121
return this;
117122
}
118123

124+
@Override
125+
public BuilderImpl numAttempts(Integer numAttempts) {
126+
this.numAttempts = numAttempts;
127+
return this;
128+
}
129+
130+
@Override
131+
public Integer numAttempts() {
132+
return numAttempts;
133+
}
134+
119135
@Override
120136
public EmptyModeledException build() {
121137
return new EmptyModeledException(this);

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/exceptions/jsonserviceinternalservererrorexception.java

+17
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ public interface Builder extends SdkPojo, CopyableBuilder<Builder, JsonServiceIn
7979

8080
@Override
8181
Builder writableStackTrace(Boolean writableStackTrace);
82+
83+
@Override
84+
Builder numAttempts(Integer numAttempts);
85+
86+
@Override
87+
Integer numAttempts();
8288
}
8389

8490
static final class BuilderImpl extends JsonException.BuilderImpl implements Builder {
@@ -125,6 +131,17 @@ public BuilderImpl writableStackTrace(Boolean writableStackTrace) {
125131
return this;
126132
}
127133

134+
@Override
135+
public BuilderImpl numAttempts(Integer numAttempts) {
136+
this.numAttempts = numAttempts;
137+
return this;
138+
}
139+
140+
@Override
141+
public Integer numAttempts() {
142+
return numAttempts;
143+
}
144+
128145
@Override
129146
public JsonServiceInternalServerErrorException build() {
130147
return new JsonServiceInternalServerErrorException(this);

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/exceptions/jsonserviceinvalidinputexception.java

+17
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ public interface Builder extends SdkPojo, CopyableBuilder<Builder, JsonServiceIn
7373

7474
@Override
7575
Builder writableStackTrace(Boolean writableStackTrace);
76+
77+
@Override
78+
Builder numAttempts(Integer numAttempts);
79+
80+
@Override
81+
Integer numAttempts();
7682
}
7783

7884
static final class BuilderImpl extends JsonException.BuilderImpl implements Builder {
@@ -119,6 +125,17 @@ public BuilderImpl writableStackTrace(Boolean writableStackTrace) {
119125
return this;
120126
}
121127

128+
@Override
129+
public BuilderImpl numAttempts(Integer numAttempts) {
130+
this.numAttempts = numAttempts;
131+
return this;
132+
}
133+
134+
@Override
135+
public Integer numAttempts() {
136+
return numAttempts;
137+
}
138+
122139
@Override
123140
public JsonServiceInvalidInputException build() {
124141
return new JsonServiceInvalidInputException(this);

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/exceptions/jsonservicethrottlingexception.java

+17
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ public interface Builder extends SdkPojo, CopyableBuilder<Builder, JsonServiceTh
8383

8484
@Override
8585
Builder writableStackTrace(Boolean writableStackTrace);
86+
87+
@Override
88+
Builder numAttempts(Integer numAttempts);
89+
90+
@Override
91+
Integer numAttempts();
8692
}
8793

8894
static final class BuilderImpl extends JsonException.BuilderImpl implements Builder {
@@ -129,6 +135,17 @@ public BuilderImpl writableStackTrace(Boolean writableStackTrace) {
129135
return this;
130136
}
131137

138+
@Override
139+
public BuilderImpl numAttempts(Integer numAttempts) {
140+
this.numAttempts = numAttempts;
141+
return this;
142+
}
143+
144+
@Override
145+
public Integer numAttempts() {
146+
return numAttempts;
147+
}
148+
132149
@Override
133150
public JsonServiceThrottlingException build() {
134151
return new JsonServiceThrottlingException(this);

0 commit comments

Comments
 (0)