X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=inline;f=opendaylight%2Fconfig%2Fyang-jmx-generator-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyangjmxgenerator%2Fplugin%2Fftl%2Fmodel%2FMethodSerializer.java;h=a37a8d653bf358751c33afdf4e6b12331718155c;hb=f43b01b81319959b1907e3e04537f5169e7f33d8;hp=eba6e53e23257899ccc178760cd3bc30b8e676f6;hpb=dd65a7ecf4237d0e11e01f71d2184c2bc9de2895;p=controller.git diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/model/MethodSerializer.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/model/MethodSerializer.java index eba6e53e23..a37a8d653b 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/model/MethodSerializer.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/model/MethodSerializer.java @@ -8,24 +8,27 @@ package org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model; +import java.util.Optional; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import javax.lang.model.element.Modifier; import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.StringUtil; class MethodSerializer { static String toString(Method method) { StringBuilder build = new StringBuilder(); + Consumer appendWithSpace = string -> build.append(string).append(" "); + if (method.getJavadoc() != null) { build.append(StringUtil.writeComment(method.getJavadoc(), true)); } - for(Annotation a: method.getAnnotations()) { - build.append(a); - } + method.getAnnotations().forEach(build::append); - build.append(" " + "public "); - for (String mod : method.getModifiers()) { - build.append(mod).append(" "); - } + build.append(" "); + method.getVisibility().ifPresent(appendWithSpace); + method.getModifiers().forEach(appendWithSpace); build.append(method.getReturnType()).append(" "); build.append(method.getName()).append("("); @@ -34,30 +37,27 @@ class MethodSerializer { if (!firstParam) { build.append(", "); } - for (String mod : param.getModifiers()) { - build.append(mod).append(" "); - } + param.getModifiers().forEach(appendWithSpace); build.append(param.getType()).append(" "); build.append(param.getName()); firstParam = false; } build.append(")"); - if (method instanceof MethodDeclaration) { + if (!method.getThrowsExceptions().isEmpty()) { + build.append(" throws "); + build.append(method.getThrowsExceptions().stream().collect(Collectors.joining(", "))); + } + + Optional body = method.getBody(); + if (!body.isPresent()) { build.append(";"); build.append("\n"); - } else if (method instanceof MethodDefinition) { - MethodDefinition definition = (MethodDefinition) method; - if (!definition.getThrowsExceptions().isEmpty()) { - build.append(" throws "); - } - for (String ex : definition.getThrowsExceptions()) { - build.append(ex).append(" "); - } + } else { build.append(" {"); build.append("\n"); build.append(" "); - build.append(definition.getBody()); + build.append(body.get()); build.append("\n"); build.append(" "); build.append("}");