Merge "Replaced Equals/HashcodeBuilder for DatapacketListener"
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / yang / model / util / AbstractUnsignedInteger.java
index 76048519e7f226653f220aa73aff85dae7ed5681..013d80d79911c127ef4f3823a2fc996bf70c044f 100644 (file)
@@ -3,10 +3,8 @@
  */
 package org.opendaylight.controller.yang.model.util;
 
-import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 
 import org.opendaylight.controller.yang.common.QName;
@@ -42,20 +40,38 @@ public abstract class AbstractUnsignedInteger implements
     private final String units;
     private final List<RangeConstraint> rangeStatements;
 
+    protected AbstractUnsignedInteger(final QName name,
+            final String description, final Number minRange,
+            final Number maxRange, final String units) {
+        this.name = name;
+        this.description = description;
+        this.path = BaseTypes.schemaPath(name);
+        this.units = units;
+        this.rangeStatements = new ArrayList<RangeConstraint>();
+        final String rangeDescription = "Integer values between " + minRange
+                + " and " + maxRange + ", inclusively.";
+        this.rangeStatements.add(BaseConstraints.rangeConstraint(minRange,
+                maxRange, rangeDescription,
+                "https://tools.ietf.org/html/rfc6020#section-9.2.4"));
+    }
+
     /**
+     *
+     * @param actualPath
+     * @param namespace
+     * @param revision
      * @param name
      * @param description
      * @param minRange
      * @param maxRange
      * @param units
      */
-    public AbstractUnsignedInteger(final List<String> actualPath,
-            final URI namespace, final Date revision, final QName name,
+    public AbstractUnsignedInteger(final SchemaPath path, final QName name,
             final String description, final Number minRange,
             final Number maxRange, final String units) {
         this.name = name;
         this.description = description;
-        this.path = BaseTypes.schemaPath(actualPath, namespace, revision);
+        this.path = path;
         this.units = units;
         this.rangeStatements = new ArrayList<RangeConstraint>();
         final String rangeDescription = "Integer values between " + minRange
@@ -71,13 +87,12 @@ public abstract class AbstractUnsignedInteger implements
      * @param rangeStatements
      * @param units
      */
-    public AbstractUnsignedInteger(final List<String> actualPath,
-            final URI namespace, final Date revision, final QName name,
+    public AbstractUnsignedInteger(final SchemaPath path, final QName name,
             final String description,
             final List<RangeConstraint> rangeStatements, final String units) {
         this.name = name;
         this.description = description;
-        this.path = BaseTypes.schemaPath(actualPath, namespace, revision);
+        this.path = path;
         this.units = units;
         this.rangeStatements = rangeStatements;
     }