[ONOS-4583] Union defect fix.

Change-Id: Ic31866b9a1b7bd5d8209d5d22f4292ab9c79a118
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
index e83c075..d570fa7 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
@@ -127,6 +127,16 @@
     public static final String JAVA_DOC_GETTERS = " * Returns the attribute ";
 
     /**
+     * JavaDocs's description for getter method.
+     */
+    public static final String JAVA_DOC_FOR_VALIDATOR = " * Validates if value is in given range.";
+
+    /**
+     * JavaDocs's description for getter method.
+     */
+    public static final String JAVA_DOC_FOR_VALIDATOR_RETURN = " * @return true if value is in range";
+
+    /**
      * JavaDocs's description for constructor.
      */
     public static final String JAVA_DOC_CONSTRUCTOR = " * Creates an instance of ";
@@ -292,6 +302,108 @@
     public static final String SPACE = " ";
 
     /**
+     * Static attribute for validateRange.
+     */
+    public static final String VALIDATE_RANGE = "validateRange";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String MIN_RANGE = "minRange";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String MAX_RANGE = "maxRange";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String INT_MIN_RANGE_ATTR = "static final int INT32_MIN_RANGE = -2147483648;\n";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String INT_MIN_RANGE = "INT32_MIN_RANGE";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String INT_MAX_RANGE = "INT32_MAX_RANGE";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String INT_MAX_RANGE_ATTR = "static final int INT32_MAX_RANGE = 2147483647;";
+
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String UINT_MIN_RANGE_ATTR = "static final int UINT16_MIN_RANGE = 0;\n";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String UINT_MAX_RANGE_ATTR = "static final int UINT16_MAX_RANGE = 2147483647;";
+
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String UINT_MIN_RANGE = "UINT16_MIN_RANGE";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String UINT_MAX_RANGE = "UINT16_MAX_RANGE";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String LONG_MIN_RANGE_ATTR = "static final BigInteger INT64_MIN_RANGE =" +
+            " new BigInteger(\"-9223372036854775808\");\n";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String LONG_MAX_RANGE_ATTR = "static final BigInteger INT64_MAX_RANGE =" +
+            " new BigInteger(\"9223372036854775807\");";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String LONG_MIN_RANGE = "INT64_MIN_RANGE";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String LONG_MAX_RANGE = "INT64_MAX_RANGE";
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String ULONG_MIN_RANGE_ATTR = "static final BigInteger UINT32_MIN_RANGE =" +
+            " new BigInteger(\"0\");\n";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String ULONG_MAX_RANGE_ATTR = "static final BigInteger UINT32_MAX_RANGE =" +
+            " new BigInteger(\"9223372036854775807\");";
+
+
+    /**
+     * Static attribute for minRange.
+     */
+    public static final String ULONG_MIN_RANGE = "UINT32_MIN_RANGE";
+
+    /**
+     * Static attribute for maxRange.
+     */
+    public static final String ULONG_MAX_RANGE = "UINT32_MAX_RANGE";
+
+    /**
      * Static attribute for subject.
      */
     public static final String SUBJECT = "Subject";
@@ -347,16 +459,6 @@
     public static final String IDENTITYREF = "identityref";
 
     /**
-     * Static attribute for binary string.
-     */
-    public static final String BINARY_STRING = "binary";
-
-    /**
-     * Static attribute for bits string.
-     */
-    public static final String BITS_STRING = "bits";
-
-    /**
      * Static attribute for output variable of rpc.
      */
     public static final String RPC_INPUT_VAR_NAME = "inputVar";
@@ -612,6 +714,11 @@
     public static final String TMP_VAL = "tmpVal";
 
     /**
+     * Static attribute for close curly bracket syntax.
+     */
+    public static final String ELSE = "else";
+
+    /**
      * From string parameter name.
      */
     public static final String FROM_STRING_PARAM_NAME = "valInString";
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
index 34e4983..af0b4e3 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
@@ -17,6 +17,10 @@
 package org.onosproject.yangutils.utils.io.impl;
 
 import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED;
+import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FOR_VALIDATOR;
+import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FOR_VALIDATOR_RETURN;
+import static org.onosproject.yangutils.utils.UtilConstants.MAX_RANGE;
+import static org.onosproject.yangutils.utils.UtilConstants.MIN_RANGE;
 import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUGMENTED_INFO;
 import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
 import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC;
@@ -519,6 +523,11 @@
                 VALUE + SPACE + OF + SPACE + AUGMENTED + CLASS + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
     }
 
+    /**
+     * Returns javadoc for get augmentation method.
+     *
+     * @return javadoc for get augmentation method
+     */
     public static String generateForGetAugmentation() {
         return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
                 + JAVA_DOC_GETTERS + getSmallCase(YANG_AUGMENTED_INFO) + PERIOD + NEW_LINE +
@@ -529,6 +538,23 @@
     }
 
     /**
+     * Returns javadoc for validator method.
+     *
+     * @return javadoc for validator method
+     */
+    public static String generateForValidatorMethod() {
+        return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION +
+                JAVA_DOC_FOR_VALIDATOR + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK +
+                FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + MIN_RANGE + SPACE + MIN_RANGE + SPACE + OF + SPACE +
+                VALUE + NEW_LINE +
+                FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + MAX_RANGE + SPACE + MAX_RANGE + SPACE + OF + SPACE + VALUE +
+                NEW_LINE +
+                FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + NEW_LINE +
+                FOUR_SPACE_INDENTATION + JAVA_DOC_FOR_VALIDATOR_RETURN + NEW_LINE + FOUR_SPACE_INDENTATION +
+                JAVA_DOC_END_LINE;
+    }
+
+    /**
      * JavaDocs types.
      */
     public enum JavaDocType {