Merge "Refactored ModuleBuilder to avoid name conflicts. Fixed implementation of...
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / impl / RpcDefinitionBuilder.java
index 003ccced4ab2d72476ff8360efea25e9e3e62b73..5b9638eb63dc715a7b58a6b810fe6095810fa938 100644 (file)
@@ -26,9 +26,9 @@ import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionAwareBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder;
 
-public class RpcDefinitionBuilder implements SchemaNodeBuilder,
+public final class RpcDefinitionBuilder implements SchemaNodeBuilder,
         TypeDefinitionAwareBuilder {
-    private boolean built;
+    private boolean isBuilt;
     private final RpcDefinitionImpl instance;
     private final int line;
     private final QName qname;
@@ -47,7 +47,7 @@ public class RpcDefinitionBuilder implements SchemaNodeBuilder,
 
     @Override
     public RpcDefinition build() {
-        if(!built) {
+        if (!isBuilt) {
             final ContainerSchemaNode input = inputBuilder.build();
             final ContainerSchemaNode output = outputBuilder.build();
             instance.setInput(input);
@@ -76,7 +76,7 @@ public class RpcDefinitionBuilder implements SchemaNodeBuilder,
             }
             instance.setUnknownSchemaNodes(unknownNodes);
 
-            built = true;
+            isBuilt = true;
         }
         return instance;
     }
@@ -94,11 +94,19 @@ public class RpcDefinitionBuilder implements SchemaNodeBuilder,
         this.outputBuilder = outputBuilder;
     }
 
+    public Set<TypeDefinitionBuilder> getTypeDefinitions() {
+        return addedTypedefs;
+    }
+
     @Override
     public void addTypedef(final TypeDefinitionBuilder type) {
         addedTypedefs.add(type);
     }
 
+    public void addGrouping(GroupingBuilder grouping) {
+        addedGroupings.add(grouping);
+    }
+
     @Override
     public SchemaPath getPath() {
         return schemaPath;
@@ -158,7 +166,7 @@ public class RpcDefinitionBuilder implements SchemaNodeBuilder,
         return true;
     }
 
-    private class RpcDefinitionImpl implements RpcDefinition {
+    private final class RpcDefinitionImpl implements RpcDefinition {
         private final QName qname;
         private SchemaPath path;
         private String description;