@@ -11,6 +11,9 @@ import com.fasterxml.jackson.annotation.JsonCreator;
1111import com.fasterxml.jackson.annotation.JsonValue;
1212import com.fasterxml.jackson.annotation.JsonTypeName;
1313{ {/jackson} }
14+ { {#openApiNullable} }
15+ import org.openapitools.jackson.nullable.JsonNullable;
16+ { {/openApiNullable} }
1417{ {#withXml} }
1518import { {javaxPackage} }.xml.bind.annotation.XmlElement;
1619import { {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