blob: 8c8e794cb584b57416d93a11e11db67402047bca [file] [log] [blame]
Bharat saraswal97459962016-02-20 21:57:16 +05301/*
Brian O'Connor0f7908b2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
Bharat saraswal97459962016-02-20 21:57:16 +05303 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package org.onosproject.yangutils.utils.io.impl;
18
Bharat saraswal9fab16b2016-09-23 23:27:24 +053019import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING;
Bharat saraswal84366c52016-03-23 19:40:35 +053020import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
21import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC;
22import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC;
Bharat saraswal9fab16b2016-09-23 23:27:24 +053023import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_LOWER_CASE;
Bharat saraswal84366c52016-03-23 19:40:35 +053024import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_OBJECT;
Bharat saraswalaf413b82016-07-14 15:18:20 +053025import static org.onosproject.yangutils.utils.UtilConstants.CLASS;
Bharat saraswal8beac342016-08-04 02:00:03 +053026import static org.onosproject.yangutils.utils.UtilConstants.EIGHT_SPACE_INDENTATION;
Bharat saraswal5cd9e9c2016-05-26 23:48:38 +053027import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
Bharat saraswal68fa0d12016-04-19 01:00:16 +053028import static org.onosproject.yangutils.utils.UtilConstants.ENUM_ATTRIBUTE_JAVADOC;
29import static org.onosproject.yangutils.utils.UtilConstants.ENUM_CLASS_JAVADOC;
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +053030import static org.onosproject.yangutils.utils.UtilConstants.EVENT_JAVA_DOC;
31import static org.onosproject.yangutils.utils.UtilConstants.EVENT_LISTENER_JAVA_DOC;
Bharat saraswal84366c52016-03-23 19:40:35 +053032import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION;
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +053033import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_METHOD_NAME;
34import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_PARAM_NAME;
Bharat saraswal84366c52016-03-23 19:40:35 +053035import static org.onosproject.yangutils.utils.UtilConstants.IMPL_CLASS_JAVA_DOC;
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +053036import static org.onosproject.yangutils.utils.UtilConstants.INPUT;
Bharat saraswal84366c52016-03-23 19:40:35 +053037import static org.onosproject.yangutils.utils.UtilConstants.INTERFACE_JAVA_DOC;
Bharat saraswal8beac342016-08-04 02:00:03 +053038import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_ADD_TO_LIST;
Bharat saraswal84366c52016-03-23 19:40:35 +053039import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_BUILD;
Bharat saraswal84366c52016-03-23 19:40:35 +053040import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_CONSTRUCTOR;
Bharat saraswal84366c52016-03-23 19:40:35 +053041import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_END_LINE;
42import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FIRST_LINE;
Bharat saraswal8beac342016-08-04 02:00:03 +053043import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FOR_VALIDATOR;
44import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FOR_VALIDATOR_RETURN;
Bharat saraswal84366c52016-03-23 19:40:35 +053045import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_GETTERS;
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +053046import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_MANAGER_SETTERS;
Bharat saraswal84366c52016-03-23 19:40:35 +053047import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_OF;
48import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_PARAM;
49import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RETURN;
Gaurav Agrawal02a60de2016-04-20 15:49:17 +053050import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RPC;
Bharat saraswal84366c52016-03-23 19:40:35 +053051import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS;
52import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS_COMMON;
Bharat saraswala5c28512016-11-10 21:09:23 +053053import static org.onosproject.yangutils.utils.UtilConstants.KEYS;
Bharat saraswal84366c52016-03-23 19:40:35 +053054import static org.onosproject.yangutils.utils.UtilConstants.LIST;
Bharat saraswala5c28512016-11-10 21:09:23 +053055import static org.onosproject.yangutils.utils.UtilConstants.MAP;
Bharat saraswal54e4bab2016-10-05 23:32:14 +053056import static org.onosproject.yangutils.utils.UtilConstants.MAX_RANGE;
Bharat saraswal8beac342016-08-04 02:00:03 +053057import static org.onosproject.yangutils.utils.UtilConstants.MIN_RANGE;
Bharat saraswal84366c52016-03-23 19:40:35 +053058import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
Bharat saraswald532a4c2016-03-25 18:19:46 +053059import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE_ASTERISK;
Bharat saraswal84366c52016-03-23 19:40:35 +053060import static org.onosproject.yangutils.utils.UtilConstants.OBJECT;
Bharat saraswalaf413b82016-07-14 15:18:20 +053061import static org.onosproject.yangutils.utils.UtilConstants.OBJECT_STRING;
Bharat saraswal84366c52016-03-23 19:40:35 +053062import static org.onosproject.yangutils.utils.UtilConstants.OF;
Bharat saraswal8beac342016-08-04 02:00:03 +053063import static org.onosproject.yangutils.utils.UtilConstants.OP_PARAM_JAVA_DOC;
Bharat saraswal84366c52016-03-23 19:40:35 +053064import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC;
Bharat saraswal250a7472016-05-12 13:16:57 +053065import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC_OF_CHILD;
Bharat saraswal84366c52016-03-23 19:40:35 +053066import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
Vidyashree Ramab3670472016-08-06 15:49:56 +053067import static org.onosproject.yangutils.utils.UtilConstants.QUEUE;
Gaurav Agrawal02a60de2016-04-20 15:49:17 +053068import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_STRING;
69import static org.onosproject.yangutils.utils.UtilConstants.RPC_OUTPUT_STRING;
Vidyashree Ramab3670472016-08-06 15:49:56 +053070import static org.onosproject.yangutils.utils.UtilConstants.SET;
Bharat saraswal84366c52016-03-23 19:40:35 +053071import static org.onosproject.yangutils.utils.UtilConstants.SPACE;
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +053072import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE;
Bharat saraswal9fab16b2016-09-23 23:27:24 +053073import static org.onosproject.yangutils.utils.UtilConstants.TO_CAPS;
74import static org.onosproject.yangutils.utils.UtilConstants.VALIDATE_RANGE;
Bharat saraswal84366c52016-03-23 19:40:35 +053075import static org.onosproject.yangutils.utils.UtilConstants.VALUE;
Bharat saraswala5c28512016-11-10 21:09:23 +053076import static org.onosproject.yangutils.utils.UtilConstants.VALUE_CAPS;
Bharat saraswal250a7472016-05-12 13:16:57 +053077import static org.onosproject.yangutils.utils.UtilConstants.VOID;
Bharat saraswal8beac342016-08-04 02:00:03 +053078import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUGMENTED_INFO;
Bharat saraswal9fab16b2016-09-23 23:27:24 +053079import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUGMENTED_INFO_LOWER_CASE;
Bharat saraswala5c28512016-11-10 21:09:23 +053080import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
Bharat saraswalaf413b82016-07-14 15:18:20 +053081import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase;
Bharat saraswal84366c52016-03-23 19:40:35 +053082
Bharat saraswal97459962016-02-20 21:57:16 +053083/**
Bharat saraswal63f26fb2016-04-05 15:13:44 +053084 * Represents javadoc for the generated classes.
Bharat saraswal97459962016-02-20 21:57:16 +053085 */
86public final class JavaDocGen {
87
88 /**
Bharat saraswal63f26fb2016-04-05 15:13:44 +053089 * Creates an instance of java doc gen.
Bharat saraswal97459962016-02-20 21:57:16 +053090 */
91 private JavaDocGen() {
92 }
93
94 /**
Bharat saraswal97459962016-02-20 21:57:16 +053095 * Returns java docs.
96 *
Bharat saraswale304c252016-08-16 20:56:20 +053097 * @param type java doc type
98 * @param name name of the YangNode
99 * @param isList is list attribute
Vidyashree Ramab3670472016-08-06 15:49:56 +0530100 * @param compilerAnnotation compiler annotations for user defined data type
Bharat saraswal2da23bf2016-08-25 15:28:39 +0530101 * @return javaDocs.
Bharat saraswal97459962016-02-20 21:57:16 +0530102 */
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530103 public static String getJavaDoc(JavaDocType type, String name, boolean isList,
Bharat saraswale304c252016-08-16 20:56:20 +0530104 String compilerAnnotation) {
Bharat saraswal84366c52016-03-23 19:40:35 +0530105
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530106 name = YangIoUtils.getSmallCase(name);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530107 switch (type) {
Bharat saraswal94844d62016-10-13 13:28:03 +0530108 case DEFAULT_CLASS: {
Bharat saraswala5c28512016-11-10 21:09:23 +0530109 return generateForClass(name, isList);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530110 }
111 case BUILDER_CLASS: {
112 return generateForBuilderClass(name);
113 }
Shankara-Huaweia1039e52016-07-14 16:53:09 +0530114 case OPERATION_CLASS: {
115 return generateForOpParamClass(name);
116 }
117 case OPERATION_BUILDER_CLASS: {
118 return generateForOpParamClass(name);
119 }
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530120 case INTERFACE: {
121 return generateForInterface(name);
122 }
123 case BUILDER_INTERFACE: {
124 return generateForBuilderInterface(name);
125 }
126 case PACKAGE_INFO: {
Bharat saraswal250a7472016-05-12 13:16:57 +0530127 return generateForPackage(name, isList);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530128 }
129 case GETTER_METHOD: {
Vidyashree Ramab3670472016-08-06 15:49:56 +0530130 return generateForGetters(name, isList, compilerAnnotation);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530131 }
132 case TYPE_DEF_SETTER_METHOD: {
133 return generateForTypeDefSetter(name);
134 }
135 case SETTER_METHOD: {
Vidyashree Ramab3670472016-08-06 15:49:56 +0530136 return generateForSetters(name, isList, compilerAnnotation);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530137 }
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530138 case MANAGER_SETTER_METHOD: {
Vidyashree Ramab3670472016-08-06 15:49:56 +0530139 return generateForManagerSetters(name, isList, compilerAnnotation);
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530140 }
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530141 case OF_METHOD: {
142 return generateForOf(name);
143 }
144 case DEFAULT_CONSTRUCTOR: {
145 return generateForDefaultConstructors(name);
146 }
147 case BUILD_METHOD: {
148 return generateForBuild(name);
149 }
150 case TYPE_CONSTRUCTOR: {
151 return generateForTypeConstructor(name);
152 }
153 case FROM_METHOD: {
154 return generateForFromString(name);
155 }
156 case ENUM_CLASS: {
157 return generateForEnum(name);
158 }
159 case ENUM_ATTRIBUTE: {
160 return generateForEnumAttr(name);
161 }
162 case RPC_INTERFACE: {
Bharat saraswalaf413b82016-07-14 15:18:20 +0530163 return generateForRpcService(name);
Bharat saraswal250a7472016-05-12 13:16:57 +0530164 }
165 case RPC_MANAGER: {
Bharat saraswala5c28512016-11-10 21:09:23 +0530166 return generateForClass(name, false);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530167 }
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530168 case EVENT: {
169 return generateForEvent(name);
170 }
171 case EVENT_LISTENER: {
172 return generateForEventListener(name);
173 }
Bharat saraswal715d3fc2016-05-17 19:59:16 +0530174 case EVENT_SUBJECT_CLASS: {
Bharat saraswala5c28512016-11-10 21:09:23 +0530175 return generateForClass(name, false);
Bharat saraswal715d3fc2016-05-17 19:59:16 +0530176 }
Bharat saraswal8beac342016-08-04 02:00:03 +0530177 case ADD_TO_LIST: {
Bharat saraswala5c28512016-11-10 21:09:23 +0530178 return generateForAddToList(name, compilerAnnotation);
Bharat saraswal8beac342016-08-04 02:00:03 +0530179 }
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530180 default: {
181 return generateForConstructors(name);
182 }
Bharat saraswal97459962016-02-20 21:57:16 +0530183 }
Bharat saraswal97459962016-02-20 21:57:16 +0530184 }
185
186 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530187 * Generates javaDocs for enum's attributes.
188 *
189 * @param name attribute name
190 * @return javaDocs
191 */
192 private static String generateForEnumAttr(String name) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530193 return getJavaDocForClass(name, ENUM_ATTRIBUTE_JAVADOC,
194 FOUR_SPACE_INDENTATION);
Bharat saraswal748fc3c2016-09-06 16:38:20 +0530195 }
196
197 /**
198 * Generates javaDocs for inner class enum's attributes.
199 *
200 * @param name attribute name
201 * @return javaDocs
202 */
203 public static String enumJavaDocForInnerClass(String name) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530204 return getJavaDocForClass(name, ENUM_ATTRIBUTE_JAVADOC,
205 EIGHT_SPACE_INDENTATION);
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530206 }
207
208 /**
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530209 * Generates javaDocs for rpc method.
210 *
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530211 * @param rpcName name of the rpc
212 * @param inputName name of input
213 * @param outputName name of output
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530214 * @return javaDocs of rpc method
215 */
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530216 public static String generateJavaDocForRpc(String rpcName, String inputName,
217 String outputName) {
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530218
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530219 String javadoc = getJavaDocStartLine(rpcName, JAVA_DOC_RPC) +
220 getJavaDocEmptyAsteriskLine();
Bharat saraswal5cd9e9c2016-05-26 23:48:38 +0530221 if (!inputName.equals(EMPTY_STRING)) {
222 javadoc = javadoc + getInputString(inputName, rpcName);
223 }
Bharat saraswal250a7472016-05-12 13:16:57 +0530224 if (!outputName.equals(VOID)) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530225 javadoc = javadoc + getOutputString(getSmallCase(outputName),
226 rpcName);
Bharat saraswal250a7472016-05-12 13:16:57 +0530227 }
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530228 return javadoc + getJavaDocEndLine();
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530229 }
230
231 /**
232 * Returns output string of rpc.
233 *
234 * @param outputName name of output
Bharat saraswalaf413b82016-07-14 15:18:20 +0530235 * @param rpcName name of rpc
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530236 * @return javaDocs for output string of rpc
237 */
238 private static String getOutputString(String outputName, String rpcName) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530239 return FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + outputName + SPACE +
240 RPC_OUTPUT_STRING + rpcName + NEW_LINE;
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530241 }
242
243 /**
244 * Returns input string of rpc.
245 *
246 * @param inputName name of input
Bharat saraswalaf413b82016-07-14 15:18:20 +0530247 * @param rpcName name of rpc
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530248 * @return javaDocs for input string of rpc
249 */
250 private static String getInputString(String inputName, String rpcName) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530251 if (inputName.isEmpty()) {
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530252 return null;
253 } else {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530254 return FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + inputName +
255 SPACE + RPC_INPUT_STRING + rpcName + NEW_LINE;
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530256 }
257 }
258
259 /**
260 * Generates javaDoc for the interface.
261 *
262 * @param interfaceName interface name
263 * @return javaDocs
264 */
Bharat saraswal250a7472016-05-12 13:16:57 +0530265 private static String generateForRpcService(String interfaceName) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530266 return getJavaDocForClass(interfaceName, INTERFACE_JAVA_DOC, EMPTY_STRING);
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530267 }
268
269 /**
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530270 * Generates javaDoc for the event.
271 *
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530272 * @param name event class name
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530273 * @return javaDocs
274 */
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530275 private static String generateForEvent(String name) {
276 return getJavaDocForClass(name, EVENT_JAVA_DOC, EMPTY_STRING);
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530277 }
278
279 /**
280 * Generates javaDoc for the event listener.
281 *
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530282 * @param name event class name
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530283 * @return javaDocs
284 */
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530285 private static String generateForEventListener(String name) {
286 return getJavaDocForClass(name, EVENT_LISTENER_JAVA_DOC, EMPTY_STRING);
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530287 }
288
289 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530290 * Generates javaDocs for getter method.
Bharat saraswal97459962016-02-20 21:57:16 +0530291 *
Bharat saraswale304c252016-08-16 20:56:20 +0530292 * @param attribute attribute
293 * @param isList is list attribute
Vidyashree Ramab3670472016-08-06 15:49:56 +0530294 * @param compilerAnnotation compiler annotation
Bharat saraswal97459962016-02-20 21:57:16 +0530295 * @return javaDocs
296 */
Vidyashree Ramab3670472016-08-06 15:49:56 +0530297 private static String generateForGetters(String attribute, boolean isList,
Bharat saraswale304c252016-08-16 20:56:20 +0530298 String compilerAnnotation) {
Bharat saraswal84366c52016-03-23 19:40:35 +0530299
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530300 String getter = getJavaDocStartLine(attribute, JAVA_DOC_GETTERS) +
301 getJavaDocEmptyAsteriskLine() +
302 FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + attribute + SPACE;
Bharat saraswal022dae92016-03-04 20:08:09 +0530303
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530304 getter = getParamForAnnotation(getter, compilerAnnotation, isList) +
305 attribute + NEW_LINE + getJavaDocEndLine();
Bharat saraswal022dae92016-03-04 20:08:09 +0530306 return getter;
Bharat saraswal97459962016-02-20 21:57:16 +0530307 }
308
309 /**
310 * Generates javaDocs for setter method.
311 *
Bharat saraswale304c252016-08-16 20:56:20 +0530312 * @param attribute attribute
313 * @param isList is list attribute
Vidyashree Ramab3670472016-08-06 15:49:56 +0530314 * @param compilerAnnotation compiler annotation
Bharat saraswal97459962016-02-20 21:57:16 +0530315 * @return javaDocs
316 */
Vidyashree Ramab3670472016-08-06 15:49:56 +0530317 private static String generateForSetters(String attribute, boolean isList,
Bharat saraswale304c252016-08-16 20:56:20 +0530318 String compilerAnnotation) {
Bharat saraswal84366c52016-03-23 19:40:35 +0530319
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530320 String setter = getJavaDocStartLine(attribute, JAVA_DOC_SETTERS) +
321 getJavaDocEmptyAsteriskLine() +
322 FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + attribute + SPACE;
323 setter = getParamForAnnotation(setter, compilerAnnotation, isList) +
324 attribute + NEW_LINE + getJavaDocReturnLine(attribute)
325 + getJavaDocEndLine();
Bharat saraswal022dae92016-03-04 20:08:09 +0530326 return setter;
327 }
328
329 /**
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530330 * Generates javaDocs for setter method.
331 *
Bharat saraswale304c252016-08-16 20:56:20 +0530332 * @param attribute attribute
333 * @param isList is list attribute
Vidyashree Ramab3670472016-08-06 15:49:56 +0530334 * @param compilerAnnotation compiler annotation
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530335 * @return javaDocs
336 */
Vidyashree Ramab3670472016-08-06 15:49:56 +0530337 private static String generateForManagerSetters(String attribute, boolean isList,
Bharat saraswale304c252016-08-16 20:56:20 +0530338 String compilerAnnotation) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530339 String setter = getJavaDocStartLine(attribute, JAVA_DOC_MANAGER_SETTERS) +
340 getJavaDocEmptyAsteriskLine() +
341 FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + attribute + SPACE;
342 setter = getParamForAnnotation(setter, compilerAnnotation, isList) +
343 attribute + NEW_LINE + getJavaDocEndLine();
344 return setter;
345 }
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530346
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530347 private static String getParamForAnnotation(
348 String setter, String compilerAnnotation, boolean isList) {
Vidyashree Ramab3670472016-08-06 15:49:56 +0530349 String attributeParam;
350 if (compilerAnnotation != null) {
Bharat saraswala5c28512016-11-10 21:09:23 +0530351 compilerAnnotation = compilerAnnotation.toLowerCase();
352 compilerAnnotation = getCapitalCase(compilerAnnotation);
Vidyashree Ramab3670472016-08-06 15:49:56 +0530353 switch (compilerAnnotation) {
354 case QUEUE: {
355 attributeParam = QUEUE.toLowerCase() + SPACE + OF + SPACE;
356 setter = setter + attributeParam;
357 break;
358 }
359 case SET: {
360 attributeParam = SET.toLowerCase() + SPACE + OF + SPACE;
361 setter = setter + attributeParam;
362 break;
363 }
364 case LIST: {
365 attributeParam = LIST.toLowerCase() + SPACE + OF + SPACE;
366 setter = setter + attributeParam;
367 break;
368 }
Bharat saraswala5c28512016-11-10 21:09:23 +0530369 case MAP:
370 attributeParam = MAP.toLowerCase() + SPACE + OF + SPACE;
371 setter = setter + attributeParam;
372 break;
Vidyashree Ramab3670472016-08-06 15:49:56 +0530373 default: {
374
375 }
376 }
377 } else if (isList) {
378 attributeParam = LIST.toLowerCase() + SPACE + OF + SPACE;
379 setter = setter + attributeParam;
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530380 } else {
381 setter = setter + VALUE + SPACE + OF + SPACE;
382 }
VinodKumarS-Huawei6266db32016-05-10 17:58:57 +0530383 return setter;
384 }
385
386 /**
Bharat saraswal022dae92016-03-04 20:08:09 +0530387 * Generates javaDocs for of method.
388 *
389 * @param attribute attribute
390 * @return javaDocs
391 */
392 private static String generateForOf(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530393 return getJavaDocStartLine(attribute, JAVA_DOC_OF) +
394 getJavaDocEmptyAsteriskLine() +
395 getJavaDocParamLine(attribute, VALUE) +
396 getJavaDocReturnLine(attribute) +
397 getJavaDocEndLine();
Bharat saraswal022dae92016-03-04 20:08:09 +0530398 }
399
400 /**
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +0530401 * Generates javaDocs for from method.
402 *
403 * @param attribute attribute
404 * @return javaDocs
405 */
Gaurav Agrawal02a60de2016-04-20 15:49:17 +0530406 private static String generateForFromString(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530407 return getJavaDocStartLine(attribute, JAVA_DOC_OF
408 + attribute + SPACE + FROM_STRING_METHOD_NAME + SPACE + INPUT +
Bharat saraswald5b684f2016-11-17 13:06:26 +0530409 SPACE + STRING_DATA_TYPE + SPACE) +
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530410 getJavaDocEmptyAsteriskLine() +
411 getJavaDocParamLine(INPUT + SPACE + STRING_DATA_TYPE,
412 FROM_STRING_PARAM_NAME) +
413 getJavaDocReturnLine(attribute) +
414 getJavaDocEndLine();
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +0530415 }
416
417 /**
Bharat saraswal022dae92016-03-04 20:08:09 +0530418 * Generates javaDocs for typedef setter method.
419 *
420 * @param attribute attribute
421 * @return javaDocs
422 */
423 private static String generateForTypeDefSetter(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530424 return getJavaDocStartLine(attribute, JAVA_DOC_SETTERS_COMMON) +
425 getJavaDocEmptyAsteriskLine() +
426 getJavaDocParamLine(attribute, VALUE) +
427 getJavaDocEndLine();
Bharat saraswal022dae92016-03-04 20:08:09 +0530428 }
429
430 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530431 * Generates javaDocs for the impl class.
Bharat saraswal97459962016-02-20 21:57:16 +0530432 *
Bharat saraswala5c28512016-11-10 21:09:23 +0530433 * @param className class name
434 * @param isForDefaultClass if javadoc is for default class
Vinod Kumar S08710982016-03-03 19:55:30 +0530435 * @return javaDocs
Bharat saraswal97459962016-02-20 21:57:16 +0530436 */
Bharat saraswala5c28512016-11-10 21:09:23 +0530437 private static String generateForClass(String className, boolean isForDefaultClass) {
438 return getJavaDocForDefaultClass(className, IMPL_CLASS_JAVA_DOC,
439 EMPTY_STRING, isForDefaultClass);
Bharat saraswal94844d62016-10-13 13:28:03 +0530440 }
441
442 private static String addFlagJavaDoc() {
443 return " *\n" +
444 " * <p>\n" +
445 " * valueLeafFlags identify the leafs whose value are " +
446 "explicitly set\n" +
447 " * Applicable in protocol edit and query operation.\n" +
448 " * </p>\n" +
449 " *\n" +
450 " * <p>\n" +
451 " * selectLeafFlags identify the leafs to be selected, in" +
452 " a query operation.\n" +
453 " * </p>\n" +
454 " *\n" +
455 " * <p>\n" +
456 " * Operation type specify the node specific operation in" +
457 " protocols like NETCONF.\n" +
458 " * Applicable in protocol edit operation, not applicable" +
459 " in query operation.\n" +
460 " * </p>\n";
Bharat saraswal97459962016-02-20 21:57:16 +0530461 }
462
463 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530464 * Generates javaDocs for enum.
465 *
466 * @param className enum class name
467 * @return javaDocs
468 */
469 private static String generateForEnum(String className) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530470 return getJavaDocForClass(className, ENUM_CLASS_JAVADOC, EMPTY_STRING);
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530471 }
472
473 /**
474 * Generates javaDocs for the builder class.
Bharat saraswal97459962016-02-20 21:57:16 +0530475 *
476 * @param className class name
Vinod Kumar S08710982016-03-03 19:55:30 +0530477 * @return javaDocs
Bharat saraswal97459962016-02-20 21:57:16 +0530478 */
479 private static String generateForBuilderClass(String className) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530480 return getJavaDocForClass(className, BUILDER_CLASS_JAVA_DOC,
481 EMPTY_STRING);
Bharat saraswal97459962016-02-20 21:57:16 +0530482 }
483
484 /**
Shankara-Huaweia1039e52016-07-14 16:53:09 +0530485 * Generates javaDocs for the op param class.
486 *
487 * @param className class name
488 * @return javaDocs
489 */
490 private static String generateForOpParamClass(String className) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530491 return getJavaDocForClass(className, OP_PARAM_JAVA_DOC,
492 EMPTY_STRING);
Shankara-Huaweia1039e52016-07-14 16:53:09 +0530493 }
494
495 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530496 * Generates javaDoc for the interface.
Bharat saraswal97459962016-02-20 21:57:16 +0530497 *
498 * @param interfaceName interface name
Vinod Kumar S08710982016-03-03 19:55:30 +0530499 * @return javaDocs
Bharat saraswal97459962016-02-20 21:57:16 +0530500 */
501 private static String generateForInterface(String interfaceName) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530502 return getJavaDocForClass(interfaceName, INTERFACE_JAVA_DOC,
503 EMPTY_STRING);
Bharat saraswal97459962016-02-20 21:57:16 +0530504 }
505
506 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530507 * Generates javaDoc for the builder interface.
Bharat saraswal97459962016-02-20 21:57:16 +0530508 *
Bharat saraswal8beac342016-08-04 02:00:03 +0530509 * @param builderForName builder for name
Vinod Kumar S08710982016-03-03 19:55:30 +0530510 * @return javaDocs
Bharat saraswal97459962016-02-20 21:57:16 +0530511 */
Bharat saraswal8beac342016-08-04 02:00:03 +0530512 private static String generateForBuilderInterface(String builderForName) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530513 return getJavaDocForClass(builderForName, BUILDER_INTERFACE_JAVA_DOC,
514 EMPTY_STRING);
Bharat saraswal97459962016-02-20 21:57:16 +0530515 }
516
517 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530518 * Generates javaDocs for package-info.
Bharat saraswal97459962016-02-20 21:57:16 +0530519 *
520 * @param packageName package name
Bharat saraswal250a7472016-05-12 13:16:57 +0530521 * @param isChildNode is it child node
Bharat saraswal97459962016-02-20 21:57:16 +0530522 * @return javaDocs
523 */
Bharat saraswal250a7472016-05-12 13:16:57 +0530524 private static String generateForPackage(String packageName, boolean isChildNode) {
Bharat saraswal250a7472016-05-12 13:16:57 +0530525 if (isChildNode) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530526 return getJavaDocForClass(
527 packageName + PACKAGE_INFO_JAVADOC_OF_CHILD,
528 PACKAGE_INFO_JAVADOC, EMPTY_STRING);
Bharat saraswal250a7472016-05-12 13:16:57 +0530529 }
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530530 return getJavaDocForClass(packageName, PACKAGE_INFO_JAVADOC, EMPTY_STRING);
Bharat saraswal97459962016-02-20 21:57:16 +0530531 }
532
533 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530534 * Generates javaDocs for default constructor.
Bharat saraswal97459962016-02-20 21:57:16 +0530535 *
Bharat saraswal780eca32016-04-05 12:45:45 +0530536 * @param className class name
Bharat saraswal97459962016-02-20 21:57:16 +0530537 * @return javaDocs
538 */
Bharat saraswal780eca32016-04-05 12:45:45 +0530539 private static String generateForDefaultConstructors(String className) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530540 return getJavaDocStartLine(className, JAVA_DOC_CONSTRUCTOR) +
541 getJavaDocEndLine();
Bharat saraswal97459962016-02-20 21:57:16 +0530542 }
543
544 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530545 * Generates javaDocs for constructor with parameters.
Bharat saraswal97459962016-02-20 21:57:16 +0530546 *
Bharat saraswal97459962016-02-20 21:57:16 +0530547 * @param className class name
548 * @return javaDocs
549 */
550 private static String generateForConstructors(String className) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530551 return getJavaDocStartLine(className, JAVA_DOC_CONSTRUCTOR) +
552 getJavaDocEmptyAsteriskLine() +
553 getJavaDocParamLine(BUILDER_OBJECT + className,
554 BUILDER_LOWER_CASE + OBJECT) +
555 getJavaDocEndLine();
Bharat saraswal97459962016-02-20 21:57:16 +0530556 }
557
558 /**
Bharat saraswal68fa0d12016-04-19 01:00:16 +0530559 * Generates javaDocs for build.
Bharat saraswal97459962016-02-20 21:57:16 +0530560 *
Vinod Kumar S08710982016-03-03 19:55:30 +0530561 * @param buildName builder name
Bharat saraswal97459962016-02-20 21:57:16 +0530562 * @return javaDocs
563 */
564 private static String generateForBuild(String buildName) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530565 return getJavaDocStartLine(buildName, JAVA_DOC_BUILD) +
566 getJavaDocEmptyAsteriskLine() +
567 getJavaDocReturnLine(buildName) +
568 getJavaDocEndLine();
Bharat saraswal97459962016-02-20 21:57:16 +0530569 }
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +0530570
571 /**
572 * Generates javaDocs for type constructor.
573 *
574 * @param attribute attribute string
575 * @return javaDocs for type constructor
576 */
Bharat saraswal8beac342016-08-04 02:00:03 +0530577 private static String generateForTypeConstructor(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530578 return getJavaDocStartLine(attribute,
579 JAVA_DOC_CONSTRUCTOR) +
580 getJavaDocEmptyAsteriskLine() +
581 getJavaDocParamLine(attribute, attribute) +
582 getJavaDocEndLine();
Gaurav Agrawal97a5e1c2016-04-18 18:53:11 +0530583 }
Bharat saraswalaf413b82016-07-14 15:18:20 +0530584
585 /**
586 * Generates javaDocs for add augmentation method.
587 *
Bharat saraswal127461c2016-11-24 12:43:46 +0530588 * @param name builder class name
Bharat saraswalaf413b82016-07-14 15:18:20 +0530589 * @return javaDocs
590 */
Bharat saraswal127461c2016-11-24 12:43:46 +0530591 public static String generateForAddAugmentation(String name) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530592 return getJavaDocStartLine(YANG_AUGMENTED_INFO_LOWER_CASE,
593 JAVA_DOC_SETTERS_COMMON) +
594 getJavaDocEmptyAsteriskLine() +
595 getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, VALUE) +
596 getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, CLASS +
597 OBJECT_STRING) +
Bharat saraswal127461c2016-11-24 12:43:46 +0530598 getJavaDocReturnLine(name) + getJavaDocEndLine();
Bharat saraswalaf413b82016-07-14 15:18:20 +0530599 }
600
Bharat saraswal64e7e232016-07-14 23:33:55 +0530601 /**
602 * Returns javadoc for get augmentation method.
603 *
604 * @return javadoc for get augmentation method
605 */
Bharat saraswalaf413b82016-07-14 15:18:20 +0530606 public static String generateForGetAugmentation() {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530607 return NEW_LINE + getJavaDocStartLine(YANG_AUGMENTED_INFO_LOWER_CASE,
608 JAVA_DOC_GETTERS) +
609 getJavaDocEmptyAsteriskLine() +
610 getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, CLASS +
611 OBJECT_STRING) +
612 getJavaDocReturnLine(YANG_AUGMENTED_INFO) +
613 getJavaDocEndLine();
Bharat saraswalaf413b82016-07-14 15:18:20 +0530614 }
615
616 /**
Bharat saraswal64e7e232016-07-14 23:33:55 +0530617 * Returns javadoc for validator method.
618 *
619 * @return javadoc for validator method
620 */
621 public static String generateForValidatorMethod() {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530622 return getJavaDocStartLine(VALIDATE_RANGE, JAVA_DOC_FOR_VALIDATOR) +
623 getJavaDocEmptyAsteriskLine() +
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530624 getJavaDocParamLine(MIN_RANGE, MIN_RANGE) +
Bharat saraswal54e4bab2016-10-05 23:32:14 +0530625 getJavaDocParamLine(MAX_RANGE, MIN_RANGE) +
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530626 getJavaDocReturnLine(JAVA_DOC_FOR_VALIDATOR_RETURN) +
627 getJavaDocEndLine();
Bharat saraswal64e7e232016-07-14 23:33:55 +0530628 }
629
630 /**
Bharat saraswal8beac342016-08-04 02:00:03 +0530631 * Generates javaDocs for type constructor.
632 *
633 * @param attribute attribute string
634 * @return javaDocs for type constructor
635 */
636 public static String generateForGetMethodWithAttribute(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530637 attribute = getSmallCase(attribute);
638 return getJavaDocStartLine(attribute, JAVA_DOC_GETTERS) +
639 getJavaDocEmptyAsteriskLine() +
640 getJavaDocParamLine(attribute, attribute) +
641 getJavaDocReturnLine(attribute) +
642 getJavaDocEndLine();
Bharat saraswal8beac342016-08-04 02:00:03 +0530643 }
644
645 /**
646 * Returns javaDocs for add to list method.
647 *
Bharat saraswala5c28512016-11-10 21:09:23 +0530648 * @param attribute attribute
649 * @param annotation compile annotation
Bharat saraswal8beac342016-08-04 02:00:03 +0530650 * @return javaDocs
651 */
Bharat saraswala5c28512016-11-10 21:09:23 +0530652 private static String generateForAddToList(String attribute, String annotation) {
653 StringBuilder javadoc = new StringBuilder();
654 javadoc.append(getJavaDocStartLine(attribute, JAVA_DOC_ADD_TO_LIST))
655 .append(getJavaDocEmptyAsteriskLine());
656 if (annotation != null) {
657 annotation = annotation.toLowerCase();
658 annotation = getCapitalCase(annotation);
659 switch (annotation) {
660 case MAP:
661 javadoc.append(getJavaDocParamLine(
662 attribute, attribute + KEYS)).append(getJavaDocParamLine(
663 attribute, attribute + VALUE_CAPS));
664 break;
665 default:
666 javadoc.append(getJavaDocParamLine(
667 attribute, ADD_STRING + TO_CAPS));
668 break;
669 }
670 }
Bharat saraswal127461c2016-11-24 12:43:46 +0530671 javadoc.append(getJavaDocParamLine(
672 attribute, ADD_STRING + TO_CAPS))
673 .append(getJavaDocReturnLine(BUILDER_OBJECT + attribute))
Bharat saraswala5c28512016-11-10 21:09:23 +0530674 .append(getJavaDocEndLine());
675 return javadoc.toString();
Bharat saraswal8beac342016-08-04 02:00:03 +0530676 }
677
678 /**
679 * Generates for builder method.
680 *
681 * @param attribute attribute
682 * @return javaDocs
683 */
684 public static String generateForBuilderMethod(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530685 return getJavaDocStartLine(attribute + BUILDER, JAVA_DOC_GETTERS) +
686 getJavaDocEmptyAsteriskLine() +
687 getJavaDocReturnLine(attribute + BUILDER) +
688 getJavaDocEndLine();
689 }
Bharat saraswal8beac342016-08-04 02:00:03 +0530690
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530691 /**
692 * Returns class javadoc.
693 *
694 * @param name name of class
695 * @param type type of javadoc
696 * @param indent indentation
697 * @return class javadoc
698 */
699 private static String getJavaDocForClass(String name, String type,
700 String indent) {
701 return NEW_LINE + indent + JAVA_DOC_FIRST_LINE + indent + type +
702 getSmallCase(name) + PERIOD + NEW_LINE + indent + JAVA_DOC_END_LINE;
703 }
704
705 /**
Bharat saraswal94844d62016-10-13 13:28:03 +0530706 * Returns class javadoc.
707 *
Bharat saraswala5c28512016-11-10 21:09:23 +0530708 * @param name name of class
709 * @param type type of javadoc
710 * @param indent indentation
711 * @param isForDefaultClass if javadoc is generated for default class
Bharat saraswal94844d62016-10-13 13:28:03 +0530712 * @return class javadoc
713 */
714 private static String getJavaDocForDefaultClass(String name, String type,
Bharat saraswala5c28512016-11-10 21:09:23 +0530715 String indent, boolean isForDefaultClass) {
716 String append = addFlagJavaDoc();
717 if (!isForDefaultClass) {
718 append = EMPTY_STRING;
719 }
Bharat saraswal94844d62016-10-13 13:28:03 +0530720 return NEW_LINE + indent + JAVA_DOC_FIRST_LINE + indent + type +
Bharat saraswala5c28512016-11-10 21:09:23 +0530721 getSmallCase(name) + PERIOD + NEW_LINE + indent + append +
722 JAVA_DOC_END_LINE;
Bharat saraswal94844d62016-10-13 13:28:03 +0530723 }
724
725 /**
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530726 * Returns javadoc start line.
727 *
728 * @param name name of attribute
729 * @param javaDoc type of javadoc
730 * @return javadoc start line
731 */
732 private static String getJavaDocStartLine(String name, String javaDoc) {
733 return FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE +
734 FOUR_SPACE_INDENTATION + javaDoc + getSmallCase(name) +
735 PERIOD + NEW_LINE;
736 }
737
738 /**
739 * Returns asterisk line.
740 *
741 * @return asterisk line
742 */
743 private static String getJavaDocEmptyAsteriskLine() {
744 return FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK;
745 }
746
747 /**
748 * Returns javadoc param line.
749 *
750 * @param name name of attribute
751 * @return javadoc param line
752 */
753 private static String getJavaDocParamLine(String name, String paraName) {
754 return FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM +
755 getSmallCase(paraName) + SPACE + VALUE + SPACE + OF + SPACE +
756 getSmallCase(name) + NEW_LINE;
757 }
758
759 /**
760 * Returns javadoc return line.
761 *
762 * @param name name of attribute
763 * @return javadoc return line
764 */
765 private static String getJavaDocReturnLine(String name) {
766 return FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + getSmallCase(name)
767 + NEW_LINE;
768 }
769
770 /**
771 * Returns javadoc end line.
772 *
773 * @return javadoc end line
774 */
775 private static String getJavaDocEndLine() {
776 return FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal8beac342016-08-04 02:00:03 +0530777 }
778
779
780 /**
Bharat saraswalaf413b82016-07-14 15:18:20 +0530781 * JavaDocs types.
782 */
783 public enum JavaDocType {
784
785 /**
786 * For class.
787 */
Bharat saraswal94844d62016-10-13 13:28:03 +0530788 DEFAULT_CLASS,
Bharat saraswalaf413b82016-07-14 15:18:20 +0530789
790 /**
791 * For builder class.
792 */
793 BUILDER_CLASS,
794
795 /**
796 * For interface.
797 */
798 INTERFACE,
799
800 /**
801 * For builder interface.
802 */
803 BUILDER_INTERFACE,
804
805 /**
806 * For package-info.
807 */
808 PACKAGE_INFO,
809
810 /**
811 * For getters.
812 */
813 GETTER_METHOD,
814
815 /**
816 * For rpc service.
817 */
818 RPC_INTERFACE,
819
820 /**
821 * For rpc manager.
822 */
823 RPC_MANAGER,
824
825 /**
826 * For event.
827 */
828 EVENT,
829
830 /**
831 * For event listener.
832 */
833 EVENT_LISTENER,
834
835 /**
836 * For setters.
837 */
838 SETTER_METHOD,
839
840 /**
841 * For type def's setters.
842 */
843 TYPE_DEF_SETTER_METHOD,
844
845 /**
846 * For of method.
847 */
848 OF_METHOD,
849
850 /**
851 * For default constructor.
852 */
853 DEFAULT_CONSTRUCTOR,
854
855 /**
856 * For constructor.
857 */
858 CONSTRUCTOR,
859
860 /**
861 * For from method.
862 */
863 FROM_METHOD,
864
865 /**
866 * For type constructor.
867 */
868 TYPE_CONSTRUCTOR,
869
870 /**
871 * For build.
872 */
873 BUILD_METHOD,
874
875 /**
876 * For enum.
877 */
878 ENUM_CLASS,
879
880 /**
881 * For enum's attributes.
882 */
883 ENUM_ATTRIBUTE,
884
885 /**
886 * For manager setters.
887 */
888 MANAGER_SETTER_METHOD,
889
890 /**
891 * For event subject.
892 */
Shankara-Huaweia1039e52016-07-14 16:53:09 +0530893 EVENT_SUBJECT_CLASS,
894
895 /**
896 * For operation.
897 */
898 OPERATION_CLASS,
899
900 /**
901 * For operation builder.
902 */
Bharat saraswal8beac342016-08-04 02:00:03 +0530903 OPERATION_BUILDER_CLASS,
904
905 /**
906 * For add to list.
907 */
908 ADD_TO_LIST,
Bharat saraswalaf413b82016-07-14 15:18:20 +0530909 }
Bharat saraswal97459962016-02-20 21:57:16 +0530910}