Merge "Fix for Bug 241."
[mdsal.git] / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / yangtools / sal / java / api / generator / UnionBuilderTemplate.xtend
1 package org.opendaylight.yangtools.sal.java.api.generator
2
3 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject
4 import org.opendaylight.yangtools.sal.binding.model.api.AccessModifier
5
6 /**\r
7  * Template for generating JAVA class.\r
8  */
9 class UnionBuilderTemplate extends ClassTemplate {
10
11     /**\r
12      * Creates instance of this class with concrete <code>genType</code>.\r
13      *\r
14      * @param genType generated transfer object which will be transformed to JAVA class source code\r
15      */
16     new(GeneratedTransferObject genType) {
17         super(genType)
18     }
19
20     def override body() '''
21         «type.comment.asJavadoc»\r
22         public class «type.name» {\r
23 \r
24             «generateMethods»\r
25 \r
26         }\r
27     '''
28
29     def private generateMethods() '''
30         «FOR method : genTO.methodDefinitions»
31             «method.accessModifier.accessModifier»«IF method.static»static«ENDIF»«IF method.final» final«ENDIF» «method.
32             returnType.importedName» «method.name»(«method.parameters.generateParameters») {\r
33                 return null;\r
34             }\r
35         «ENDFOR»
36     '''
37
38     def private String getAccessModifier(AccessModifier modifier) {
39         switch (modifier) {
40             case AccessModifier.PUBLIC: return "public "
41             case AccessModifier.PROTECTED: return "protected "
42             case AccessModifier.PRIVATE: return "private "
43             default: return ""
44         }
45     }
46
47 }