blob: e2fe7fddabcf0a27e3649cb6de99da6e9648b999 [file] [log] [blame]
Bharat saraswal870c56f2016-02-20 21:57:16 +05301/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
Bharat saraswal870c56f2016-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
19import org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax;
Bharat saraswal870c56f2016-02-20 21:57:16 +053020
Gaurav Agrawal56527662016-04-20 15:49:17 +053021import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
22import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
Bharat saraswale2d51d62016-03-23 19:40:35 +053023import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
24import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC;
25import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC;
26import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_OBJECT;
Bharat saraswald72411a2016-04-19 01:00:16 +053027import static org.onosproject.yangutils.utils.UtilConstants.ENUM_ATTRIBUTE_JAVADOC;
28import static org.onosproject.yangutils.utils.UtilConstants.ENUM_CLASS_JAVADOC;
Bharat saraswale2d51d62016-03-23 19:40:35 +053029import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION;
Gaurav Agrawal338735b2016-04-18 18:53:11 +053030import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_METHOD_NAME;
31import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_PARAM_NAME;
Bharat saraswale2d51d62016-03-23 19:40:35 +053032import static org.onosproject.yangutils.utils.UtilConstants.IMPL;
33import static org.onosproject.yangutils.utils.UtilConstants.IMPL_CLASS_JAVA_DOC;
Gaurav Agrawal338735b2016-04-18 18:53:11 +053034import static org.onosproject.yangutils.utils.UtilConstants.INPUT;
Bharat saraswale2d51d62016-03-23 19:40:35 +053035import static org.onosproject.yangutils.utils.UtilConstants.INTERFACE_JAVA_DOC;
36import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_BUILD;
37import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_BUILD_RETURN;
38import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_CONSTRUCTOR;
Bharat saraswale2d51d62016-03-23 19:40:35 +053039import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_END_LINE;
40import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FIRST_LINE;
41import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_GETTERS;
42import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_OF;
43import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_PARAM;
44import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RETURN;
Gaurav Agrawal56527662016-04-20 15:49:17 +053045import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RPC;
Bharat saraswale2d51d62016-03-23 19:40:35 +053046import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS;
47import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS_COMMON;
48import static org.onosproject.yangutils.utils.UtilConstants.LIST;
49import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
Bharat saraswal2f11f652016-03-25 18:19:46 +053050import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE_ASTERISK;
Bharat saraswale2d51d62016-03-23 19:40:35 +053051import static org.onosproject.yangutils.utils.UtilConstants.OBJECT;
52import static org.onosproject.yangutils.utils.UtilConstants.OF;
53import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC;
54import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
Gaurav Agrawal56527662016-04-20 15:49:17 +053055import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_STRING;
56import static org.onosproject.yangutils.utils.UtilConstants.RPC_OUTPUT_STRING;
Bharat saraswale2d51d62016-03-23 19:40:35 +053057import static org.onosproject.yangutils.utils.UtilConstants.SPACE;
Gaurav Agrawal338735b2016-04-18 18:53:11 +053058import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE;
Bharat saraswale2d51d62016-03-23 19:40:35 +053059import static org.onosproject.yangutils.utils.UtilConstants.VALUE;
60
Bharat saraswal870c56f2016-02-20 21:57:16 +053061/**
Bharat saraswald9822e92016-04-05 15:13:44 +053062 * Represents javadoc for the generated classes.
Bharat saraswal870c56f2016-02-20 21:57:16 +053063 */
64public final class JavaDocGen {
65
66 /**
Bharat saraswald9822e92016-04-05 15:13:44 +053067 * Creates an instance of java doc gen.
Bharat saraswal870c56f2016-02-20 21:57:16 +053068 */
69 private JavaDocGen() {
70 }
71
72 /**
73 * JavaDocs types.
74 */
Vidyashree Rama74453712016-04-18 12:29:39 +053075 public enum JavaDocType {
Bharat saraswal870c56f2016-02-20 21:57:16 +053076
77 /**
78 * For class.
79 */
80 IMPL_CLASS,
81
82 /**
83 * For builder class.
84 */
85 BUILDER_CLASS,
86
87 /**
88 * For interface.
89 */
90 INTERFACE,
91
92 /**
93 * For builder interface.
94 */
95 BUILDER_INTERFACE,
96
97 /**
98 * For package-info.
99 */
100 PACKAGE_INFO,
101
102 /**
103 * For getters.
104 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530105 GETTER_METHOD,
Bharat saraswal870c56f2016-02-20 21:57:16 +0530106
107 /**
Gaurav Agrawal56527662016-04-20 15:49:17 +0530108 * For rpc.
109 */
110 RPC_INTERFACE,
111
112 /**
Bharat saraswal870c56f2016-02-20 21:57:16 +0530113 * For setters.
114 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530115 SETTER_METHOD,
Bharat saraswal870c56f2016-02-20 21:57:16 +0530116
117 /**
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530118 * For type def's setters.
119 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530120 TYPE_DEF_SETTER_METHOD,
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530121
122 /**
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530123 * For of method.
124 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530125 OF_METHOD,
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530126
127 /**
Bharat saraswal870c56f2016-02-20 21:57:16 +0530128 * For default constructor.
129 */
130 DEFAULT_CONSTRUCTOR,
131
132 /**
133 * For constructor.
134 */
135 CONSTRUCTOR,
136
137 /**
Gaurav Agrawal56527662016-04-20 15:49:17 +0530138 * For from method.
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530139 */
Gaurav Agrawal56527662016-04-20 15:49:17 +0530140 FROM_METHOD,
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530141
142 /**
143 * For type constructor.
144 */
145 TYPE_CONSTRUCTOR,
146
147 /**
Bharat saraswal870c56f2016-02-20 21:57:16 +0530148 * For build.
149 */
Bharat saraswald72411a2016-04-19 01:00:16 +0530150 BUILD_METHOD,
151
152 /**
153 * For enum.
154 */
155 ENUM_CLASS,
156
157 /**
158 * For enum's attributes.
159 */
160 ENUM_ATTRIBUTE
Bharat saraswal870c56f2016-02-20 21:57:16 +0530161 }
162
163 /**
164 * Returns java docs.
165 *
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530166 * @param type java doc type
167 * @param name name of the YangNode
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530168 * @param isList is list attribute
169 * @return javadocs.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530170 */
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530171 public static String getJavaDoc(JavaDocType type, String name, boolean isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530172
Gaurav Agrawal56527662016-04-20 15:49:17 +0530173 name = JavaIdentifierSyntax.getSmallCase(getCamelCase(name, null));
174 switch (type) {
175 case IMPL_CLASS: {
176 return generateForImplClass(name);
177 }
178 case BUILDER_CLASS: {
179 return generateForBuilderClass(name);
180 }
181 case INTERFACE: {
182 return generateForInterface(name);
183 }
184 case BUILDER_INTERFACE: {
185 return generateForBuilderInterface(name);
186 }
187 case PACKAGE_INFO: {
188 return generateForPackage(name);
189 }
190 case GETTER_METHOD: {
191 return generateForGetters(name, isList);
192 }
193 case TYPE_DEF_SETTER_METHOD: {
194 return generateForTypeDefSetter(name);
195 }
196 case SETTER_METHOD: {
197 return generateForSetters(name, isList);
198 }
199 case OF_METHOD: {
200 return generateForOf(name);
201 }
202 case DEFAULT_CONSTRUCTOR: {
203 return generateForDefaultConstructors(name);
204 }
205 case BUILD_METHOD: {
206 return generateForBuild(name);
207 }
208 case TYPE_CONSTRUCTOR: {
209 return generateForTypeConstructor(name);
210 }
211 case FROM_METHOD: {
212 return generateForFromString(name);
213 }
214 case ENUM_CLASS: {
215 return generateForEnum(name);
216 }
217 case ENUM_ATTRIBUTE: {
218 return generateForEnumAttr(name);
219 }
220 case RPC_INTERFACE: {
221 return generateForRpcInterface(name);
222 }
223 default: {
224 return generateForConstructors(name);
225 }
Bharat saraswal870c56f2016-02-20 21:57:16 +0530226 }
Bharat saraswal870c56f2016-02-20 21:57:16 +0530227 }
228
229 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530230 * Generates javaDocs for enum's attributes.
231 *
232 * @param name attribute name
233 * @return javaDocs
234 */
235 private static String generateForEnumAttr(String name) {
236 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + ENUM_ATTRIBUTE_JAVADOC
237 + name + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
238 }
239
240 /**
Gaurav Agrawal56527662016-04-20 15:49:17 +0530241 * Generates javaDocs for rpc method.
242 *
243 * @param rpcName name of the rpc
244 * @param inputName name of input
245 * @param outputName name of output
246 * @return javaDocs of rpc method
247 */
248 public static String generateJavaDocForRpc(String rpcName, String inputName, String outputName) {
249 rpcName = getCamelCase(rpcName, null);
250 inputName = getCaptialCase(inputName);
251 outputName = getCaptialCase(outputName);
252
253 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_RPC
254 + rpcName + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
255 + getInputString(inputName, rpcName) + getOutputString(outputName, rpcName) + FOUR_SPACE_INDENTATION
256 + JAVA_DOC_END_LINE;
257 }
258
259 /**
260 * Returns output string of rpc.
261 *
262 * @param outputName name of output
263 * @param rpcName name of rpc
264 * @return javaDocs for output string of rpc
265 */
266 private static String getOutputString(String outputName, String rpcName) {
267 return FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + outputName + SPACE + RPC_OUTPUT_STRING + rpcName + NEW_LINE;
268 }
269
270 /**
271 * Returns input string of rpc.
272 *
273 * @param inputName name of input
274 * @param rpcName name of rpc
275 * @return javaDocs for input string of rpc
276 */
277 private static String getInputString(String inputName, String rpcName) {
278 if (inputName.equals("")) {
279 return null;
280 } else {
281 return FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + inputName + SPACE + RPC_INPUT_STRING + rpcName + NEW_LINE;
282 }
283 }
284
285 /**
286 * Generates javaDoc for the interface.
287 *
288 * @param interfaceName interface name
289 * @return javaDocs
290 */
291 private static String generateForRpcInterface(String interfaceName) {
292 return NEW_LINE + JAVA_DOC_FIRST_LINE + INTERFACE_JAVA_DOC + interfaceName + PERIOD + NEW_LINE
293 + JAVA_DOC_END_LINE;
294 }
295
296 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530297 * Generates javaDocs for getter method.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530298 *
299 * @param attribute attribute
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530300 * @param isList is list attribute
Bharat saraswal870c56f2016-02-20 21:57:16 +0530301 * @return javaDocs
302 */
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530303 private static String generateForGetters(String attribute, boolean isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530304
305 String getter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
Bharat saraswal2f11f652016-03-25 18:19:46 +0530306 + JAVA_DOC_GETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
Bharat saraswale2d51d62016-03-23 19:40:35 +0530307 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530308 if (isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530309 String listAttribute = LIST.toLowerCase() + SPACE + OF + SPACE;
Vinod Kumar S38046502016-03-23 15:30:27 +0530310 getter = getter + listAttribute;
Bharat saraswale2d51d62016-03-23 19:40:35 +0530311 } else {
312 getter = getter + VALUE + SPACE + OF + SPACE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530313 }
314
Bharat saraswale2d51d62016-03-23 19:40:35 +0530315 getter = getter + attribute + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530316 return getter;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530317 }
318
319 /**
320 * Generates javaDocs for setter method.
321 *
322 * @param attribute attribute
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530323 * @param isList is list attribute
Bharat saraswal870c56f2016-02-20 21:57:16 +0530324 * @return javaDocs
325 */
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530326 private static String generateForSetters(String attribute, boolean isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530327
328 String setter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
Bharat saraswal2f11f652016-03-25 18:19:46 +0530329 + JAVA_DOC_SETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
Bharat saraswale2d51d62016-03-23 19:40:35 +0530330 + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + attribute + SPACE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530331 if (isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530332 String listAttribute = LIST.toLowerCase() + SPACE + OF + SPACE;
Vinod Kumar S38046502016-03-23 15:30:27 +0530333 setter = setter + listAttribute;
334 } else {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530335 setter = setter + VALUE + SPACE + OF + SPACE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530336 }
Bharat saraswale2d51d62016-03-23 19:40:35 +0530337 setter = setter + attribute + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + BUILDER_OBJECT + attribute
338 + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530339 return setter;
340 }
341
342 /**
343 * Generates javaDocs for of method.
344 *
345 * @param attribute attribute
346 * @return javaDocs
347 */
348 private static String generateForOf(String attribute) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530349 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_OF
Bharat saraswal2f11f652016-03-25 18:19:46 +0530350 + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
Bharat saraswale2d51d62016-03-23 19:40:35 +0530351 + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
352 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + OBJECT + SPACE + OF + SPACE + attribute + NEW_LINE
353 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530354 }
355
356 /**
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530357 * Generates javaDocs for from method.
358 *
359 * @param attribute attribute
360 * @return javaDocs
361 */
Gaurav Agrawal56527662016-04-20 15:49:17 +0530362 private static String generateForFromString(String attribute) {
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530363
364 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_OF
365 + attribute + SPACE + FROM_STRING_METHOD_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + PERIOD
366 + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM
367 + FROM_STRING_PARAM_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + PERIOD + NEW_LINE
368 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + OBJECT + SPACE + OF + SPACE + attribute + NEW_LINE
369 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
370 }
371
372 /**
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530373 * Generates javaDocs for typedef setter method.
374 *
375 * @param attribute attribute
376 * @return javaDocs
377 */
378 private static String generateForTypeDefSetter(String attribute) {
Vidyashree Rama7142d9c2016-04-26 15:06:06 +0530379 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
Bharat saraswal2f11f652016-03-25 18:19:46 +0530380 + JAVA_DOC_SETTERS_COMMON + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
Bharat saraswale2d51d62016-03-23 19:40:35 +0530381 + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute
Vidyashree Rama7142d9c2016-04-26 15:06:06 +0530382 + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530383 }
384
385 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530386 * Generates javaDocs for the impl class.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530387 *
388 * @param className class name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530389 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530390 */
391 private static String generateForImplClass(String className) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530392 return NEW_LINE + JAVA_DOC_FIRST_LINE + IMPL_CLASS_JAVA_DOC + className + PERIOD + NEW_LINE + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530393 }
394
395 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530396 * Generates javaDocs for enum.
397 *
398 * @param className enum class name
399 * @return javaDocs
400 */
401 private static String generateForEnum(String className) {
402 return NEW_LINE + NEW_LINE + JAVA_DOC_FIRST_LINE + ENUM_CLASS_JAVADOC + className + PERIOD + NEW_LINE
403 + JAVA_DOC_END_LINE;
404 }
405
406 /**
407 * Generates javaDocs for the builder class.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530408 *
409 * @param className class name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530410 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530411 */
412 private static String generateForBuilderClass(String className) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530413 return NEW_LINE + JAVA_DOC_FIRST_LINE + BUILDER_CLASS_JAVA_DOC + className + PERIOD + NEW_LINE
414 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530415 }
416
417 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530418 * Generates javaDoc for the interface.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530419 *
420 * @param interfaceName interface name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530421 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530422 */
423 private static String generateForInterface(String interfaceName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530424 return NEW_LINE + JAVA_DOC_FIRST_LINE + INTERFACE_JAVA_DOC + interfaceName + PERIOD + NEW_LINE
425 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530426 }
427
428 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530429 * Generates javaDoc for the builder interface.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530430 *
431 * @param builderforName builder for name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530432 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530433 */
434 private static String generateForBuilderInterface(String builderforName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530435 return JAVA_DOC_FIRST_LINE + BUILDER_INTERFACE_JAVA_DOC + builderforName + PERIOD + NEW_LINE
436 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530437 }
438
439 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530440 * Generates javaDocs for package-info.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530441 *
442 * @param packageName package name
443 * @return javaDocs
444 */
445 private static String generateForPackage(String packageName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530446 return JAVA_DOC_FIRST_LINE + PACKAGE_INFO_JAVADOC + packageName + PERIOD + NEW_LINE + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530447 }
448
449 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530450 * Generates javaDocs for default constructor.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530451 *
Bharat saraswal6ef0b762016-04-05 12:45:45 +0530452 * @param className class name
Bharat saraswal870c56f2016-02-20 21:57:16 +0530453 * @return javaDocs
454 */
Bharat saraswal6ef0b762016-04-05 12:45:45 +0530455 private static String generateForDefaultConstructors(String className) {
456 return FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR + className
457 + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530458 }
459
460 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530461 * Generates javaDocs for constructor with parameters.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530462 *
Bharat saraswal870c56f2016-02-20 21:57:16 +0530463 * @param className class name
464 * @return javaDocs
465 */
466 private static String generateForConstructors(String className) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530467 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE
468 + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR + className + IMPL + PERIOD + NEW_LINE
Bharat saraswal2f11f652016-03-25 18:19:46 +0530469 + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM
470 + BUILDER.toLowerCase() + OBJECT + SPACE + BUILDER_OBJECT + className + NEW_LINE
Bharat saraswale2d51d62016-03-23 19:40:35 +0530471 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530472 }
473
474 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530475 * Generates javaDocs for build.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530476 *
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530477 * @param buildName builder name
Bharat saraswal870c56f2016-02-20 21:57:16 +0530478 * @return javaDocs
479 */
480 private static String generateForBuild(String buildName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530481 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_BUILD
Bharat saraswal2f11f652016-03-25 18:19:46 +0530482 + buildName + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
Bharat saraswale2d51d62016-03-23 19:40:35 +0530483 + JAVA_DOC_RETURN + JAVA_DOC_BUILD_RETURN + buildName + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION
484 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530485 }
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530486
487 /**
488 * Generates javaDocs for type constructor.
489 *
490 * @param attribute attribute string
491 * @return javaDocs for type constructor
492 */
493 private static String generateForTypeConstructor(String attribute) {
Vidyashree Rama7142d9c2016-04-26 15:06:06 +0530494 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530495 + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
496 + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
Vidyashree Rama7142d9c2016-04-26 15:06:06 +0530497 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530498 }
Bharat saraswal870c56f2016-02-20 21:57:16 +0530499}