Fix warnings reported by maven
[mdsal.git] / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / yangtools / sal / java / api / generator / UnionTemplate.xtend
1 package org.opendaylight.yangtools.sal.java.api.generator\r
2 \r
3 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject\r
4 \r
5 \r
6 /**\r
7  * Template for generating JAVA class. \r
8  */\r
9 class UnionTemplate extends ClassTemplate {\r
10 \r
11 \r
12     \r
13     /**\r
14      * Creates instance of this class with concrete <code>genType</code>.\r
15      * \r
16      * @param genType generated transfer object which will be transformed to JAVA class source code\r
17      */\r
18     new(GeneratedTransferObject genType) {\r
19         super(genType)\r
20     }\r
21     \r
22 \r
23     \r
24     \r
25     override constructors() '''\r
26     «unionConstructors»\r
27     «IF !allProperties.empty»\r
28     «copyConstructor»\r
29     «ENDIF»\r
30     «IF properties.empty && !parentProperties.empty »\r
31         «parentConstructor»\r
32     «ENDIF»\r
33     '''\r
34     \r
35 \r
36      def unionConstructors() '''\r
37         «FOR property : finalProperties SEPARATOR "\n"»\r
38                 «val propertyAndTopParentProperties = parentProperties + #[property]»\r
39                 public «type.name»(«propertyAndTopParentProperties.asArgumentsDeclaration») {\r
40                     super(«parentProperties.asArguments»);\r
41                     this.«property.fieldName» = «property.fieldName»;\r
42                     «FOR other : finalProperties»\r
43                     «IF property != other»this.«other.fieldName» = null;«ENDIF»\r
44                     «ENDFOR»\r
45                 }\r
46         «ENDFOR»\r
47      ''' \r
48 }\r