Generate @param for RPC invocation methods
[mdsal.git] / binding / mdsal-binding-generator-impl / src / main / java / org / opendaylight / mdsal / binding / generator / impl / CodegenTypeGenerator.java
index 23650335833db262931a61f63d09d17a93199bb0..3d40e877d968cee6d2ab259d972846c0794d3749 100644 (file)
@@ -7,16 +7,14 @@
  */
 package org.opendaylight.mdsal.binding.generator.impl;
 
-import static org.opendaylight.mdsal.binding.model.util.BindingGeneratorUtil.encodeAngleBrackets;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.Set;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
 import org.opendaylight.mdsal.binding.model.api.Type;
+import org.opendaylight.mdsal.binding.model.api.TypeMemberComment;
 import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase;
@@ -26,6 +24,7 @@ import org.opendaylight.mdsal.binding.yang.types.CodegenTypeProvider;
 import org.opendaylight.yangtools.yang.model.api.DocumentedNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 
 final class CodegenTypeGenerator extends AbstractTypeGenerator {
@@ -72,9 +71,16 @@ final class CodegenTypeGenerator extends AbstractTypeGenerator {
 
     @Override
     void addComment(final TypeMemberBuilder<?> genType, final DocumentedNode node) {
-        final Optional<String> optDesc = node.getDescription();
-        if (optDesc.isPresent()) {
-            genType.setComment(encodeAngleBrackets(optDesc.get()));
-        }
+        node.getDescription().map(TypeMemberComment::referenceOf).ifPresent(genType::setComment);
+    }
+
+    @Override
+    void addRpcMethodComment(final TypeMemberBuilder<?> genType, final RpcDefinition node) {
+        final String rpcName = node.getQName().getLocalName();
+        genType.setComment(new TypeMemberComment(
+            "Invoke {@code " + rpcName + "} RPC.",
+            node.getDescription().orElse(null),
+            "@param input of {@code " + rpcName + "}\n"
+                + "@return output of {@code " + rpcName + '}'));
     }
 }