[ONOS-4922] Javamodel package creation for YANG utils.

Change-Id: Iff1745a8c04881b44db3f2f687967f984c38e2c7
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
index d54fd7d..4c29785 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
@@ -21,23 +21,22 @@
 import org.onosproject.yangutils.datamodel.YangDerivedInfo;
 import org.onosproject.yangutils.datamodel.YangEnumeration;
 import org.onosproject.yangutils.datamodel.YangIdentity;
-import org.onosproject.yangutils.datamodel.YangLeafRef;
 import org.onosproject.yangutils.datamodel.YangIdentityRef;
+import org.onosproject.yangutils.datamodel.YangLeafRef;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangType;
-import org.onosproject.yangutils.datamodel.YangTypeDef;
 import org.onosproject.yangutils.datamodel.YangUnion;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangToJavaNamingConflictUtil;
 import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer;
-import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
 
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.getCurNodePackage;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage;
-import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER;
 import static org.onosproject.yangutils.utils.UtilConstants.BIG_DECIMAL;
+import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER;
 import static org.onosproject.yangutils.utils.UtilConstants.BIT_SET;
 import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE;
 import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER;
@@ -155,7 +154,7 @@
                     return BOOLEAN_WRAPPER;
                 case ENUMERATION:
                     return getCapitalCase(
-                            getCamelCase(((YangJavaEnumeration) yangType.getDataTypeExtendedInfo()).getName(),
+                            getCamelCase(((YangJavaEnumerationTranslator) yangType.getDataTypeExtendedInfo()).getName(),
                                     pluginConfig));
                 case BITS:
                     return BIT_SET;
@@ -163,17 +162,17 @@
                     return BYTE + SQUARE_BRACKETS;
                 case LEAFREF:
                     YangType<?> referredType = getReferredTypeFromLeafref(yangType);
-                    return getJavaImportClass(referredType, isListAttr, pluginConfig);
+                    return getJavaImportClass(referredType, true, pluginConfig);
                 case IDENTITYREF:
                     YangIdentityRef identityRef = (YangIdentityRef) yangType.getDataTypeExtendedInfo();
                     YangIdentity identity = identityRef.getReferredIdentity();
-                    return getCapitalCase(getCamelCase(((YangJavaIdentity) identity).
-                                                        getName(), pluginConfig));
+                    return getCapitalCase(getCamelCase(identity.
+                            getName(), pluginConfig));
                 case EMPTY:
                     return BOOLEAN_WRAPPER;
                 case UNION:
-                    return getCapitalCase(getCamelCase(((YangJavaUnion) yangType.getDataTypeExtendedInfo()).getName(),
-                            pluginConfig));
+                    return getCapitalCase(getCamelCase(((YangJavaUnionTranslator) yangType
+                            .getDataTypeExtendedInfo()).getName(), pluginConfig));
                 case INSTANCE_IDENTIFIER:
                     return STRING_DATA_TYPE;
                 case DERIVED:
@@ -190,7 +189,7 @@
                     return STRING_DATA_TYPE;
                 case ENUMERATION:
                     return getCapitalCase(
-                            getCamelCase(((YangJavaEnumeration) yangType.getDataTypeExtendedInfo()).getName(),
+                            getCamelCase(((YangJavaEnumerationTranslator) yangType.getDataTypeExtendedInfo()).getName(),
                                     pluginConfig));
                 case BITS:
                     return BIT_SET;
@@ -198,16 +197,16 @@
                     return BIG_DECIMAL;
                 case LEAFREF:
                     YangType<?> referredType = getReferredTypeFromLeafref(yangType);
-                    return getJavaImportClass(referredType, isListAttr, pluginConfig);
+                    return getJavaImportClass(referredType, false, pluginConfig);
                 case IDENTITYREF:
                     YangIdentityRef identityRef = (YangIdentityRef) yangType.getDataTypeExtendedInfo();
                     YangIdentity identity = identityRef.getReferredIdentity();
-                    return getCapitalCase(getCamelCase(((YangJavaIdentity) identity).getName(), pluginConfig));
+                    return getCapitalCase(getCamelCase(identity.getName(), pluginConfig));
                 case EMPTY:
                     return BOOLEAN_DATA_TYPE;
                 case UNION:
-                    return getCapitalCase(getCamelCase(((YangJavaUnion) yangType.getDataTypeExtendedInfo()).getName(),
-                            pluginConfig));
+                    return getCapitalCase(getCamelCase(((YangJavaUnionTranslator) yangType
+                            .getDataTypeExtendedInfo()).getName(), pluginConfig));
                 case INSTANCE_IDENTIFIER:
                     return STRING_DATA_TYPE;
                 case DERIVED:
@@ -255,7 +254,7 @@
                     return COLLECTION_IMPORTS;
                 case LEAFREF:
                     YangType<?> referredType = getReferredTypeFromLeafref(yangType);
-                    return getJavaImportPackage(referredType, isListAttr, conflictResolver);
+                    return getJavaImportPackage(referredType, true, conflictResolver);
                 case IDENTITYREF:
                     return getIdentityRefPackage(yangType, conflictResolver);
                 case UNION:
@@ -281,7 +280,7 @@
                     return COLLECTION_IMPORTS;
                 case LEAFREF:
                     YangType<?> referredType = getReferredTypeFromLeafref(yangType);
-                    return getJavaImportPackage(referredType, isListAttr, conflictResolver);
+                    return getJavaImportPackage(referredType, false, conflictResolver);
                 case IDENTITYREF:
                     return getIdentityRefPackage(yangType, conflictResolver);
                 case UNION:
@@ -309,11 +308,11 @@
             throw new TranslatorException("type should have been derived.");
         }
 
-        if (!(((YangDerivedInfo<?>) var).getReferredTypeDef() instanceof YangTypeDef)) {
+        if (!(((YangDerivedInfo<?>) var).getReferredTypeDef() != null)) {
             throw new TranslatorException("derived info is not an instance of typedef.");
         }
 
-        YangJavaTypeDef typedef = (YangJavaTypeDef) ((YangDerivedInfo<?>) var).getReferredTypeDef();
+        YangJavaTypeDefTranslator typedef = (YangJavaTypeDefTranslator) ((YangDerivedInfo<?>) var).getReferredTypeDef();
         if (typedef.getJavaFileInfo().getPackage() == null) {
             return getPackageFromParent(typedef.getParent(), conflictResolver);
         }
@@ -333,7 +332,7 @@
             throw new TranslatorException("type should have been union.");
         }
 
-        YangJavaUnion union = (YangJavaUnion) type.getDataTypeExtendedInfo();
+        YangJavaUnionTranslator union = (YangJavaUnionTranslator) type.getDataTypeExtendedInfo();
         if (union.getJavaFileInfo().getPackage() == null) {
             return getPackageFromParent(union.getParent(), conflictResolver);
         }
@@ -352,7 +351,7 @@
         if (!(type.getDataTypeExtendedInfo() instanceof YangEnumeration)) {
             throw new TranslatorException("type should have been enumeration.");
         }
-        YangJavaEnumeration enumeration = (YangJavaEnumeration) type.getDataTypeExtendedInfo();
+        YangJavaEnumerationTranslator enumeration = (YangJavaEnumerationTranslator) type.getDataTypeExtendedInfo();
         if (enumeration.getJavaFileInfo().getPackage() == null) {
             return getPackageFromParent(enumeration.getParent(), conflictResolver);
         }
@@ -372,12 +371,13 @@
             throw new TranslatorException("type should have been identityref.");
         }
         YangIdentityRef identityRef = (YangIdentityRef) type.getDataTypeExtendedInfo();
-        YangJavaIdentity identity = (YangJavaIdentity) (identityRef.getReferredIdentity());
+        YangJavaIdentityTranslator identity = (YangJavaIdentityTranslator) (identityRef.getReferredIdentity());
         if (identity.getJavaFileInfo().getPackage() == null) {
             return getPackageFromParent(identity.getParent(), conflictResolver);
         }
         return identity.getJavaFileInfo().getPackage();
     }
+
     /**
      * Returns package from parent node.
      *
@@ -406,7 +406,7 @@
      */
     public static void updateJavaFileInfo(YangNode yangNode,
                                           YangToJavaNamingConflictUtil conflictResolver) {
-        Stack<YangNode> nodesToUpdatePackage = new Stack<YangNode>();
+        Stack<YangNode> nodesToUpdatePackage = new Stack<>();
 
         /*
          * Add the nodes to be updated for package info in a stack.
@@ -425,12 +425,12 @@
         if (yangNode == null) {
             yangNode = nodesToUpdatePackage.pop();
             String pkg;
-            if (yangNode instanceof YangJavaModule) {
-                YangJavaModule module = (YangJavaModule) yangNode;
+            if (yangNode instanceof YangJavaModuleTranslator) {
+                YangJavaModuleTranslator module = (YangJavaModuleTranslator) yangNode;
                 pkg = getRootPackage(module.getVersion(), module.getNameSpace().getUri(), module
                         .getRevision().getRevDate(), conflictResolver);
-            } else if (yangNode instanceof YangJavaSubModule) {
-                YangJavaSubModule submodule = (YangJavaSubModule) yangNode;
+            } else if (yangNode instanceof YangJavaSubModuleTranslator) {
+                YangJavaSubModuleTranslator submodule = (YangJavaSubModuleTranslator) yangNode;
                 pkg = getRootPackage(submodule.getVersion(),
                         submodule.getNameSpaceFromModule(submodule.getBelongsTo()),
                         submodule.getRevision().getRevDate(), conflictResolver);
@@ -448,7 +448,7 @@
                                     .getPackage()));
         }
 
-        /**
+        /*
          * Parent of the node in stack is updated with java info,
          * all the nodes can be popped and updated
          */
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
index c57e3c4..809323c 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
@@ -17,7 +17,7 @@
 
 import org.onosproject.yangutils.datamodel.YangType;
 import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer;
-import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangToJavaNamingConflictUtil;
 
 /**
  * Represent java based identification of the YANG leaves.
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
index c85b1a2..f5fd32e 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
@@ -15,8 +15,8 @@
  */
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
+import org.onosproject.yangutils.datamodel.javadatamodel.YangToJavaNamingConflictUtil;
 import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer;
-import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
 
 /**
  * Represent java based identification of the YANG leaves.
@@ -27,7 +27,7 @@
     /**
      * updates the qualified access details of the type.
      *
-     * @param confilictResolver plugin configurations
+     * @param conflictResolver plugin configurations
      */
-    void updateJavaQualifiedInfo(YangToJavaNamingConflictUtil confilictResolver);
+    void updateJavaQualifiedInfo(YangToJavaNamingConflictUtil conflictResolver);
 }
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugment.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugment.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java
index 9986351..4ed340d 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugment.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangAugment;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaAugment;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfAugmentableNode;
@@ -31,18 +31,13 @@
 /**
  * Represents augment information extended to support java code generation.
  */
-public class YangJavaAugment
-        extends YangAugment
+public class YangJavaAugmentTranslator
+        extends YangJavaAugment
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201632L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code snippet types.
      */
     private transient TempJavaCodeFragmentFiles tempFileHandle;
@@ -50,7 +45,7 @@
     /**
      * Creates a YANG java augment object.
      */
-    public YangJavaAugment() {
+    public YangJavaAugmentTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCase.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCase.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java
index 4d4929d..5323ee5 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCase.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangCase;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaCase;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfAugmentableNode;
@@ -31,18 +31,13 @@
 /**
  * Represents case information extended to support java code generation.
  */
-public class YangJavaCase
-        extends YangCase
+public class YangJavaCaseTranslator
+        extends YangJavaCase
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201631L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -51,7 +46,7 @@
     /**
      * Creates YANG java case object.
      */
-    public YangJavaCase() {
+    public YangJavaCaseTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoice.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoice.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java
index 122bb40..fca0eb2 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoice.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangChoice;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaChoice;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeAndUpdateInParent;
@@ -31,18 +31,13 @@
 /**
  * Represents choice information extended to support java code generation.
  */
-public class YangJavaChoice
-        extends YangChoice
+public class YangJavaChoiceTranslator
+        extends YangJavaChoice
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201631L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -51,7 +46,7 @@
     /**
      * Creates YANG java choice object.
      */
-    public YangJavaChoice() {
+    public YangJavaChoiceTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(INTERFACE_MASK);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainer.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainer.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java
index 3578adc..2b560a8 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainer.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangContainer;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaContainer;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeAndUpdateInParent;
@@ -31,18 +31,13 @@
 /**
  * Represents container information extended to support java code generation.
  */
-public class YangJavaContainer
-        extends YangContainer
+public class YangJavaContainerTranslator
+        extends YangJavaContainer
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201630L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -51,7 +46,7 @@
     /**
      * Creates YANG java container object.
      */
-    public YangJavaContainer() {
+    public YangJavaContainerTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumeration.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumeration.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java
index fe5e40f..f0589f7 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumeration.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangEnumeration;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaEnumeration;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfNode;
@@ -32,18 +32,13 @@
 /**
  * Represents YANG java enumeration information extended to support java code generation.
  */
-public class YangJavaEnumeration
-        extends YangEnumeration
+public class YangJavaEnumerationTranslator
+        extends YangJavaEnumeration
         implements JavaCodeGenerator, JavaCodeGeneratorInfo {
 
     private static final long serialVersionUID = 806201629L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -52,7 +47,7 @@
     /**
      * Creates YANG java enumeration object.
      */
-    public YangJavaEnumeration() {
+    public YangJavaEnumerationTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_ENUM_CLASS);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGrouping.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java
similarity index 87%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGrouping.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java
index 6a496ce..a953b63 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGrouping.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java
@@ -15,30 +15,25 @@
  */
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
-import org.onosproject.yangutils.datamodel.YangGrouping;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaGrouping;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.InvalidNodeForTranslatorException;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 /**
  * Represents grouping information extended to support java code generation.
  */
-public class YangJavaGrouping
-        extends YangGrouping
+public class YangJavaGroupingTranslator
+        extends YangJavaGrouping
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201628L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -47,7 +42,7 @@
     /**
      * Creates YANG Java grouping object.
      */
-    public YangJavaGrouping() {
+    public YangJavaGroupingTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
     }
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java
similarity index 87%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java
index 45c9af7..22f95fa 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.onosproject.yangutils.datamodel.YangIdentity;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaIdentity;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.JavaImportData;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
+import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_IDENTITY_CLASS;
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
@@ -41,16 +41,12 @@
 /**
  * Represents input information extended to support java code generation.
  */
-public class YangJavaIdentity extends YangIdentity
+public class YangJavaIdentityTranslator extends YangJavaIdentity
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     //File type extension for java classes.
     private static final String JAVA_FILE_EXTENSION = ".java";
 
-
-    //Contains the information of the java file being generated.
-    private JavaFileInfo javaFileInfo;
-
     //Contains the information of the importd.
     private transient JavaImportData importData;
 
@@ -58,12 +54,12 @@
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
-    private TempJavaCodeFragmentFiles tempFileHandle;
+    private transient TempJavaCodeFragmentFiles tempFileHandle;
 
     /**
      * Creates YANG java container object.
      */
-    public YangJavaIdentity() {
+    public YangJavaIdentityTranslator() {
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
         importData = new JavaImportData();
@@ -123,20 +119,21 @@
     public void generateCodeEntry(YangPluginConfig yangPlugin) throws TranslatorException {
         try {
             updatePackageInfo(this, yangPlugin);
-            JavaQualifiedTypeInfo basePkgInfo = new JavaQualifiedTypeInfo();
+            JavaQualifiedTypeInfoTranslator basePkgInfo = new JavaQualifiedTypeInfoTranslator();
             String className = getCapitalCase(getJavaFileInfo().getJavaName());
             String path = getJavaFileInfo().getPackageFilePath();
             createPackage(this);
             List<String> imports = null;
-            boolean isQualified = false;
+            boolean isQualified;
 
             if (getBaseNode() != null && getBaseNode().getReferredIdentity() != null) {
-                if (!(getBaseNode().getReferredIdentity() instanceof YangJavaIdentity)) {
+                if (!(getBaseNode().getReferredIdentity() instanceof YangJavaIdentityTranslator)) {
                     throw new TranslatorException("Failed to prepare generate code entry for base node");
                 }
-                YangJavaIdentity baseIdentity = (YangJavaIdentity) getBaseNode().getReferredIdentity();
+                YangJavaIdentityTranslator baseIdentity = (YangJavaIdentityTranslator) getBaseNode()
+                        .getReferredIdentity();
                 String baseClassName = getCapitalCase(baseIdentity.getJavaFileInfo().getJavaName());
-                String basePkg =  baseIdentity.getJavaFileInfo().getPackage();
+                String basePkg = baseIdentity.getJavaFileInfo().getPackage();
                 basePkgInfo.setClassInfo(baseClassName);
                 basePkgInfo.setPkgInfo(basePkg);
                 isQualified = importData.addImportInfo(basePkgInfo, className, getJavaFileInfo().getPackage());
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInput.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInput.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java
index f6bfbfc..de730bc 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInput.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangInput;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaInput;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfAugmentableNode;
@@ -32,18 +32,13 @@
 /**
  * Represents input information extended to support java code generation.
  */
-public class YangJavaInput
-        extends YangInput
+public class YangJavaInputTranslator
+        extends YangJavaInput
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201627L;
 
     /**
-     * Contains information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -52,7 +47,7 @@
     /**
      * Creates an instance of java input.
      */
-    public YangJavaInput() {
+    public YangJavaInputTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafList.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
similarity index 76%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafList.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
index c22a134..149d260 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafList.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
@@ -15,31 +15,30 @@
  */
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
-import org.onosproject.yangutils.datamodel.YangLeafList;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
-import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaLeafList;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangToJavaNamingConflictUtil;
+import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
 
-import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo;
+import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator.updateLeavesJavaQualifiedInfo;
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
 
 /**
  * Represents java information corresponding to the YANG leaf-list.
  */
-public class YangJavaLeafList
-        extends YangLeafList
+public class YangJavaLeafListTranslator
+        extends YangJavaLeafList
         implements JavaLeafInfoContainer {
 
     private static final long serialVersionUID = 806201638L;
 
-    private JavaQualifiedTypeInfo javaQualifiedAccess;
     private transient YangToJavaNamingConflictUtil conflictResolveConfig;
 
     /**
      * Returns a new YANG leaf object with java qualified access details.
      */
-    public YangJavaLeafList() {
+    public YangJavaLeafListTranslator() {
         super();
-        setJavaQualifiedInfo(new JavaQualifiedTypeInfo());
+        setJavaQualifiedInfo(new JavaQualifiedTypeInfoTranslator());
     }
 
     @Override
@@ -58,13 +57,13 @@
     }
 
     @Override
-    public JavaQualifiedTypeInfo getJavaQualifiedInfo() {
-        return javaQualifiedAccess;
+    public JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo() {
+        return (JavaQualifiedTypeInfoTranslator) javaQualifiedTypeInfo;
     }
 
     @Override
-    public void setJavaQualifiedInfo(JavaQualifiedTypeInfo typeInfo) {
-        javaQualifiedAccess = typeInfo;
+    public void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo) {
+        javaQualifiedTypeInfo = typeInfo;
     }
 
     /**
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeaf.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
similarity index 76%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeaf.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
index a9fa972..5bd98c9 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeaf.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
@@ -15,41 +15,40 @@
  */
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
-import org.onosproject.yangutils.datamodel.YangLeaf;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
-import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaLeaf;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangToJavaNamingConflictUtil;
+import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
 
-import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo;
+import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator.updateLeavesJavaQualifiedInfo;
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
 
 /**
  * Represents java information corresponding to the YANG leaf.
  */
-public class YangJavaLeaf
-        extends YangLeaf
+public class YangJavaLeafTranslator
+        extends YangJavaLeaf
         implements JavaLeafInfoContainer {
 
     private static final long serialVersionUID = 806201636L;
 
-    private JavaQualifiedTypeInfo javaQualifiedAccess;
     private transient YangToJavaNamingConflictUtil conflictResolveConfig;
 
     /**
      * Returns a new YANG leaf object with java qualified access details.
      */
-    public YangJavaLeaf() {
+    public YangJavaLeafTranslator() {
         super();
-        setJavaQualifiedInfo(new JavaQualifiedTypeInfo());
+        setJavaQualifiedInfo(new JavaQualifiedTypeInfoTranslator());
     }
 
     @Override
-    public JavaQualifiedTypeInfo getJavaQualifiedInfo() {
-        return javaQualifiedAccess;
+    public JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo() {
+        return (JavaQualifiedTypeInfoTranslator) javaQualifiedTypeInfo;
     }
 
     @Override
-    public void setJavaQualifiedInfo(JavaQualifiedTypeInfo typeInfo) {
-        javaQualifiedAccess = typeInfo;
+    public void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo) {
+        javaQualifiedTypeInfo = typeInfo;
 
     }
 
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaList.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaList.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java
index d03c381..c8f3759 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaList.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangList;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaList;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeAndUpdateInParent;
@@ -31,18 +31,13 @@
 /**
  * Represents YANG list information extended to support java code generation.
  */
-public class YangJavaList
-        extends YangList
+public class YangJavaListTranslator
+        extends YangJavaList
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201626L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -51,7 +46,7 @@
     /**
      * Creates YANG java list object.
      */
-    public YangJavaList() {
+    public YangJavaListTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
similarity index 92%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
index db5d060..06715b1 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
@@ -19,15 +19,15 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.onosproject.yangutils.datamodel.YangModule;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangNotification;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaModule;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ALL_EVENT_CLASS_MASK;
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
@@ -42,18 +42,13 @@
 /**
  * Represents module information extended to support java code generation.
  */
-public class YangJavaModule
-        extends YangModule
+public class YangJavaModuleTranslator
+        extends YangJavaModule
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201625L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code snippet types.
      */
     private transient TempJavaCodeFragmentFiles tempFileHandle;
@@ -66,7 +61,7 @@
     /**
      * Creates a YANG node of module type.
      */
-    public YangJavaModule() {
+    public YangJavaModuleTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         setNotificationNodes(new ArrayList<>());
@@ -163,9 +158,9 @@
             if (isManagerCodeGenRequired(this)) {
                 if (isGenerationOfCodeReq(getJavaFileInfo())) {
                     if ((getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi() == null)
-                        || (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
-                         getTempJavaCodeFragmentFiles().getServiceTempFiles().setManagerNeedToBeGenerated(true);
-                     }
+                            || (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
+                        getTempJavaCodeFragmentFiles().getServiceTempFiles().setManagerNeedToBeGenerated(true);
+                    }
                 }
             }
             getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotification.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
similarity index 91%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotification.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
index a56fefa..a693820 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotification.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
@@ -19,40 +19,35 @@
 import java.io.IOException;
 
 import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.YangNotification;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaNotification;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
+import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer;
 import org.onosproject.yangutils.translator.tojava.TempJavaServiceFragmentFiles;
 import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfAugmentableNode;
 import static org.onosproject.yangutils.utils.UtilConstants.EVENT_LISTENER_STRING;
 import static org.onosproject.yangutils.utils.UtilConstants.EVENT_STRING;
+import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
 
 /**
  * Represents notification information extended to support java code generation.
  */
-public class YangJavaNotification
-        extends YangNotification
+public class YangJavaNotificationTranslator
+        extends YangJavaNotification
         implements JavaCodeGenerator, JavaCodeGeneratorInfo {
 
     private static final long serialVersionUID = 806201624L;
 
     /**
-     * Contains information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -61,7 +56,7 @@
     /**
      * Creates an instance of java Notification.
      */
-    public YangJavaNotification() {
+    public YangJavaNotificationTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
@@ -148,7 +143,7 @@
                 .getTempJavaCodeFragmentFiles()
                 .getServiceTempFiles();
         JavaExtendsListHolder holder = tempJavaServiceFragmentFiles.getJavaExtendsListHolder();
-        JavaQualifiedTypeInfo event = new JavaQualifiedTypeInfo();
+        JavaQualifiedTypeInfoTranslator event = new JavaQualifiedTypeInfoTranslator();
 
         String parentInfo = getCapitalCase(((JavaFileInfoContainer) parent)
                 .getJavaFileInfo().getJavaName());
@@ -156,7 +151,7 @@
         event.setPkgInfo(getJavaFileInfo().getPackage());
         holder.addToExtendsList(event, parent, tempJavaServiceFragmentFiles);
 
-        JavaQualifiedTypeInfo eventListener = new JavaQualifiedTypeInfo();
+        JavaQualifiedTypeInfoTranslator eventListener = new JavaQualifiedTypeInfoTranslator();
 
         eventListener.setClassInfo(parentInfo + EVENT_LISTENER_STRING);
         eventListener.setPkgInfo(getJavaFileInfo().getPackage());
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutput.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutput.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java
index 4b18551..b9bc576 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutput.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangOutput;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaOutput;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfAugmentableNode;
@@ -32,18 +32,13 @@
 /**
  * Represents output information extended to support java code generation.
  */
-public class YangJavaOutput
-        extends YangOutput
+public class YangJavaOutputTranslator
+        extends YangJavaOutput
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201623L;
 
     /**
-     * Contains information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -52,7 +47,7 @@
     /**
      * Creates an instance of java output.
      */
-    public YangJavaOutput() {
+    public YangJavaOutputTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java
similarity index 93%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java
index 315f7e3..7696418 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java
@@ -22,23 +22,22 @@
 import org.onosproject.yangutils.datamodel.YangInput;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangOutput;
-import org.onosproject.yangutils.datamodel.YangRpc;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaRpc;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
+import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer;
 import org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode;
 import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData;
-import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
+import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator.getQualifiedTypeInfoOfCurNode;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.updatePackageInfo;
 import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE;
 import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT;
@@ -47,22 +46,18 @@
 import static org.onosproject.yangutils.utils.UtilConstants.REFERENCE;
 import static org.onosproject.yangutils.utils.UtilConstants.REFERENCE_CARDINALITY;
 import static org.onosproject.yangutils.utils.UtilConstants.SERVICE;
+import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
 
 /**
  * Represents rpc information extended to support java code generation.
  */
-public class YangJavaRpc
-        extends YangRpc
+public class YangJavaRpcTranslator
+        extends YangJavaRpc
         implements JavaCodeGenerator, JavaCodeGeneratorInfo {
 
     private static final long serialVersionUID = 806201622L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * Temproary file for code generation.
      */
     private transient TempJavaCodeFragmentFiles tempJavaCodeFragmentFiles;
@@ -70,7 +65,7 @@
     /**
      * Creates an instance of YANG java rpc.
      */
-    public YangJavaRpc() {
+    public YangJavaRpcTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
     }
@@ -206,7 +201,7 @@
          * Get the import info corresponding to the attribute for import in
          * generated java files or qualified access
          */
-        JavaQualifiedTypeInfo qualifiedTypeInfo = getQualifiedTypeInfoOfCurNode(childNode,
+        JavaQualifiedTypeInfoTranslator qualifiedTypeInfo = getQualifiedTypeInfoOfCurNode(childNode,
                 getCapitalCase(childNodeName));
         if (!(parentNode instanceof TempJavaCodeFragmentFilesContainer)) {
             throw new TranslatorException("Parent node does not have file info");
@@ -230,7 +225,7 @@
      * @param importInfo import info
      * @return true or false
      */
-    private boolean addImportToService(JavaQualifiedTypeInfo importInfo) {
+    private boolean addImportToService(JavaQualifiedTypeInfoTranslator importInfo) {
         JavaFileInfo fileInfo = ((JavaFileInfoContainer) getParent()).getJavaFileInfo();
 
         if (importInfo.getClassInfo().contentEquals(SERVICE)
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
similarity index 92%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
index 73d7583..a089a99 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
@@ -23,13 +23,13 @@
 import org.onosproject.yangutils.datamodel.YangModule;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangNotification;
-import org.onosproject.yangutils.datamodel.YangSubModule;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaSubModule;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ALL_EVENT_CLASS_MASK;
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
@@ -44,18 +44,13 @@
 /**
  * Represents sub module information extended to support java code generation.
  */
-public class YangJavaSubModule
-        extends YangSubModule
+public class YangJavaSubModuleTranslator
+        extends YangJavaSubModule
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201621L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code snippet types.
      */
     private transient TempJavaCodeFragmentFiles tempFileHandle;
@@ -68,7 +63,7 @@
     /**
      * Creates YANG java sub module object.
      */
-    public YangJavaSubModule() {
+    public YangJavaSubModuleTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         int gentype = GENERATE_SERVICE_AND_MANAGER | GENERATE_INTERFACE_WITH_BUILDER;
@@ -178,9 +173,9 @@
             if (isManagerCodeGenRequired(this)) {
                 if (isGenerationOfCodeReq(getJavaFileInfo())) {
                     if ((getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi() == null)
-                        || (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
-                         getTempJavaCodeFragmentFiles().getServiceTempFiles().setManagerNeedToBeGenerated(true);
-                     }
+                            || (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
+                        getTempJavaCodeFragmentFiles().getServiceTempFiles().setManagerNeedToBeGenerated(true);
+                    }
                 }
             }
             getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDef.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDef.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java
index e08ec19..7cec2df 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDef.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangTypeDef;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaTypeDef;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfNode;
@@ -31,18 +31,13 @@
 /**
  * Represents type define information extended to support java code generation.
  */
-public class YangJavaTypeDef
-        extends YangTypeDef
+public class YangJavaTypeDefTranslator
+        extends YangJavaTypeDef
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201620L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -51,7 +46,7 @@
     /**
      * Creates a YANG java typedef object.
      */
-    public YangJavaTypeDef() {
+    public YangJavaTypeDefTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_TYPEDEF_CLASS);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaType.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
similarity index 79%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaType.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
index 1a96a3a..d8fe517 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaType.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
@@ -16,16 +16,17 @@
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
 import org.onosproject.yangutils.datamodel.YangType;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangToJavaNamingConflictUtil;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
-import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
+import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
 
 /**
  * Represents java information corresponding to the YANG type.
  *
  * @param <T> generic parameter for YANG java type
  */
-public class YangJavaType<T>
+public class YangJavaTypeTranslator<T>
         extends YangType<T>
         implements JavaQualifiedTypeResolver {
 
@@ -34,14 +35,14 @@
     /**
      * Create a YANG leaf object with java qualified access details.
      */
-    public YangJavaType() {
+    public YangJavaTypeTranslator() {
         super();
-        setJavaQualifiedInfo(new JavaQualifiedTypeInfo());
+        setJavaQualifiedInfo(new JavaQualifiedTypeInfoTranslator());
     }
 
     @Override
     public void updateJavaQualifiedInfo(YangToJavaNamingConflictUtil conflictResolver) {
-        JavaQualifiedTypeInfo importInfo = getJavaQualifiedInfo();
+        JavaQualifiedTypeInfoTranslator importInfo = getJavaQualifiedInfo();
 
         /*
          * Type is added as an attribute in the class.
@@ -54,7 +55,7 @@
              */
             importInfo.setClassInfo(className);
             String classPkg = AttributesJavaDataType.getJavaImportPackage(this,
-                    false,  conflictResolver);
+                    false, conflictResolver);
             if (classPkg == null) {
                 throw new TranslatorException("import package cannot be null when the class is used");
             }
@@ -74,12 +75,12 @@
     }
 
     @Override
-    public JavaQualifiedTypeInfo getJavaQualifiedInfo() {
-        return javaQualifiedAccess;
+    public JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo() {
+        return (JavaQualifiedTypeInfoTranslator) javaQualifiedAccess;
     }
 
     @Override
-    public void setJavaQualifiedInfo(JavaQualifiedTypeInfo typeInfo) {
+    public void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo) {
         javaQualifiedAccess = typeInfo;
     }
 }
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnion.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java
similarity index 90%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnion.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java
index 0dca9a7..926bcb9 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnion.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java
@@ -17,13 +17,13 @@
 
 import java.io.IOException;
 
-import org.onosproject.yangutils.datamodel.YangUnion;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaUnion;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS;
 import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfNode;
@@ -31,18 +31,13 @@
 /**
  * Represents union information extended to support java code generation.
  */
-public class YangJavaUnion
-        extends YangUnion
+public class YangJavaUnionTranslator
+        extends YangJavaUnion
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201619L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -51,7 +46,7 @@
     /**
      * Creates an instance of YANG java union.
      */
-    public YangJavaUnion() {
+    public YangJavaUnionTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
         getJavaFileInfo().setGeneratedFileTypes(GENERATE_UNION_CLASS);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUses.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java
similarity index 88%
rename from utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUses.java
rename to utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java
index 409688f..4717a15 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUses.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java
@@ -15,30 +15,25 @@
  */
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
-import org.onosproject.yangutils.datamodel.YangUses;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaUses;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
 import org.onosproject.yangutils.translator.exception.InvalidNodeForTranslatorException;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
 import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
 import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
-import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
 
 /**
  * Represents uses information extended to support java code generation.
  */
-public class YangJavaUses
-        extends YangUses
+public class YangJavaUsesTranslator
+        extends YangJavaUses
         implements JavaCodeGeneratorInfo, JavaCodeGenerator {
 
     private static final long serialVersionUID = 806201618L;
 
     /**
-     * Contains the information of the java file being generated.
-     */
-    private JavaFileInfo javaFileInfo;
-
-    /**
      * File handle to maintain temporary java code fragments as per the code
      * snippet types.
      */
@@ -47,7 +42,7 @@
     /**
      * Creates YANG java uses object.
      */
-    public YangJavaUses() {
+    public YangJavaUsesTranslator() {
         super();
         setJavaFileInfo(new JavaFileInfo());
     }