Skip to content

Commit ed61716

Browse files
committed
Add XML support to the model generation
1 parent cf5ac3a commit ed61716

3 files changed

Lines changed: 18 additions & 0 deletions

File tree

modules/openapi-generator/src/main/resources/Groovy/model.mustache

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import groovy.transform.Canonical
44
{{#imports}}
55
import {{import}};
66
{{/imports}}
7+
{{#withXml}}
8+
import {{javaxPackage}}.xml.bind.annotation.*;
9+
{{/withXml}}
710

811
{{#models}}
912
{{#model}}

modules/openapi-generator/src/main/resources/Groovy/modelClass.mustache

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
{{#withXml}}
2+
@XmlAccessorType(XmlAccessType.NONE)
3+
{{/withXml}}
14
@Canonical
25
class {{classname}} {
36
{{#vars}}
@@ -16,6 +19,12 @@ class {{classname}} {
1619

1720
{{/isEnum}}
1821
{{#description}}/* {{{.}}} */{{/description}}
22+
{{#withXml}}
23+
@Xml{{#isXmlAttribute}}Attribute{{/isXmlAttribute}}{{^isXmlAttribute}}Element{{/isXmlAttribute}}(name = "{{items.xmlName}}{{^items.xmlName}}{{xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}{{/items.xmlName}}"{{#xmlNamespace}}, namespace = "{{.}}"{{/xmlNamespace}})
24+
{{#isXmlWrapped}}
25+
@XmlElementWrapper(name = "{{xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}"{{#xmlNamespace}}, namespace = "{{.}}"{{/xmlNamespace}})
26+
{{/isXmlWrapped}}
27+
{{/withXml}}
1928
{{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}
2029
{{/vars}}
2130
}

modules/openapi-generator/src/main/resources/Groovy/modelEnum.mustache

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
{{#withXml}}
2+
@XmlEnum
3+
{{/withXml}}
14
enum {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
25
{{#allowableValues}}{{#enumVars}}
36
{{#enumDescription}}
47
/**
58
* {{.}}
69
*/
710
{{/enumDescription}}
11+
{{#withXml}}
12+
@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}})
13+
{{/withXml}}
814
{{{name}}}({{{value}}}){{^-last}},
915
{{/-last}}{{/enumVars}}{{/allowableValues}}
1016

0 commit comments

Comments
 (0)