Merge "Moved parsing of unknown nodes from implementation to abstract classes."
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / impl / ConstraintsBuilder.java
index b1aa7de06a58fddcfad9884abeba13d651f47761..5ec825b382072ac642c32a466a040b5ac8ae4030 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.controller.yang.parser.builder.impl;
 
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.model.api.ConstraintDefinition;
@@ -16,10 +17,12 @@ import org.opendaylight.controller.yang.model.api.MustDefinition;
 import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.controller.yang.model.util.RevisionAwareXPathImpl;
 import org.opendaylight.controller.yang.parser.builder.api.Builder;
+import org.opendaylight.controller.yang.parser.util.YangParseException;
 
 public final class ConstraintsBuilder implements Builder {
     private final ConstraintDefinitionImpl instance;
     private final int line;
+    private Builder parent;
     private final Set<MustDefinition> mustDefinitions;
     private String whenCondition;
     private boolean mandatory;
@@ -53,6 +56,26 @@ public final class ConstraintsBuilder implements Builder {
         return line;
     }
 
+    @Override
+    public Builder getParent() {
+        return parent;
+    }
+
+    @Override
+    public void setParent(final Builder parent) {
+        this.parent = parent;
+    }
+
+    @Override
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {
+        throw new YangParseException(line, "Can not add unknown node to constraints.");
+    }
+
+    @Override
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
+        return Collections.emptyList();
+    }
+
     public Integer getMinElements() {
         return min;
     }
@@ -93,8 +116,8 @@ public final class ConstraintsBuilder implements Builder {
         this.mandatory = mandatory;
     }
 
-    private final class ConstraintDefinitionImpl implements
-            ConstraintDefinition {
+
+    private final class ConstraintDefinitionImpl implements ConstraintDefinition {
         private RevisionAwareXPath whenCondition;
         private Set<MustDefinition> mustConstraints;
         private boolean mandatory;
@@ -156,16 +179,10 @@ public final class ConstraintsBuilder implements Builder {
         public int hashCode() {
             final int prime = 31;
             int result = 1;
-            result = prime * result
-                    + ((whenCondition == null) ? 0 : whenCondition.hashCode());
-            result = prime
-                    * result
-                    + ((mustConstraints == null) ? 0 : mustConstraints
-                            .hashCode());
-            result = prime * result
-                    + ((minElements == null) ? 0 : minElements.hashCode());
-            result = prime * result
-                    + ((maxElements == null) ? 0 : maxElements.hashCode());
+            result = prime * result + ((whenCondition == null) ? 0 : whenCondition.hashCode());
+            result = prime * result + ((mustConstraints == null) ? 0 : mustConstraints.hashCode());
+            result = prime * result + ((minElements == null) ? 0 : minElements.hashCode());
+            result = prime * result + ((maxElements == null) ? 0 : maxElements.hashCode());
             result = prime * result + (mandatory ? 1231 : 1237);
             return result;
         }
@@ -218,8 +235,7 @@ public final class ConstraintsBuilder implements Builder {
 
         @Override
         public String toString() {
-            StringBuilder sb = new StringBuilder(
-                    ConstraintDefinitionImpl.class.getSimpleName());
+            StringBuilder sb = new StringBuilder(ConstraintDefinitionImpl.class.getSimpleName());
             sb.append("[");
             sb.append("whenCondition=" + whenCondition);
             sb.append(", mustConstraints=" + mustConstraints);
@@ -229,7 +245,6 @@ public final class ConstraintsBuilder implements Builder {
             sb.append("]");
             return sb.toString();
         }
-
     }
 
 }