Implemented ordering of yang module data nodes. Added Comparators utility class.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / api / AbstractTypeAwareBuilder.java
index 12acbceb025dfa80113119abf93858c2aaed087a..caf71ecc7b28c892c1bd43a84b9849de4db080fb 100644 (file)
@@ -7,16 +7,44 @@
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
+import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 
 /**
  * Basic implementation for TypeAwareBuilder builders.
  */
 public abstract class AbstractTypeAwareBuilder implements TypeAwareBuilder {
-
+    protected final int line;
+    protected final QName qname;
+    protected Builder parent;
     protected TypeDefinition<?> type;
     protected TypeDefinitionBuilder typedef;
 
+    public AbstractTypeAwareBuilder(final int line, final QName qname) {
+        this.line = line;
+        this.qname = qname;
+    }
+
+    @Override
+    public int getLine() {
+        return line;
+    }
+
+    @Override
+    public Builder getParent() {
+        return parent;
+    }
+
+    @Override
+    public void setParent(final Builder parent) {
+        this.parent = parent;
+    }
+
+    @Override
+    public QName getQName() {
+        return qname;
+    }
+
     @Override
     public TypeDefinition<?> getType() {
         return type;
@@ -34,7 +62,7 @@ public abstract class AbstractTypeAwareBuilder implements TypeAwareBuilder {
     }
 
     @Override
-    public void setType(TypeDefinitionBuilder typedef) {
+    public void setTypedef(TypeDefinitionBuilder typedef) {
         this.typedef = typedef;
         this.type = null;
     }