[ONOS-3906],[ONOS-3910] Implementation of YANG module and leaf/leaf-list translator.

Change-Id: If1a8a991ffafa14b51211f97c435176ee1bf856f
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangList.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangList.java
index d75c09d..e09b94c 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangList.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangList.java
@@ -65,8 +65,7 @@
 /**
  * List data represented in YANG.
  */
-public class YangList extends YangNode
-        implements YangLeavesHolder, YangCommonInfo, Parsable {
+public class YangList extends YangNode implements YangLeavesHolder, YangCommonInfo, Parsable {
 
     /**
      * name of the YANG list.
@@ -113,14 +112,12 @@
     /**
      * List of leaves.
      */
-    @SuppressWarnings("rawtypes")
-    private List<YangLeaf> listOfLeaf;
+    private List<YangLeaf<?>> listOfLeaf;
 
     /**
      * List of leaf-lists.
      */
-    @SuppressWarnings("rawtypes")
-    private List<YangLeafList> listOfLeafList;
+    private List<YangLeafList<?>> listOfLeafList;
 
     /**
      * The "max-elements" statement, which is optional, takes as an argument a
@@ -209,6 +206,7 @@
      *
      * @return the description.
      */
+    @Override
     public String getDescription() {
         return description;
     }
@@ -218,6 +216,7 @@
      *
      * @param description set the description.
      */
+    @Override
     public void setDescription(String description) {
         this.description = description;
     }
@@ -258,8 +257,8 @@
      *
      * @return the list of leaves.
      */
-    @SuppressWarnings("rawtypes")
-    public List<YangLeaf> getListOfLeaf() {
+    @Override
+    public List<YangLeaf<?>> getListOfLeaf() {
         return listOfLeaf;
     }
 
@@ -268,8 +267,7 @@
      *
      * @param leafsList the list of leaf to set.
      */
-    @SuppressWarnings("rawtypes")
-    private void setListOfLeaf(List<YangLeaf> leafsList) {
+    private void setListOfLeaf(List<YangLeaf<?>> leafsList) {
         listOfLeaf = leafsList;
     }
 
@@ -278,10 +276,10 @@
      *
      * @param leaf the leaf to be added.
      */
-    @SuppressWarnings("rawtypes")
+    @Override
     public void addLeaf(YangLeaf<?> leaf) {
         if (getListOfLeaf() == null) {
-            setListOfLeaf(new LinkedList<YangLeaf>());
+            setListOfLeaf(new LinkedList<YangLeaf<?>>());
         }
 
         getListOfLeaf().add(leaf);
@@ -292,8 +290,8 @@
      *
      * @return the list of leaf-list.
      */
-    @SuppressWarnings("rawtypes")
-    public List<YangLeafList> getListOfLeafList() {
+    @Override
+    public List<YangLeafList<?>> getListOfLeafList() {
         return listOfLeafList;
     }
 
@@ -302,8 +300,7 @@
      *
      * @param listOfLeafList the list of leaf-list to set.
      */
-    @SuppressWarnings("rawtypes")
-    private void setListOfLeafList(List<YangLeafList> listOfLeafList) {
+    private void setListOfLeafList(List<YangLeafList<?>> listOfLeafList) {
         this.listOfLeafList = listOfLeafList;
     }
 
@@ -312,10 +309,10 @@
      *
      * @param leafList the leaf-list to be added.
      */
-    @SuppressWarnings("rawtypes")
+    @Override
     public void addLeafList(YangLeafList<?> leafList) {
         if (getListOfLeafList() == null) {
-            setListOfLeafList(new LinkedList<YangLeafList>());
+            setListOfLeafList(new LinkedList<YangLeafList<?>>());
         }
 
         getListOfLeafList().add(leafList);
@@ -362,6 +359,7 @@
      *
      * @return the reference.
      */
+    @Override
     public String getReference() {
         return reference;
     }
@@ -371,6 +369,7 @@
      *
      * @param reference the reference to set.
      */
+    @Override
     public void setReference(String reference) {
         this.reference = reference;
     }
@@ -380,6 +379,7 @@
      *
      * @return the status.
      */
+    @Override
     public YangStatusType getStatus() {
         return status;
     }
@@ -389,6 +389,7 @@
      *
      * @param status the status to set.
      */
+    @Override
     public void setStatus(YangStatusType status) {
         this.status = status;
     }
@@ -398,6 +399,7 @@
      *
      * @return returns LIST_DATA.
      */
+    @Override
     public ParsableDataType getParsableDataType() {
         return ParsableDataType.LIST_DATA;
     }
@@ -407,6 +409,7 @@
      *
      * @throws DataModelException a violation of data model rules.
      */
+    @Override
     public void validateDataOnEntry() throws DataModelException {
         // TODO auto-generated method stub, to be implemented by parser
     }
@@ -416,6 +419,7 @@
      *
      * @throws DataModelException a violation of data model rules.
      */
+    @Override
     public void validateDataOnExit() throws DataModelException {
         // TODO auto-generated method stub, to be implemented by parser
     }
@@ -423,6 +427,7 @@
     /* (non-Javadoc)
      * @see org.onosproject.yangutils.translator.CodeGenerator#generateJavaCodeEntry()
      */
+    @Override
     public void generateJavaCodeEntry() {
         // TODO Auto-generated method stub
 
@@ -431,6 +436,7 @@
     /* (non-Javadoc)
      * @see org.onosproject.yangutils.translator.CodeGenerator#generateJavaCodeExit()
      */
+    @Override
     public void generateJavaCodeExit() {
         // TODO Auto-generated method stub