[ONOS-4073] YANG enum translator implementation.
Change-Id: I129eaec0c8f81c674a994a579650f18499340052
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
index a1cae8e..0ecaaa1 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
@@ -22,6 +22,8 @@
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_OBJECT;
+import static org.onosproject.yangutils.utils.UtilConstants.ENUM_ATTRIBUTE_JAVADOC;
+import static org.onosproject.yangutils.utils.UtilConstants.ENUM_CLASS_JAVADOC;
import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION;
import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_METHOD_NAME;
import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_PARAM_NAME;
@@ -135,7 +137,17 @@
/**
* For build.
*/
- BUILD_METHOD
+ BUILD_METHOD,
+
+ /**
+ * For enum.
+ */
+ ENUM_CLASS,
+
+ /**
+ * For enum's attributes.
+ */
+ ENUM_ATTRIBUTE
}
/**
@@ -176,6 +188,10 @@
javaDoc = generateForTypeConstructor(name);
} else if (type.equals(JavaDocType.UNION_FROM_METHOD)) {
javaDoc = generateForUnionFrom(name);
+ } else if (type.equals(JavaDocType.ENUM_CLASS)) {
+ javaDoc = generateForEnum(name);
+ } else if (type.equals(JavaDocType.ENUM_ATTRIBUTE)) {
+ javaDoc = generateForEnumAttr(name);
} else {
javaDoc = generateForConstructors(name);
}
@@ -183,7 +199,18 @@
}
/**
- * Generate javaDocs for getter method.
+ * Generates javaDocs for enum's attributes.
+ *
+ * @param name attribute name
+ * @return javaDocs
+ */
+ private static String generateForEnumAttr(String name) {
+ return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + ENUM_ATTRIBUTE_JAVADOC
+ + name + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
+ }
+
+ /**
+ * Generates javaDocs for getter method.
*
* @param attribute attribute
* @param isList is list attribute
@@ -272,20 +299,7 @@
}
/**
- * Generates javaDocs for typedef constructor.
- *
- * @param attribute attribute
- * @return javaDocs
- */
- private static String generateForTypeDefConstructor(String attribute) {
- return (NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR
- + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
- + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
- + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE);
- }
-
- /**
- * Generate javaDocs for the impl class.
+ * Generates javaDocs for the impl class.
*
* @param className class name
* @return javaDocs
@@ -295,7 +309,18 @@
}
/**
- * Generate javaDocs for the builder class.
+ * Generates javaDocs for enum.
+ *
+ * @param className enum class name
+ * @return javaDocs
+ */
+ private static String generateForEnum(String className) {
+ return NEW_LINE + NEW_LINE + JAVA_DOC_FIRST_LINE + ENUM_CLASS_JAVADOC + className + PERIOD + NEW_LINE
+ + JAVA_DOC_END_LINE;
+ }
+
+ /**
+ * Generates javaDocs for the builder class.
*
* @param className class name
* @return javaDocs
@@ -306,7 +331,7 @@
}
/**
- * Generate javaDoc for the interface.
+ * Generates javaDoc for the interface.
*
* @param interfaceName interface name
* @return javaDocs
@@ -317,7 +342,7 @@
}
/**
- * Generate javaDoc for the builder interface.
+ * Generates javaDoc for the builder interface.
*
* @param builderforName builder for name
* @return javaDocs
@@ -328,7 +353,7 @@
}
/**
- * Generate javaDocs for package-info.
+ * Generates javaDocs for package-info.
*
* @param packageName package name
* @return javaDocs
@@ -338,7 +363,7 @@
}
/**
- * Generate javaDocs for default constructor.
+ * Generates javaDocs for default constructor.
*
* @param className class name
* @return javaDocs
@@ -349,7 +374,7 @@
}
/**
- * Generate javaDocs for constructor with parameters.
+ * Generates javaDocs for constructor with parameters.
*
* @param className class name
* @return javaDocs
@@ -363,7 +388,7 @@
}
/**
- * Generate javaDocs for build.
+ * Generates javaDocs for build.
*
* @param buildName builder name
* @return javaDocs