Skip to content

Commit c90ae9c

Browse files
committed
Support JsonNullable in JaxRS-spec
1 parent 8a4246c commit c90ae9c

File tree

1 file changed

+25
-0
lines changed
  • modules/openapi-generator/src/main/resources/JavaJaxRS/spec

1 file changed

+25
-0
lines changed

modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ import com.fasterxml.jackson.annotation.JsonCreator;
1111
import com.fasterxml.jackson.annotation.JsonValue;
1212
import com.fasterxml.jackson.annotation.JsonTypeName;
1313
{{/jackson}}
14+
{{#openApiNullable}}
15+
import org.openapitools.jackson.nullable.JsonNullable;
16+
{{/openApiNullable}}
1417
{{#withXml}}
1518
import {{javaxPackage}}.xml.bind.annotation.XmlElement;
1619
import {{javaxPackage}}.xml.bind.annotation.XmlRootElement;
@@ -47,7 +50,12 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtens
4750
{{#vendorExtensions.x-field-extra-annotation}}
4851
{{{.}}}
4952
{{/vendorExtensions.x-field-extra-annotation}}
53+
{{#vendorExtensions.x-is-jackson-optional-nullable}}
54+
private {{#isContainer}}{{#useBeanValidation}}@Valid {{/useBeanValidation}}{{/isContainer}}JsonNullable<{{{datatypeWithEnum}}}> {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};
55+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
56+
{{^vendorExtensions.x-is-jackson-optional-nullable}}
5057
private {{#isContainer}}{{#useBeanValidation}}@Valid {{/useBeanValidation}}{{/isContainer}}{{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};
58+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
5159
{{/vars}}
5260

5361
{{#generateBuilders}}
@@ -105,7 +113,12 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtens
105113
{{/maximum}}
106114
**/
107115
public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) {
116+
{{#vendorExtensions.x-is-jackson-optional-nullable}}
117+
this.{{name}} = JsonNullable.<{{{datatypeWithEnum}}}>of({{name}});
118+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
119+
{{^vendorExtensions.x-is-jackson-optional-nullable}}
108120
this.{{name}} = {{name}};
121+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
109122
return this;
110123
}
111124

@@ -117,16 +130,28 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtens
117130
@Schema({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}description = "{{{description}}}"){{/useSwaggerV3Annotations}}{{#useMicroProfileOpenAPIAnnotations}}
118131
@org.eclipse.microprofile.openapi.annotations.media.Schema({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}description = "{{{description}}}"){{/useMicroProfileOpenAPIAnnotations}}
119132
{{#jackson}}@JsonProperty({{#required}}required = {{required}}, value = {{/required}}"{{baseName}}"){{/jackson}}
133+
{{#vendorExtensions.x-is-jackson-optional-nullable}}
134+
public JsonNullable<{{{datatypeWithEnum}}}> {{getter}}() {
135+
return {{name}};
136+
}
137+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
138+
{{^vendorExtensions.x-is-jackson-optional-nullable}}
120139
{{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}}public {{>beanValidatedType}} {{getter}}() {
121140
return {{name}};
122141
}
142+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
123143

124144
{{#jackson}}
125145
@JsonProperty({{#required}}required = {{required}}, value = {{/required}}"{{baseName}}")
126146
{{/jackson}}
127147
{{#vendorExtensions.x-setter-extra-annotation}}{{{vendorExtensions.x-setter-extra-annotation}}}
128148
{{/vendorExtensions.x-setter-extra-annotation}}public void {{setter}}({{{datatypeWithEnum}}} {{name}}) {
149+
{{#vendorExtensions.x-is-jackson-optional-nullable}}
150+
this.{{name}} = JsonNullable.<{{{datatypeWithEnum}}}>of({{name}});
151+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
152+
{{^vendorExtensions.x-is-jackson-optional-nullable}}
129153
this.{{name}} = {{name}};
154+
{{/vendorExtensions.x-is-jackson-optional-nullable}}
130155
}
131156

132157
{{#isArray}}

0 commit comments

Comments
 (0)