Fix action/grouping lookup mechanics
[mdsal.git] / binding / mdsal-binding-generator-impl / src / main / java / org / opendaylight / mdsal / binding / generator / impl / ModuleContext.java
index 872529db7557bb5b849c190b5e33fbc964406d4f..baa5824c6d505a6ca87aeaff6ba21ff33bc2ce0f 100644 (file)
@@ -22,12 +22,12 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import javax.annotation.concurrent.NotThreadSafe;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
 import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
+import org.opendaylight.yangtools.concepts.Mutable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
@@ -44,8 +44,10 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@NotThreadSafe
-public final class ModuleContext {
+/**
+ * Utility class for building up Binding mapping information. This class is NOT thread-safe.
+ */
+public final class ModuleContext implements Mutable {
     private static final Logger LOG = LoggerFactory.getLogger(ModuleContext.class);
 
     private final BiMap<Type, AugmentationSchemaNode> typeToAugmentation = HashBiMap.create();
@@ -129,39 +131,39 @@ public final class ModuleContext {
         return moduleNode;
     }
 
-    public GeneratedTypeBuilder getChildNode(final SchemaPath p) {
-        return childNodes.get(p);
+    public GeneratedTypeBuilder getChildNode(final SchemaPath path) {
+        return childNodes.get(path);
     }
 
-    public GeneratedTypeBuilder getGrouping(final SchemaPath p) {
-        return groupings.get(p);
+    public GeneratedTypeBuilder getGrouping(final SchemaPath path) {
+        return groupings.get(path);
     }
 
-    public GeneratedTypeBuilder getCase(final SchemaPath p) {
-        return cases.get(p);
+    public GeneratedTypeBuilder getCase(final SchemaPath path) {
+        return cases.get(path);
     }
 
-    public void addModuleNode(final GeneratedTypeBuilder moduleNode) {
-        this.moduleNode = moduleNode;
+    public void addModuleNode(final GeneratedTypeBuilder newModuleNode) {
+        this.moduleNode = newModuleNode;
     }
 
-    public void addGeneratedTOBuilder(final GeneratedTOBuilder b) {
-        genTOs.add(b);
+    public void addGeneratedTOBuilder(final GeneratedTOBuilder builder) {
+        genTOs.add(builder);
     }
 
-    public void addChildNodeType(final SchemaNode def, final GeneratedTypeBuilder b) {
-        checkNamingConflict(def, b.getIdentifier());
-        childNodes.put(def.getPath(), b);
-        typeToSchema.put(b, def);
+    public void addChildNodeType(final SchemaNode def, final GeneratedTypeBuilder builder) {
+        checkNamingConflict(def, builder.getIdentifier());
+        childNodes.put(def.getPath(), builder);
+        typeToSchema.put(builder, def);
     }
 
-    public void addGroupingType(final GroupingDefinition def, final GeneratedTypeBuilder b) {
-        checkNamingConflict(def, b.getIdentifier());
-        groupings.put(def.getPath(), b);
+    public void addGroupingType(final GroupingDefinition def, final GeneratedTypeBuilder builder) {
+        checkNamingConflict(def, builder.getIdentifier());
+        groupings.put(def.getPath(), builder);
     }
 
-    public void addTypedefType(final TypeDefinition<?> def, final Type t) {
-        final JavaTypeName name = t.getIdentifier();
+    public void addTypedefType(final TypeDefinition<?> def, final Type type) {
+        final JavaTypeName name = type.getIdentifier();
         final SchemaNode existingDef = nameMapping.putIfAbsent(name, def);
         if (existingDef != null) {
             if (!(existingDef instanceof TypeDefinition)) {
@@ -172,24 +174,24 @@ public final class ModuleContext {
             LOG.debug("GeneratedType conflict between {} and {} on {}", def, existingDef, name);
         }
 
-        typedefs.put(def.getPath(), t);
+        typedefs.put(def.getPath(), type);
     }
 
-    public void addCaseType(final SchemaPath p, final GeneratedTypeBuilder b) {
-        cases.put(p, b);
+    public void addCaseType(final SchemaPath path, final GeneratedTypeBuilder builder) {
+        cases.put(path, builder);
     }
 
-    public void addIdentityType(final IdentitySchemaNode def, final GeneratedTypeBuilder b) {
-        checkNamingConflict(def, b.getIdentifier());
-        identities.put(def.getQName(), b);
+    public void addIdentityType(final IdentitySchemaNode def, final GeneratedTypeBuilder builder) {
+        checkNamingConflict(def, builder.getIdentifier());
+        identities.put(def.getQName(), builder);
     }
 
-    public void addTopLevelNodeType(final GeneratedTypeBuilder b) {
-        topLevelNodes.add(b);
+    public void addTopLevelNodeType(final GeneratedTypeBuilder builder) {
+        topLevelNodes.add(builder);
     }
 
-    public void addAugmentType(final GeneratedTypeBuilder b) {
-        augmentations.add(b);
+    public void addAugmentType(final GeneratedTypeBuilder builder) {
+        augmentations.add(builder);
     }
 
     public Map<SchemaPath, Type> getTypedefs() {
@@ -240,9 +242,8 @@ public final class ModuleContext {
     }
 
     /**
-     * Returns mapping of type to its schema.
-     *
-     * Valid values are only instances of {@link DataSchemaNode} or {@link AugmentationSchemaNode}
+     * Returns mapping of type to its schema. Valid values are only instances of {@link DataSchemaNode}
+     * or {@link AugmentationSchemaNode}.
      *
      * @return Mapping from type to corresponding schema
      */
@@ -256,9 +257,6 @@ public final class ModuleContext {
 
     /**
      * Adds mapping between schema path and an inner type.
-     *
-     * @param path
-     * @param type
      */
     void addInnerTypedefType(final SchemaPath path, final Type type) {
         innerTypes.put(path, type);