Skip to content

Commit 18464cf

Browse files
committed
Add Util.singleStringParam() helper method
1 parent cdb5502 commit 18464cf

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

http-generator-core/src/main/java/io/avaje/http/generator/core/BaseProcessor.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -165,23 +165,14 @@ private final void registerParamMapping(final TypeElement type, String factoryMe
165165
ElementFilter.methodsIn(type.getEnclosedElements()).stream()
166166
.filter(m -> m.getSimpleName().contentEquals(factoryMethod)
167167
&& m.getModifiers().contains(Modifier.STATIC)
168-
&& m.getParameters().size() == 1
169-
&& firstParamIsString(m))
168+
&& Util.singleStringParam(m))
170169
.findAny()
171170
.ifPresentOrElse(
172171
c -> TypeMap.add(new CustomHandler(UType.parse(type.asType()), factoryMethod)),
173172
() -> logError(type, "Missing static factory method %s(String s)", factoryMethod));
174173
}
175174
}
176175

177-
private static boolean firstParamIsString(ExecutableElement m) {
178-
return m.getParameters()
179-
.get(0)
180-
.asType()
181-
.toString()
182-
.equals(String.class.getTypeName());
183-
}
184-
185176
private void readOpenApiDefinition(RoundEnvironment round) {
186177
for (final Element element : round.getElementsAnnotatedWith(typeElement(OpenAPIDefinitionPrism.PRISM_TYPE))) {
187178
doc().readApiDefinition(element);

http-generator-core/src/main/java/io/avaje/http/generator/core/Util.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,13 +274,15 @@ public List<String> visitEnumConstant(VariableElement roleEnum, Object o) {
274274

275275
static Optional<ExecutableElement> stringConstructor(TypeElement typeElement) {
276276
return ElementFilter.constructorsIn(typeElement.getEnclosedElements()).stream()
277-
.filter(m ->
278-
m.getParameters().size() == 1
279-
&& firstParamIsString(m))
277+
.filter(Util::singleStringParam)
280278
.findAny();
281279
}
282280

283-
private static boolean firstParamIsString(ExecutableElement m) {
281+
static boolean singleStringParam(ExecutableElement m) {
282+
return m.getParameters().size() == 1 && firstParamIsString(m);
283+
}
284+
285+
static boolean firstParamIsString(ExecutableElement m) {
284286
return m.getParameters()
285287
.get(0)
286288
.asType()

0 commit comments

Comments
 (0)