blob: 0ecaaa192174f96e16c36826fdf4d40dd9e5fb1a [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
Bharat saraswale2d51d62016-03-23 19:40:35 +053021import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
22import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC;
23import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC;
24import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_OBJECT;
Bharat saraswald72411a2016-04-19 01:00:16 +053025import static org.onosproject.yangutils.utils.UtilConstants.ENUM_ATTRIBUTE_JAVADOC;
26import static org.onosproject.yangutils.utils.UtilConstants.ENUM_CLASS_JAVADOC;
Bharat saraswale2d51d62016-03-23 19:40:35 +053027import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION;
Gaurav Agrawal338735b2016-04-18 18:53:11 +053028import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_METHOD_NAME;
29import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_PARAM_NAME;
Bharat saraswale2d51d62016-03-23 19:40:35 +053030import static org.onosproject.yangutils.utils.UtilConstants.IMPL;
31import static org.onosproject.yangutils.utils.UtilConstants.IMPL_CLASS_JAVA_DOC;
Gaurav Agrawal338735b2016-04-18 18:53:11 +053032import static org.onosproject.yangutils.utils.UtilConstants.INPUT;
Bharat saraswale2d51d62016-03-23 19:40:35 +053033import static org.onosproject.yangutils.utils.UtilConstants.INTERFACE_JAVA_DOC;
34import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_BUILD;
35import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_BUILD_RETURN;
36import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_CONSTRUCTOR;
Bharat saraswale2d51d62016-03-23 19:40:35 +053037import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_END_LINE;
38import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_FIRST_LINE;
39import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_GETTERS;
40import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_OF;
41import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_PARAM;
42import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RETURN;
43import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS;
44import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS_COMMON;
45import static org.onosproject.yangutils.utils.UtilConstants.LIST;
46import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
Bharat saraswal2f11f652016-03-25 18:19:46 +053047import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE_ASTERISK;
Bharat saraswale2d51d62016-03-23 19:40:35 +053048import static org.onosproject.yangutils.utils.UtilConstants.OBJECT;
49import static org.onosproject.yangutils.utils.UtilConstants.OF;
50import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC;
51import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
52import static org.onosproject.yangutils.utils.UtilConstants.SPACE;
Gaurav Agrawal338735b2016-04-18 18:53:11 +053053import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE;
Bharat saraswale2d51d62016-03-23 19:40:35 +053054import static org.onosproject.yangutils.utils.UtilConstants.VALUE;
55
Bharat saraswal870c56f2016-02-20 21:57:16 +053056/**
Bharat saraswald9822e92016-04-05 15:13:44 +053057 * Represents javadoc for the generated classes.
Bharat saraswal870c56f2016-02-20 21:57:16 +053058 */
59public final class JavaDocGen {
60
61 /**
Bharat saraswald9822e92016-04-05 15:13:44 +053062 * Creates an instance of java doc gen.
Bharat saraswal870c56f2016-02-20 21:57:16 +053063 */
64 private JavaDocGen() {
65 }
66
67 /**
68 * JavaDocs types.
69 */
Vidyashree Rama74453712016-04-18 12:29:39 +053070 public enum JavaDocType {
Bharat saraswal870c56f2016-02-20 21:57:16 +053071
72 /**
73 * For class.
74 */
75 IMPL_CLASS,
76
77 /**
78 * For builder class.
79 */
80 BUILDER_CLASS,
81
82 /**
83 * For interface.
84 */
85 INTERFACE,
86
87 /**
88 * For builder interface.
89 */
90 BUILDER_INTERFACE,
91
92 /**
93 * For package-info.
94 */
95 PACKAGE_INFO,
96
97 /**
98 * For getters.
99 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530100 GETTER_METHOD,
Bharat saraswal870c56f2016-02-20 21:57:16 +0530101
102 /**
103 * For setters.
104 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530105 SETTER_METHOD,
Bharat saraswal870c56f2016-02-20 21:57:16 +0530106
107 /**
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530108 * For type def's setters.
109 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530110 TYPE_DEF_SETTER_METHOD,
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530111
112 /**
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530113 * For of method.
114 */
Bharat saraswale2d51d62016-03-23 19:40:35 +0530115 OF_METHOD,
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530116
117 /**
Bharat saraswal870c56f2016-02-20 21:57:16 +0530118 * For default constructor.
119 */
120 DEFAULT_CONSTRUCTOR,
121
122 /**
123 * For constructor.
124 */
125 CONSTRUCTOR,
126
127 /**
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530128 * For union's from method.
129 */
130 UNION_FROM_METHOD,
131
132 /**
133 * For type constructor.
134 */
135 TYPE_CONSTRUCTOR,
136
137 /**
Bharat saraswal870c56f2016-02-20 21:57:16 +0530138 * For build.
139 */
Bharat saraswald72411a2016-04-19 01:00:16 +0530140 BUILD_METHOD,
141
142 /**
143 * For enum.
144 */
145 ENUM_CLASS,
146
147 /**
148 * For enum's attributes.
149 */
150 ENUM_ATTRIBUTE
Bharat saraswal870c56f2016-02-20 21:57:16 +0530151 }
152
153 /**
154 * Returns java docs.
155 *
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530156 * @param type java doc type
157 * @param name name of the YangNode
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530158 * @param isList is list attribute
159 * @return javadocs.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530160 */
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530161 public static String getJavaDoc(JavaDocType type, String name, boolean isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530162
janani bde4ffab2016-04-15 16:18:30 +0530163 name = JavaIdentifierSyntax.getSmallCase(JavaIdentifierSyntax.getCamelCase(name, null));
Vidyashree Rama74453712016-04-18 12:29:39 +0530164 String javaDoc;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530165 if (type.equals(JavaDocType.IMPL_CLASS)) {
166 javaDoc = generateForImplClass(name);
167 } else if (type.equals(JavaDocType.BUILDER_CLASS)) {
168 javaDoc = generateForBuilderClass(name);
169 } else if (type.equals(JavaDocType.INTERFACE)) {
170 javaDoc = generateForInterface(name);
171 } else if (type.equals(JavaDocType.BUILDER_INTERFACE)) {
172 javaDoc = generateForBuilderInterface(name);
173 } else if (type.equals(JavaDocType.PACKAGE_INFO)) {
174 javaDoc = generateForPackage(name);
Bharat saraswale2d51d62016-03-23 19:40:35 +0530175 } else if (type.equals(JavaDocType.GETTER_METHOD)) {
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530176 javaDoc = generateForGetters(name, isList);
Bharat saraswale2d51d62016-03-23 19:40:35 +0530177 } else if (type.equals(JavaDocType.TYPE_DEF_SETTER_METHOD)) {
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530178 javaDoc = generateForTypeDefSetter(name);
Bharat saraswale2d51d62016-03-23 19:40:35 +0530179 } else if (type.equals(JavaDocType.SETTER_METHOD)) {
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530180 javaDoc = generateForSetters(name, isList);
Bharat saraswale2d51d62016-03-23 19:40:35 +0530181 } else if (type.equals(JavaDocType.OF_METHOD)) {
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530182 javaDoc = generateForOf(name);
Bharat saraswal870c56f2016-02-20 21:57:16 +0530183 } else if (type.equals(JavaDocType.DEFAULT_CONSTRUCTOR)) {
Bharat saraswal6ef0b762016-04-05 12:45:45 +0530184 javaDoc = generateForDefaultConstructors(name);
Bharat saraswale2d51d62016-03-23 19:40:35 +0530185 } else if (type.equals(JavaDocType.BUILD_METHOD)) {
Bharat saraswal870c56f2016-02-20 21:57:16 +0530186 javaDoc = generateForBuild(name);
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530187 } else if (type.equals(JavaDocType.TYPE_CONSTRUCTOR)) {
188 javaDoc = generateForTypeConstructor(name);
189 } else if (type.equals(JavaDocType.UNION_FROM_METHOD)) {
190 javaDoc = generateForUnionFrom(name);
Bharat saraswald72411a2016-04-19 01:00:16 +0530191 } else if (type.equals(JavaDocType.ENUM_CLASS)) {
192 javaDoc = generateForEnum(name);
193 } else if (type.equals(JavaDocType.ENUM_ATTRIBUTE)) {
194 javaDoc = generateForEnumAttr(name);
b.janani68c55e12016-02-24 12:23:03 +0530195 } else {
Bharat saraswal870c56f2016-02-20 21:57:16 +0530196 javaDoc = generateForConstructors(name);
197 }
198 return javaDoc;
199 }
200
201 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530202 * Generates javaDocs for enum's attributes.
203 *
204 * @param name attribute name
205 * @return javaDocs
206 */
207 private static String generateForEnumAttr(String name) {
208 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + ENUM_ATTRIBUTE_JAVADOC
209 + name + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
210 }
211
212 /**
213 * Generates javaDocs for getter method.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530214 *
215 * @param attribute attribute
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530216 * @param isList is list attribute
Bharat saraswal870c56f2016-02-20 21:57:16 +0530217 * @return javaDocs
218 */
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530219 private static String generateForGetters(String attribute, boolean isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530220
221 String getter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
Bharat saraswal2f11f652016-03-25 18:19:46 +0530222 + JAVA_DOC_GETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
Bharat saraswale2d51d62016-03-23 19:40:35 +0530223 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530224 if (isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530225 String listAttribute = LIST.toLowerCase() + SPACE + OF + SPACE;
Vinod Kumar S38046502016-03-23 15:30:27 +0530226 getter = getter + listAttribute;
Bharat saraswale2d51d62016-03-23 19:40:35 +0530227 } else {
228 getter = getter + VALUE + SPACE + OF + SPACE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530229 }
230
Bharat saraswale2d51d62016-03-23 19:40:35 +0530231 getter = getter + attribute + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530232 return getter;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530233 }
234
235 /**
236 * Generates javaDocs for setter method.
237 *
238 * @param attribute attribute
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530239 * @param isList is list attribute
Bharat saraswal870c56f2016-02-20 21:57:16 +0530240 * @return javaDocs
241 */
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530242 private static String generateForSetters(String attribute, boolean isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530243
244 String setter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
Bharat saraswal2f11f652016-03-25 18:19:46 +0530245 + JAVA_DOC_SETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
Bharat saraswale2d51d62016-03-23 19:40:35 +0530246 + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + attribute + SPACE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530247 if (isList) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530248 String listAttribute = LIST.toLowerCase() + SPACE + OF + SPACE;
Vinod Kumar S38046502016-03-23 15:30:27 +0530249 setter = setter + listAttribute;
250 } else {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530251 setter = setter + VALUE + SPACE + OF + SPACE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530252 }
Bharat saraswale2d51d62016-03-23 19:40:35 +0530253 setter = setter + attribute + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + BUILDER_OBJECT + attribute
254 + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530255 return setter;
256 }
257
258 /**
259 * Generates javaDocs for of method.
260 *
261 * @param attribute attribute
262 * @return javaDocs
263 */
264 private static String generateForOf(String attribute) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530265 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_OF
Bharat saraswal2f11f652016-03-25 18:19:46 +0530266 + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
Bharat saraswale2d51d62016-03-23 19:40:35 +0530267 + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
268 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + OBJECT + SPACE + OF + SPACE + attribute + NEW_LINE
269 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530270 }
271
272 /**
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530273 * Generates javaDocs for from method.
274 *
275 * @param attribute attribute
276 * @return javaDocs
277 */
278 private static String generateForUnionFrom(String attribute) {
279
280 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_OF
281 + attribute + SPACE + FROM_STRING_METHOD_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + PERIOD
282 + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM
283 + FROM_STRING_PARAM_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + PERIOD + NEW_LINE
284 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + OBJECT + SPACE + OF + SPACE + attribute + NEW_LINE
285 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
286 }
287
288 /**
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530289 * Generates javaDocs for typedef setter method.
290 *
291 * @param attribute attribute
292 * @return javaDocs
293 */
294 private static String generateForTypeDefSetter(String attribute) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530295 return (NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
Bharat saraswal2f11f652016-03-25 18:19:46 +0530296 + JAVA_DOC_SETTERS_COMMON + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
Bharat saraswale2d51d62016-03-23 19:40:35 +0530297 + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute
298 + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE);
Bharat saraswal2f00b4b2016-03-04 20:08:09 +0530299 }
300
301 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530302 * Generates javaDocs for the impl class.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530303 *
304 * @param className class name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530305 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530306 */
307 private static String generateForImplClass(String className) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530308 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 +0530309 }
310
311 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530312 * Generates javaDocs for enum.
313 *
314 * @param className enum class name
315 * @return javaDocs
316 */
317 private static String generateForEnum(String className) {
318 return NEW_LINE + NEW_LINE + JAVA_DOC_FIRST_LINE + ENUM_CLASS_JAVADOC + className + PERIOD + NEW_LINE
319 + JAVA_DOC_END_LINE;
320 }
321
322 /**
323 * Generates javaDocs for the builder class.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530324 *
325 * @param className class name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530326 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530327 */
328 private static String generateForBuilderClass(String className) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530329 return NEW_LINE + JAVA_DOC_FIRST_LINE + BUILDER_CLASS_JAVA_DOC + className + PERIOD + NEW_LINE
330 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530331 }
332
333 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530334 * Generates javaDoc for the interface.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530335 *
336 * @param interfaceName interface name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530337 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530338 */
339 private static String generateForInterface(String interfaceName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530340 return NEW_LINE + JAVA_DOC_FIRST_LINE + INTERFACE_JAVA_DOC + interfaceName + PERIOD + NEW_LINE
341 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530342 }
343
344 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530345 * Generates javaDoc for the builder interface.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530346 *
347 * @param builderforName builder for name
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530348 * @return javaDocs
Bharat saraswal870c56f2016-02-20 21:57:16 +0530349 */
350 private static String generateForBuilderInterface(String builderforName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530351 return JAVA_DOC_FIRST_LINE + BUILDER_INTERFACE_JAVA_DOC + builderforName + PERIOD + NEW_LINE
352 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530353 }
354
355 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530356 * Generates javaDocs for package-info.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530357 *
358 * @param packageName package name
359 * @return javaDocs
360 */
361 private static String generateForPackage(String packageName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530362 return JAVA_DOC_FIRST_LINE + PACKAGE_INFO_JAVADOC + packageName + PERIOD + NEW_LINE + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530363 }
364
365 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530366 * Generates javaDocs for default constructor.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530367 *
Bharat saraswal6ef0b762016-04-05 12:45:45 +0530368 * @param className class name
Bharat saraswal870c56f2016-02-20 21:57:16 +0530369 * @return javaDocs
370 */
Bharat saraswal6ef0b762016-04-05 12:45:45 +0530371 private static String generateForDefaultConstructors(String className) {
372 return FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR + className
373 + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530374 }
375
376 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530377 * Generates javaDocs for constructor with parameters.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530378 *
Bharat saraswal870c56f2016-02-20 21:57:16 +0530379 * @param className class name
380 * @return javaDocs
381 */
382 private static String generateForConstructors(String className) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530383 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE
384 + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR + className + IMPL + PERIOD + NEW_LINE
Bharat saraswal2f11f652016-03-25 18:19:46 +0530385 + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM
386 + BUILDER.toLowerCase() + OBJECT + SPACE + BUILDER_OBJECT + className + NEW_LINE
Bharat saraswale2d51d62016-03-23 19:40:35 +0530387 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530388 }
389
390 /**
Bharat saraswald72411a2016-04-19 01:00:16 +0530391 * Generates javaDocs for build.
Bharat saraswal870c56f2016-02-20 21:57:16 +0530392 *
Vinod Kumar Sc4216002016-03-03 19:55:30 +0530393 * @param buildName builder name
Bharat saraswal870c56f2016-02-20 21:57:16 +0530394 * @return javaDocs
395 */
396 private static String generateForBuild(String buildName) {
Bharat saraswale2d51d62016-03-23 19:40:35 +0530397 return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_BUILD
Bharat saraswal2f11f652016-03-25 18:19:46 +0530398 + buildName + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
Bharat saraswale2d51d62016-03-23 19:40:35 +0530399 + JAVA_DOC_RETURN + JAVA_DOC_BUILD_RETURN + buildName + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION
400 + JAVA_DOC_END_LINE;
Bharat saraswal870c56f2016-02-20 21:57:16 +0530401 }
Gaurav Agrawal338735b2016-04-18 18:53:11 +0530402
403 /**
404 * Generates javaDocs for type constructor.
405 *
406 * @param attribute attribute string
407 * @return javaDocs for type constructor
408 */
409 private static String generateForTypeConstructor(String attribute) {
410
411 return (NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR
412 + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
413 + JAVA_DOC_PARAM + VALUE + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
414 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE);
415 }
Bharat saraswal870c56f2016-02-20 21:57:16 +0530416}