blob: 5c499dbff5695eea85290d6da85441780fd1ace5 [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 *
588 * @return javaDocs
589 */
590 public static String generateForAddAugmentation() {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530591 return getJavaDocStartLine(YANG_AUGMENTED_INFO_LOWER_CASE,
592 JAVA_DOC_SETTERS_COMMON) +
593 getJavaDocEmptyAsteriskLine() +
594 getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, VALUE) +
595 getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, CLASS +
596 OBJECT_STRING) +
597 getJavaDocEndLine();
Bharat saraswalaf413b82016-07-14 15:18:20 +0530598 }
599
Bharat saraswal64e7e232016-07-14 23:33:55 +0530600 /**
601 * Returns javadoc for get augmentation method.
602 *
603 * @return javadoc for get augmentation method
604 */
Bharat saraswalaf413b82016-07-14 15:18:20 +0530605 public static String generateForGetAugmentation() {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530606 return NEW_LINE + getJavaDocStartLine(YANG_AUGMENTED_INFO_LOWER_CASE,
607 JAVA_DOC_GETTERS) +
608 getJavaDocEmptyAsteriskLine() +
609 getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, CLASS +
610 OBJECT_STRING) +
611 getJavaDocReturnLine(YANG_AUGMENTED_INFO) +
612 getJavaDocEndLine();
Bharat saraswalaf413b82016-07-14 15:18:20 +0530613 }
614
615 /**
Bharat saraswal64e7e232016-07-14 23:33:55 +0530616 * Returns javadoc for validator method.
617 *
618 * @return javadoc for validator method
619 */
620 public static String generateForValidatorMethod() {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530621 return getJavaDocStartLine(VALIDATE_RANGE, JAVA_DOC_FOR_VALIDATOR) +
622 getJavaDocEmptyAsteriskLine() +
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530623 getJavaDocParamLine(MIN_RANGE, MIN_RANGE) +
Bharat saraswal54e4bab2016-10-05 23:32:14 +0530624 getJavaDocParamLine(MAX_RANGE, MIN_RANGE) +
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530625 getJavaDocReturnLine(JAVA_DOC_FOR_VALIDATOR_RETURN) +
626 getJavaDocEndLine();
Bharat saraswal64e7e232016-07-14 23:33:55 +0530627 }
628
629 /**
Bharat saraswal8beac342016-08-04 02:00:03 +0530630 * Generates javaDocs for type constructor.
631 *
632 * @param attribute attribute string
633 * @return javaDocs for type constructor
634 */
635 public static String generateForGetMethodWithAttribute(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530636 attribute = getSmallCase(attribute);
637 return getJavaDocStartLine(attribute, JAVA_DOC_GETTERS) +
638 getJavaDocEmptyAsteriskLine() +
639 getJavaDocParamLine(attribute, attribute) +
640 getJavaDocReturnLine(attribute) +
641 getJavaDocEndLine();
Bharat saraswal8beac342016-08-04 02:00:03 +0530642 }
643
644 /**
645 * Returns javaDocs for add to list method.
646 *
Bharat saraswala5c28512016-11-10 21:09:23 +0530647 * @param attribute attribute
648 * @param annotation compile annotation
Bharat saraswal8beac342016-08-04 02:00:03 +0530649 * @return javaDocs
650 */
Bharat saraswala5c28512016-11-10 21:09:23 +0530651 private static String generateForAddToList(String attribute, String annotation) {
652 StringBuilder javadoc = new StringBuilder();
653 javadoc.append(getJavaDocStartLine(attribute, JAVA_DOC_ADD_TO_LIST))
654 .append(getJavaDocEmptyAsteriskLine());
655 if (annotation != null) {
656 annotation = annotation.toLowerCase();
657 annotation = getCapitalCase(annotation);
658 switch (annotation) {
659 case MAP:
660 javadoc.append(getJavaDocParamLine(
661 attribute, attribute + KEYS)).append(getJavaDocParamLine(
662 attribute, attribute + VALUE_CAPS));
663 break;
664 default:
665 javadoc.append(getJavaDocParamLine(
666 attribute, ADD_STRING + TO_CAPS));
667 break;
668 }
669 }
670 javadoc.append(getJavaDocReturnLine(BUILDER_OBJECT + attribute))
671 .append(getJavaDocEndLine());
672 return javadoc.toString();
Bharat saraswal8beac342016-08-04 02:00:03 +0530673 }
674
675 /**
676 * Generates for builder method.
677 *
678 * @param attribute attribute
679 * @return javaDocs
680 */
681 public static String generateForBuilderMethod(String attribute) {
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530682 return getJavaDocStartLine(attribute + BUILDER, JAVA_DOC_GETTERS) +
683 getJavaDocEmptyAsteriskLine() +
684 getJavaDocReturnLine(attribute + BUILDER) +
685 getJavaDocEndLine();
686 }
Bharat saraswal8beac342016-08-04 02:00:03 +0530687
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530688 /**
689 * Returns class javadoc.
690 *
691 * @param name name of class
692 * @param type type of javadoc
693 * @param indent indentation
694 * @return class javadoc
695 */
696 private static String getJavaDocForClass(String name, String type,
697 String indent) {
698 return NEW_LINE + indent + JAVA_DOC_FIRST_LINE + indent + type +
699 getSmallCase(name) + PERIOD + NEW_LINE + indent + JAVA_DOC_END_LINE;
700 }
701
702 /**
Bharat saraswal94844d62016-10-13 13:28:03 +0530703 * Returns class javadoc.
704 *
Bharat saraswala5c28512016-11-10 21:09:23 +0530705 * @param name name of class
706 * @param type type of javadoc
707 * @param indent indentation
708 * @param isForDefaultClass if javadoc is generated for default class
Bharat saraswal94844d62016-10-13 13:28:03 +0530709 * @return class javadoc
710 */
711 private static String getJavaDocForDefaultClass(String name, String type,
Bharat saraswala5c28512016-11-10 21:09:23 +0530712 String indent, boolean isForDefaultClass) {
713 String append = addFlagJavaDoc();
714 if (!isForDefaultClass) {
715 append = EMPTY_STRING;
716 }
Bharat saraswal94844d62016-10-13 13:28:03 +0530717 return NEW_LINE + indent + JAVA_DOC_FIRST_LINE + indent + type +
Bharat saraswala5c28512016-11-10 21:09:23 +0530718 getSmallCase(name) + PERIOD + NEW_LINE + indent + append +
719 JAVA_DOC_END_LINE;
Bharat saraswal94844d62016-10-13 13:28:03 +0530720 }
721
722 /**
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530723 * Returns javadoc start line.
724 *
725 * @param name name of attribute
726 * @param javaDoc type of javadoc
727 * @return javadoc start line
728 */
729 private static String getJavaDocStartLine(String name, String javaDoc) {
730 return FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE +
731 FOUR_SPACE_INDENTATION + javaDoc + getSmallCase(name) +
732 PERIOD + NEW_LINE;
733 }
734
735 /**
736 * Returns asterisk line.
737 *
738 * @return asterisk line
739 */
740 private static String getJavaDocEmptyAsteriskLine() {
741 return FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK;
742 }
743
744 /**
745 * Returns javadoc param line.
746 *
747 * @param name name of attribute
748 * @return javadoc param line
749 */
750 private static String getJavaDocParamLine(String name, String paraName) {
751 return FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM +
752 getSmallCase(paraName) + SPACE + VALUE + SPACE + OF + SPACE +
753 getSmallCase(name) + NEW_LINE;
754 }
755
756 /**
757 * Returns javadoc return line.
758 *
759 * @param name name of attribute
760 * @return javadoc return line
761 */
762 private static String getJavaDocReturnLine(String name) {
763 return FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + getSmallCase(name)
764 + NEW_LINE;
765 }
766
767 /**
768 * Returns javadoc end line.
769 *
770 * @return javadoc end line
771 */
772 private static String getJavaDocEndLine() {
773 return FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal8beac342016-08-04 02:00:03 +0530774 }
775
776
777 /**
Bharat saraswalaf413b82016-07-14 15:18:20 +0530778 * JavaDocs types.
779 */
780 public enum JavaDocType {
781
782 /**
783 * For class.
784 */
Bharat saraswal94844d62016-10-13 13:28:03 +0530785 DEFAULT_CLASS,
Bharat saraswalaf413b82016-07-14 15:18:20 +0530786
787 /**
788 * For builder class.
789 */
790 BUILDER_CLASS,
791
792 /**
793 * For interface.
794 */
795 INTERFACE,
796
797 /**
798 * For builder interface.
799 */
800 BUILDER_INTERFACE,
801
802 /**
803 * For package-info.
804 */
805 PACKAGE_INFO,
806
807 /**
808 * For getters.
809 */
810 GETTER_METHOD,
811
812 /**
813 * For rpc service.
814 */
815 RPC_INTERFACE,
816
817 /**
818 * For rpc manager.
819 */
820 RPC_MANAGER,
821
822 /**
823 * For event.
824 */
825 EVENT,
826
827 /**
828 * For event listener.
829 */
830 EVENT_LISTENER,
831
832 /**
833 * For setters.
834 */
835 SETTER_METHOD,
836
837 /**
838 * For type def's setters.
839 */
840 TYPE_DEF_SETTER_METHOD,
841
842 /**
843 * For of method.
844 */
845 OF_METHOD,
846
847 /**
848 * For default constructor.
849 */
850 DEFAULT_CONSTRUCTOR,
851
852 /**
853 * For constructor.
854 */
855 CONSTRUCTOR,
856
857 /**
858 * For from method.
859 */
860 FROM_METHOD,
861
862 /**
863 * For type constructor.
864 */
865 TYPE_CONSTRUCTOR,
866
867 /**
868 * For build.
869 */
870 BUILD_METHOD,
871
872 /**
873 * For enum.
874 */
875 ENUM_CLASS,
876
877 /**
878 * For enum's attributes.
879 */
880 ENUM_ATTRIBUTE,
881
882 /**
883 * For manager setters.
884 */
885 MANAGER_SETTER_METHOD,
886
887 /**
888 * For event subject.
889 */
Shankara-Huaweia1039e52016-07-14 16:53:09 +0530890 EVENT_SUBJECT_CLASS,
891
892 /**
893 * For operation.
894 */
895 OPERATION_CLASS,
896
897 /**
898 * For operation builder.
899 */
Bharat saraswal8beac342016-08-04 02:00:03 +0530900 OPERATION_BUILDER_CLASS,
901
902 /**
903 * For add to list.
904 */
905 ADD_TO_LIST,
Bharat saraswalaf413b82016-07-14 15:18:20 +0530906 }
Bharat saraswal97459962016-02-20 21:57:16 +0530907}