X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fyang-jmx-generator-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyangjmxgenerator%2Fplugin%2Fftl%2Fmodel%2FMethodSerializer.java;fp=opendaylight%2Fconfig%2Fyang-jmx-generator-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyangjmxgenerator%2Fplugin%2Fftl%2Fmodel%2FMethodSerializer.java;h=a37a8d653bf358751c33afdf4e6b12331718155c;hb=8cc33e526b0f9ad956dcc96e57cff02679d643b3;hp=4d727ae5b7582176bd8670d434cc9bf92bc85c66;hpb=2cf4749c41aa32c6b77064fc1ae0e231adc4a5f4;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 4d727ae5b7..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,25 +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(" "); - build.append(method.getVisibility()).append(" "); - for (String mod : method.getModifiers()) { - build.append(mod).append(" "); - } + method.getVisibility().ifPresent(appendWithSpace); + method.getModifiers().forEach(appendWithSpace); build.append(method.getReturnType()).append(" "); build.append(method.getName()).append("("); @@ -35,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("}");