iterator = list.iterator();
+ StringBuilder out = new StringBuilder();
+ if (iterator.hasNext()) {
+ out.append(iterator.next());
+ }
+ while (iterator.hasNext()) {
+ out.append(separator).append(iterator.next());
+ }
+ return out.toString();
+ }
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/api/BarApi.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/api/BarApi.java
new file mode 100644
index 000000000000..6a8dc1df328f
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/api/BarApi.java
@@ -0,0 +1,124 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+
+import org.openapitools.client.model.Bar;
+import org.openapitools.client.model.BarCreate;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.reactive.function.client.WebClient.ResponseSpec;
+import org.springframework.web.reactive.function.client.WebClientResponseException;
+import reactor.core.publisher.Mono;
+import reactor.core.publisher.Flux;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class BarApi {
+ private ApiClient apiClient;
+
+ public BarApi() {
+ this(new ApiClient());
+ }
+
+ public BarApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Create a Bar
+ *
+ * 200 - Bar created
+ * @param barCreate The barCreate parameter
+ * @return Bar
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ private ResponseSpec createBarRequestCreation(@javax.annotation.Nonnull BarCreate barCreate) throws WebClientResponseException {
+ Object postBody = barCreate;
+ // verify the required parameter 'barCreate' is set
+ if (barCreate == null) {
+ throw new WebClientResponseException("Missing the required parameter 'barCreate' when calling createBar", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null);
+ }
+ // create path and map variables
+ final Map pathParams = new HashMap();
+
+ final MultiValueMap queryParams = new LinkedMultiValueMap();
+ final HttpHeaders headerParams = new HttpHeaders();
+ final MultiValueMap cookieParams = new LinkedMultiValueMap();
+ final MultiValueMap formParams = new LinkedMultiValueMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ String[] localVarAuthNames = new String[] { };
+
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI("/bar", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
+ }
+
+ /**
+ * Create a Bar
+ *
+ * 200 - Bar created
+ * @param barCreate The barCreate parameter
+ * @return Bar
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public Mono createBar(@javax.annotation.Nonnull BarCreate barCreate) throws WebClientResponseException {
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return createBarRequestCreation(barCreate).bodyToMono(localVarReturnType);
+ }
+
+ /**
+ * Create a Bar
+ *
+ * 200 - Bar created
+ * @param barCreate The barCreate parameter
+ * @return ResponseEntity<Bar>
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public Mono> createBarWithHttpInfo(@javax.annotation.Nonnull BarCreate barCreate) throws WebClientResponseException {
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return createBarRequestCreation(barCreate).toEntity(localVarReturnType);
+ }
+
+ /**
+ * Create a Bar
+ *
+ * 200 - Bar created
+ * @param barCreate The barCreate parameter
+ * @return ResponseSpec
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public ResponseSpec createBarWithResponseSpec(@javax.annotation.Nonnull BarCreate barCreate) throws WebClientResponseException {
+ return createBarRequestCreation(barCreate);
+ }
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/api/FooApi.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/api/FooApi.java
new file mode 100644
index 000000000000..1603e9dcaafb
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/api/FooApi.java
@@ -0,0 +1,185 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+
+import org.openapitools.client.model.Foo;
+import org.openapitools.client.model.FooRefOrValue;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.reactive.function.client.WebClient.ResponseSpec;
+import org.springframework.web.reactive.function.client.WebClientResponseException;
+import reactor.core.publisher.Mono;
+import reactor.core.publisher.Flux;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class FooApi {
+ private ApiClient apiClient;
+
+ public FooApi() {
+ this(new ApiClient());
+ }
+
+ public FooApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Create a Foo
+ *
+ *
201 - Error
+ * @param foo The Foo to be created
+ * @return FooRefOrValue
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ private ResponseSpec createFooRequestCreation(@javax.annotation.Nullable Foo foo) throws WebClientResponseException {
+ Object postBody = foo;
+ // create path and map variables
+ final Map pathParams = new HashMap();
+
+ final MultiValueMap queryParams = new LinkedMultiValueMap();
+ final HttpHeaders headerParams = new HttpHeaders();
+ final MultiValueMap cookieParams = new LinkedMultiValueMap();
+ final MultiValueMap formParams = new LinkedMultiValueMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {
+ "application/json;charset=utf-8"
+ };
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ String[] localVarAuthNames = new String[] { };
+
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI("/foo", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
+ }
+
+ /**
+ * Create a Foo
+ *
+ * 201 - Error
+ * @param foo The Foo to be created
+ * @return FooRefOrValue
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public Mono createFoo(@javax.annotation.Nullable Foo foo) throws WebClientResponseException {
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return createFooRequestCreation(foo).bodyToMono(localVarReturnType);
+ }
+
+ /**
+ * Create a Foo
+ *
+ * 201 - Error
+ * @param foo The Foo to be created
+ * @return ResponseEntity<FooRefOrValue>
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public Mono> createFooWithHttpInfo(@javax.annotation.Nullable Foo foo) throws WebClientResponseException {
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return createFooRequestCreation(foo).toEntity(localVarReturnType);
+ }
+
+ /**
+ * Create a Foo
+ *
+ * 201 - Error
+ * @param foo The Foo to be created
+ * @return ResponseSpec
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public ResponseSpec createFooWithResponseSpec(@javax.annotation.Nullable Foo foo) throws WebClientResponseException {
+ return createFooRequestCreation(foo);
+ }
+
+ /**
+ * GET all Foos
+ *
+ *
200 - Success
+ * @return List<FooRefOrValue>
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ private ResponseSpec getAllFoosRequestCreation() throws WebClientResponseException {
+ Object postBody = null;
+ // create path and map variables
+ final Map pathParams = new HashMap();
+
+ final MultiValueMap queryParams = new LinkedMultiValueMap();
+ final HttpHeaders headerParams = new HttpHeaders();
+ final MultiValueMap cookieParams = new LinkedMultiValueMap();
+ final MultiValueMap formParams = new LinkedMultiValueMap();
+
+ final String[] localVarAccepts = {
+ "application/json;charset=utf-8"
+ };
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = { };
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ String[] localVarAuthNames = new String[] { };
+
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI("/foo", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
+ }
+
+ /**
+ * GET all Foos
+ *
+ * 200 - Success
+ * @return List<FooRefOrValue>
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public Flux getAllFoos() throws WebClientResponseException {
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return getAllFoosRequestCreation().bodyToFlux(localVarReturnType);
+ }
+
+ /**
+ * GET all Foos
+ *
+ * 200 - Success
+ * @return ResponseEntity<List<FooRefOrValue>>
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public Mono>> getAllFoosWithHttpInfo() throws WebClientResponseException {
+ ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {};
+ return getAllFoosRequestCreation().toEntityList(localVarReturnType);
+ }
+
+ /**
+ * GET all Foos
+ *
+ * 200 - Success
+ * @return ResponseSpec
+ * @throws WebClientResponseException if an error occurs while attempting to invoke the API
+ */
+ public ResponseSpec getAllFoosWithResponseSpec() throws WebClientResponseException {
+ return getAllFoosRequestCreation();
+ }
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java
new file mode 100644
index 000000000000..a905630d1fee
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java
@@ -0,0 +1,75 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.auth;
+
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.MultiValueMap;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class ApiKeyAuth implements Authentication {
+ private final String location;
+ private final String paramName;
+
+ private String apiKey;
+ private String apiKeyPrefix;
+
+ public ApiKeyAuth(String location, String paramName) {
+ this.location = location;
+ this.paramName = paramName;
+ }
+
+ public String getLocation() {
+ return location;
+ }
+
+ public String getParamName() {
+ return paramName;
+ }
+
+ public String getApiKey() {
+ return apiKey;
+ }
+
+ public void setApiKey(String apiKey) {
+ this.apiKey = apiKey;
+ }
+
+ public String getApiKeyPrefix() {
+ return apiKeyPrefix;
+ }
+
+ public void setApiKeyPrefix(String apiKeyPrefix) {
+ this.apiKeyPrefix = apiKeyPrefix;
+ }
+
+ @Override
+ public void applyToParams(MultiValueMap queryParams, HttpHeaders headerParams, MultiValueMap cookieParams) {
+ if (apiKey == null) {
+ return;
+ }
+ String value;
+ if (apiKeyPrefix != null) {
+ value = apiKeyPrefix + " " + apiKey;
+ } else {
+ value = apiKey;
+ }
+ if (location.equals("query")) {
+ queryParams.add(paramName, value);
+ } else if (location.equals("header")) {
+ headerParams.add(paramName, value);
+ } else if (location.equals("cookie")) {
+ cookieParams.add(paramName, value);
+ }
+ }
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/Authentication.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/Authentication.java
new file mode 100644
index 000000000000..83e358c7f9e0
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/Authentication.java
@@ -0,0 +1,29 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.auth;
+
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.MultiValueMap;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public interface Authentication {
+ /**
+ * Apply authentication settings to header and / or query parameters.
+ *
+ * @param queryParams The query parameters for the request
+ * @param headerParams The header parameters for the request
+ * @param cookieParams The cookie parameters for the request
+ */
+ void applyToParams(MultiValueMap queryParams, HttpHeaders headerParams, MultiValueMap cookieParams);
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java
new file mode 100644
index 000000000000..469f317a23d2
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java
@@ -0,0 +1,51 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.auth;
+
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.MultiValueMap;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class HttpBasicAuth implements Authentication {
+ private String username;
+ private String password;
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ @Override
+ public void applyToParams(MultiValueMap queryParams, HttpHeaders headerParams, MultiValueMap cookieParams) {
+ if (username == null && password == null) {
+ return;
+ }
+ String str = (username == null ? "" : username) + ":" + (password == null ? "" : password);
+ headerParams.add(HttpHeaders.AUTHORIZATION, "Basic " + Base64.getEncoder().encodeToString(str.getBytes(StandardCharsets.UTF_8)));
+ }
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java
new file mode 100644
index 000000000000..570225c141f2
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java
@@ -0,0 +1,48 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.auth;
+
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.MultiValueMap;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class HttpBearerAuth implements Authentication {
+ private final String scheme;
+ private String bearerToken;
+
+ public HttpBearerAuth(String scheme) {
+ this.scheme = scheme;
+ }
+
+ public String getBearerToken() {
+ return bearerToken;
+ }
+
+ public void setBearerToken(String bearerToken) {
+ this.bearerToken = bearerToken;
+ }
+
+ @Override
+ public void applyToParams(MultiValueMap queryParams, HttpHeaders headerParams, MultiValueMap cookieParams) {
+ if (bearerToken == null) {
+ return;
+ }
+ headerParams.add(HttpHeaders.AUTHORIZATION, (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken);
+ }
+
+ private static String upperCaseBearer(String scheme) {
+ return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme;
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Addressable.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Addressable.java
new file mode 100644
index 000000000000..b6388c968e9e
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Addressable.java
@@ -0,0 +1,137 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Base schema for addressable entities
+ */
+@JsonPropertyOrder({
+ Addressable.JSON_PROPERTY_HREF,
+ Addressable.JSON_PROPERTY_ID
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class Addressable {
+ public static final String JSON_PROPERTY_HREF = "href";
+ @javax.annotation.Nullable
+ private String href;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ @javax.annotation.Nullable
+ private String id;
+
+ public Addressable() {
+ }
+
+ public Addressable href(@javax.annotation.Nullable String href) {
+
+ this.href = href;
+ return this;
+ }
+
+ /**
+ * Hyperlink reference
+ * @return href
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_HREF)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getHref() {
+ return href;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_HREF)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setHref(@javax.annotation.Nullable String href) {
+ this.href = href;
+ }
+
+ public Addressable id(@javax.annotation.Nullable String id) {
+
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * unique identifier
+ * @return id
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getId() {
+ return id;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setId(@javax.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Addressable addressable = (Addressable) o;
+ return Objects.equals(this.href, addressable.href) &&
+ Objects.equals(this.id, addressable.id);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(href, id);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Addressable {\n");
+ sb.append(" href: ").append(toIndentedString(href)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Apple.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Apple.java
new file mode 100644
index 000000000000..d27a1084ec15
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Apple.java
@@ -0,0 +1,140 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Apple
+ */
+@JsonPropertyOrder({
+ Apple.JSON_PROPERTY_SEEDS,
+ Apple.JSON_PROPERTY_FRUIT_TYPE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public final class Apple implements Fruit {
+ public static final String JSON_PROPERTY_SEEDS = "seeds";
+ @javax.annotation.Nonnull
+ private Integer seeds;
+
+ public static final String JSON_PROPERTY_FRUIT_TYPE = "fruitType";
+ @javax.annotation.Nonnull
+ private FruitType fruitType;
+
+ public Apple() {
+ }
+
+ public Apple seeds(@javax.annotation.Nonnull Integer seeds) {
+
+ this.seeds = seeds;
+ return this;
+ }
+
+ /**
+ * Get seeds
+ * @return seeds
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_SEEDS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public Integer getSeeds() {
+ return seeds;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_SEEDS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setSeeds(@javax.annotation.Nonnull Integer seeds) {
+ this.seeds = seeds;
+ }
+
+ public Apple fruitType(@javax.annotation.Nonnull FruitType fruitType) {
+
+ this.fruitType = fruitType;
+ return this;
+ }
+
+ /**
+ * Get fruitType
+ * @return fruitType
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_FRUIT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public FruitType getFruitType() {
+ return fruitType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FRUIT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setFruitType(@javax.annotation.Nonnull FruitType fruitType) {
+ this.fruitType = fruitType;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Apple apple = (Apple) o;
+ return Objects.equals(this.seeds, apple.seeds) &&
+ Objects.equals(this.fruitType, apple.fruitType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(seeds, fruitType);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Apple {\n");
+ sb.append(" seeds: ").append(toIndentedString(seeds)).append("\n");
+ sb.append(" fruitType: ").append(toIndentedString(fruitType)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Banana.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Banana.java
new file mode 100644
index 000000000000..c56446e6f9a1
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Banana.java
@@ -0,0 +1,140 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Banana
+ */
+@JsonPropertyOrder({
+ Banana.JSON_PROPERTY_LENGTH,
+ Banana.JSON_PROPERTY_FRUIT_TYPE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public final class Banana implements Fruit {
+ public static final String JSON_PROPERTY_LENGTH = "length";
+ @javax.annotation.Nonnull
+ private Integer length;
+
+ public static final String JSON_PROPERTY_FRUIT_TYPE = "fruitType";
+ @javax.annotation.Nonnull
+ private FruitType fruitType;
+
+ public Banana() {
+ }
+
+ public Banana length(@javax.annotation.Nonnull Integer length) {
+
+ this.length = length;
+ return this;
+ }
+
+ /**
+ * Get length
+ * @return length
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_LENGTH)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public Integer getLength() {
+ return length;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_LENGTH)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setLength(@javax.annotation.Nonnull Integer length) {
+ this.length = length;
+ }
+
+ public Banana fruitType(@javax.annotation.Nonnull FruitType fruitType) {
+
+ this.fruitType = fruitType;
+ return this;
+ }
+
+ /**
+ * Get fruitType
+ * @return fruitType
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_FRUIT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public FruitType getFruitType() {
+ return fruitType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FRUIT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setFruitType(@javax.annotation.Nonnull FruitType fruitType) {
+ this.fruitType = fruitType;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Banana banana = (Banana) o;
+ return Objects.equals(this.length, banana.length) &&
+ Objects.equals(this.fruitType, banana.fruitType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(length, fruitType);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Banana {\n");
+ sb.append(" length: ").append(toIndentedString(length)).append("\n");
+ sb.append(" fruitType: ").append(toIndentedString(fruitType)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Bar.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Bar.java
new file mode 100644
index 000000000000..bb2ed6badbf1
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Bar.java
@@ -0,0 +1,215 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import org.openapitools.client.model.FooRefOrValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Bar
+ */
+@JsonPropertyOrder({
+ Bar.JSON_PROPERTY_ID,
+ Bar.JSON_PROPERTY_BAR_PROP_A,
+ Bar.JSON_PROPERTY_FOO_PROP_B,
+ Bar.JSON_PROPERTY_FOO
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public final class Bar extends Entity implements BarRefOrValue {
+ public static final String JSON_PROPERTY_ID = "id";
+ @javax.annotation.Nonnull
+ private String id;
+
+ public static final String JSON_PROPERTY_BAR_PROP_A = "barPropA";
+ @javax.annotation.Nullable
+ private String barPropA;
+
+ public static final String JSON_PROPERTY_FOO_PROP_B = "fooPropB";
+ @javax.annotation.Nullable
+ private String fooPropB;
+
+ public static final String JSON_PROPERTY_FOO = "foo";
+ @javax.annotation.Nullable
+ private FooRefOrValue foo;
+
+ public Bar() {
+
+ }
+
+ public Bar id(@javax.annotation.Nonnull String id) {
+
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ * @return id
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public String getId() {
+ return id;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@javax.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public Bar barPropA(@javax.annotation.Nullable String barPropA) {
+
+ this.barPropA = barPropA;
+ return this;
+ }
+
+ /**
+ * Get barPropA
+ * @return barPropA
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_BAR_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getBarPropA() {
+ return barPropA;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_BAR_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setBarPropA(@javax.annotation.Nullable String barPropA) {
+ this.barPropA = barPropA;
+ }
+
+ public Bar fooPropB(@javax.annotation.Nullable String fooPropB) {
+
+ this.fooPropB = fooPropB;
+ return this;
+ }
+
+ /**
+ * Get fooPropB
+ * @return fooPropB
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_B)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getFooPropB() {
+ return fooPropB;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_B)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFooPropB(@javax.annotation.Nullable String fooPropB) {
+ this.fooPropB = fooPropB;
+ }
+
+ public Bar foo(@javax.annotation.Nullable FooRefOrValue foo) {
+
+ this.foo = foo;
+ return this;
+ }
+
+ /**
+ * Get foo
+ * @return foo
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public FooRefOrValue getFoo() {
+ return foo;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFoo(@javax.annotation.Nullable FooRefOrValue foo) {
+ this.foo = foo;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Bar bar = (Bar) o;
+ return Objects.equals(this.id, bar.id) &&
+ Objects.equals(this.barPropA, bar.barPropA) &&
+ Objects.equals(this.fooPropB, bar.fooPropB) &&
+ Objects.equals(this.foo, bar.foo) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, barPropA, fooPropB, foo, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Bar {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" barPropA: ").append(toIndentedString(barPropA)).append("\n");
+ sb.append(" fooPropB: ").append(toIndentedString(fooPropB)).append("\n");
+ sb.append(" foo: ").append(toIndentedString(foo)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarCreate.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarCreate.java
new file mode 100644
index 000000000000..0f7866dda051
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarCreate.java
@@ -0,0 +1,184 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import org.openapitools.client.model.FooRefOrValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * BarCreate
+ */
+@JsonPropertyOrder({
+ BarCreate.JSON_PROPERTY_BAR_PROP_A,
+ BarCreate.JSON_PROPERTY_FOO_PROP_B,
+ BarCreate.JSON_PROPERTY_FOO
+})
+@JsonTypeName("Bar_Create")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public class BarCreate extends Entity {
+ public static final String JSON_PROPERTY_BAR_PROP_A = "barPropA";
+ @javax.annotation.Nullable
+ private String barPropA;
+
+ public static final String JSON_PROPERTY_FOO_PROP_B = "fooPropB";
+ @javax.annotation.Nullable
+ private String fooPropB;
+
+ public static final String JSON_PROPERTY_FOO = "foo";
+ @javax.annotation.Nullable
+ private FooRefOrValue foo;
+
+ public BarCreate() {
+
+ }
+
+ public BarCreate barPropA(@javax.annotation.Nullable String barPropA) {
+
+ this.barPropA = barPropA;
+ return this;
+ }
+
+ /**
+ * Get barPropA
+ * @return barPropA
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_BAR_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getBarPropA() {
+ return barPropA;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_BAR_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setBarPropA(@javax.annotation.Nullable String barPropA) {
+ this.barPropA = barPropA;
+ }
+
+ public BarCreate fooPropB(@javax.annotation.Nullable String fooPropB) {
+
+ this.fooPropB = fooPropB;
+ return this;
+ }
+
+ /**
+ * Get fooPropB
+ * @return fooPropB
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_B)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getFooPropB() {
+ return fooPropB;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_B)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFooPropB(@javax.annotation.Nullable String fooPropB) {
+ this.fooPropB = fooPropB;
+ }
+
+ public BarCreate foo(@javax.annotation.Nullable FooRefOrValue foo) {
+
+ this.foo = foo;
+ return this;
+ }
+
+ /**
+ * Get foo
+ * @return foo
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public FooRefOrValue getFoo() {
+ return foo;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFoo(@javax.annotation.Nullable FooRefOrValue foo) {
+ this.foo = foo;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ BarCreate barCreate = (BarCreate) o;
+ return Objects.equals(this.barPropA, barCreate.barPropA) &&
+ Objects.equals(this.fooPropB, barCreate.fooPropB) &&
+ Objects.equals(this.foo, barCreate.foo) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(barPropA, fooPropB, foo, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class BarCreate {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" barPropA: ").append(toIndentedString(barPropA)).append("\n");
+ sb.append(" fooPropB: ").append(toIndentedString(fooPropB)).append("\n");
+ sb.append(" foo: ").append(toIndentedString(foo)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarRef.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarRef.java
new file mode 100644
index 000000000000..78b1badc87ee
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarRef.java
@@ -0,0 +1,85 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.EntityRef;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * BarRef
+ */
+@JsonPropertyOrder({
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public final class BarRef extends EntityRef implements BarRefOrValue {
+ public BarRef() {
+
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ return super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class BarRef {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarRefOrValue.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarRefOrValue.java
new file mode 100644
index 000000000000..b9e396f42855
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/BarRefOrValue.java
@@ -0,0 +1,46 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Bar;
+import org.openapitools.client.model.BarRef;
+import org.openapitools.client.model.FooRefOrValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = Bar.class, name = "Bar"),
+ @JsonSubTypes.Type(value = BarRef.class, name = "BarRef"),
+})
+
+public sealed interface BarRefOrValue permits Bar, BarRef {
+ public String getAtType();
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Entity.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Entity.java
new file mode 100644
index 000000000000..c724d44eb58b
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Entity.java
@@ -0,0 +1,250 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Entity
+ */
+@JsonPropertyOrder({
+ Entity.JSON_PROPERTY_HREF,
+ Entity.JSON_PROPERTY_ID,
+ Entity.JSON_PROPERTY_AT_SCHEMA_LOCATION,
+ Entity.JSON_PROPERTY_AT_BASE_TYPE,
+ Entity.JSON_PROPERTY_AT_TYPE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = Bar.class, name = "Bar"),
+ @JsonSubTypes.Type(value = BarCreate.class, name = "Bar_Create"),
+ @JsonSubTypes.Type(value = Foo.class, name = "Foo"),
+ @JsonSubTypes.Type(value = Pasta.class, name = "Pasta"),
+ @JsonSubTypes.Type(value = Pizza.class, name = "Pizza"),
+ @JsonSubTypes.Type(value = PizzaSpeziale.class, name = "PizzaSpeziale"),
+})
+
+public class Entity {
+ public static final String JSON_PROPERTY_HREF = "href";
+ @javax.annotation.Nullable
+ protected String href;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ @javax.annotation.Nullable
+ protected String id;
+
+ public static final String JSON_PROPERTY_AT_SCHEMA_LOCATION = "@schemaLocation";
+ @javax.annotation.Nullable
+ protected String atSchemaLocation;
+
+ public static final String JSON_PROPERTY_AT_BASE_TYPE = "@baseType";
+ @javax.annotation.Nullable
+ protected String atBaseType;
+
+ public static final String JSON_PROPERTY_AT_TYPE = "@type";
+ @javax.annotation.Nonnull
+ protected String atType;
+
+ public Entity() {
+ }
+
+ public Entity href(@javax.annotation.Nullable String href) {
+
+ this.href = href;
+ return this;
+ }
+
+ /**
+ * Hyperlink reference
+ * @return href
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_HREF)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getHref() {
+ return href;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_HREF)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setHref(@javax.annotation.Nullable String href) {
+ this.href = href;
+ }
+
+ public Entity id(@javax.annotation.Nullable String id) {
+
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * unique identifier
+ * @return id
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getId() {
+ return id;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setId(@javax.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+ public Entity atSchemaLocation(@javax.annotation.Nullable String atSchemaLocation) {
+
+ this.atSchemaLocation = atSchemaLocation;
+ return this;
+ }
+
+ /**
+ * A URI to a JSON-Schema file that defines additional attributes and relationships
+ * @return atSchemaLocation
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_SCHEMA_LOCATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtSchemaLocation() {
+ return atSchemaLocation;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_SCHEMA_LOCATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtSchemaLocation(@javax.annotation.Nullable String atSchemaLocation) {
+ this.atSchemaLocation = atSchemaLocation;
+ }
+
+ public Entity atBaseType(@javax.annotation.Nullable String atBaseType) {
+
+ this.atBaseType = atBaseType;
+ return this;
+ }
+
+ /**
+ * When sub-classing, this defines the super-class
+ * @return atBaseType
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_BASE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtBaseType() {
+ return atBaseType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_BASE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtBaseType(@javax.annotation.Nullable String atBaseType) {
+ this.atBaseType = atBaseType;
+ }
+
+ public Entity atType(@javax.annotation.Nonnull String atType) {
+
+ this.atType = atType;
+ return this;
+ }
+
+ /**
+ * When sub-classing, this defines the sub-class Extensible name
+ * @return atType
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public String getAtType() {
+ return atType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAtType(@javax.annotation.Nonnull String atType) {
+ this.atType = atType;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Entity entity = (Entity) o;
+ return Objects.equals(this.href, entity.href) &&
+ Objects.equals(this.id, entity.id) &&
+ Objects.equals(this.atSchemaLocation, entity.atSchemaLocation) &&
+ Objects.equals(this.atBaseType, entity.atBaseType) &&
+ Objects.equals(this.atType, entity.atType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(href, id, atSchemaLocation, atBaseType, atType);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Entity {\n");
+ sb.append(" href: ").append(toIndentedString(href)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" atSchemaLocation: ").append(toIndentedString(atSchemaLocation)).append("\n");
+ sb.append(" atBaseType: ").append(toIndentedString(atBaseType)).append("\n");
+ sb.append(" atType: ").append(toIndentedString(atType)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/EntityRef.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/EntityRef.java
new file mode 100644
index 000000000000..e1bf5904fb6b
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/EntityRef.java
@@ -0,0 +1,310 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Entity reference schema to be use for all entityRef class.
+ */
+@JsonPropertyOrder({
+ EntityRef.JSON_PROPERTY_NAME,
+ EntityRef.JSON_PROPERTY_AT_REFERRED_TYPE,
+ EntityRef.JSON_PROPERTY_HREF,
+ EntityRef.JSON_PROPERTY_ID,
+ EntityRef.JSON_PROPERTY_AT_SCHEMA_LOCATION,
+ EntityRef.JSON_PROPERTY_AT_BASE_TYPE,
+ EntityRef.JSON_PROPERTY_AT_TYPE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = BarRef.class, name = "BarRef"),
+ @JsonSubTypes.Type(value = FooRef.class, name = "FooRef"),
+})
+
+public class EntityRef {
+ public static final String JSON_PROPERTY_NAME = "name";
+ @javax.annotation.Nullable
+ protected String name;
+
+ public static final String JSON_PROPERTY_AT_REFERRED_TYPE = "@referredType";
+ @javax.annotation.Nullable
+ protected String atReferredType;
+
+ public static final String JSON_PROPERTY_HREF = "href";
+ @javax.annotation.Nullable
+ protected String href;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ @javax.annotation.Nullable
+ protected String id;
+
+ public static final String JSON_PROPERTY_AT_SCHEMA_LOCATION = "@schemaLocation";
+ @javax.annotation.Nullable
+ protected String atSchemaLocation;
+
+ public static final String JSON_PROPERTY_AT_BASE_TYPE = "@baseType";
+ @javax.annotation.Nullable
+ protected String atBaseType;
+
+ public static final String JSON_PROPERTY_AT_TYPE = "@type";
+ @javax.annotation.Nonnull
+ protected String atType;
+
+ public EntityRef() {
+ }
+
+ public EntityRef name(@javax.annotation.Nullable String name) {
+
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Name of the related entity.
+ * @return name
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getName() {
+ return name;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setName(@javax.annotation.Nullable String name) {
+ this.name = name;
+ }
+
+ public EntityRef atReferredType(@javax.annotation.Nullable String atReferredType) {
+
+ this.atReferredType = atReferredType;
+ return this;
+ }
+
+ /**
+ * The actual type of the target instance when needed for disambiguation.
+ * @return atReferredType
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_REFERRED_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtReferredType() {
+ return atReferredType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_REFERRED_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtReferredType(@javax.annotation.Nullable String atReferredType) {
+ this.atReferredType = atReferredType;
+ }
+
+ public EntityRef href(@javax.annotation.Nullable String href) {
+
+ this.href = href;
+ return this;
+ }
+
+ /**
+ * Hyperlink reference
+ * @return href
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_HREF)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getHref() {
+ return href;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_HREF)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setHref(@javax.annotation.Nullable String href) {
+ this.href = href;
+ }
+
+ public EntityRef id(@javax.annotation.Nullable String id) {
+
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * unique identifier
+ * @return id
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getId() {
+ return id;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setId(@javax.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+ public EntityRef atSchemaLocation(@javax.annotation.Nullable String atSchemaLocation) {
+
+ this.atSchemaLocation = atSchemaLocation;
+ return this;
+ }
+
+ /**
+ * A URI to a JSON-Schema file that defines additional attributes and relationships
+ * @return atSchemaLocation
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_SCHEMA_LOCATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtSchemaLocation() {
+ return atSchemaLocation;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_SCHEMA_LOCATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtSchemaLocation(@javax.annotation.Nullable String atSchemaLocation) {
+ this.atSchemaLocation = atSchemaLocation;
+ }
+
+ public EntityRef atBaseType(@javax.annotation.Nullable String atBaseType) {
+
+ this.atBaseType = atBaseType;
+ return this;
+ }
+
+ /**
+ * When sub-classing, this defines the super-class
+ * @return atBaseType
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_BASE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtBaseType() {
+ return atBaseType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_BASE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtBaseType(@javax.annotation.Nullable String atBaseType) {
+ this.atBaseType = atBaseType;
+ }
+
+ public EntityRef atType(@javax.annotation.Nonnull String atType) {
+
+ this.atType = atType;
+ return this;
+ }
+
+ /**
+ * When sub-classing, this defines the sub-class Extensible name
+ * @return atType
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public String getAtType() {
+ return atType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAtType(@javax.annotation.Nonnull String atType) {
+ this.atType = atType;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ EntityRef entityRef = (EntityRef) o;
+ return Objects.equals(this.name, entityRef.name) &&
+ Objects.equals(this.atReferredType, entityRef.atReferredType) &&
+ Objects.equals(this.href, entityRef.href) &&
+ Objects.equals(this.id, entityRef.id) &&
+ Objects.equals(this.atSchemaLocation, entityRef.atSchemaLocation) &&
+ Objects.equals(this.atBaseType, entityRef.atBaseType) &&
+ Objects.equals(this.atType, entityRef.atType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, atReferredType, href, id, atSchemaLocation, atBaseType, atType);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class EntityRef {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" atReferredType: ").append(toIndentedString(atReferredType)).append("\n");
+ sb.append(" href: ").append(toIndentedString(href)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" atSchemaLocation: ").append(toIndentedString(atSchemaLocation)).append("\n");
+ sb.append(" atBaseType: ").append(toIndentedString(atBaseType)).append("\n");
+ sb.append(" atType: ").append(toIndentedString(atType)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Extensible.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Extensible.java
new file mode 100644
index 000000000000..2d2fc0ff04fa
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Extensible.java
@@ -0,0 +1,169 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Extensible
+ */
+@JsonPropertyOrder({
+ Extensible.JSON_PROPERTY_AT_SCHEMA_LOCATION,
+ Extensible.JSON_PROPERTY_AT_BASE_TYPE,
+ Extensible.JSON_PROPERTY_AT_TYPE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+public class Extensible {
+ public static final String JSON_PROPERTY_AT_SCHEMA_LOCATION = "@schemaLocation";
+ @javax.annotation.Nullable
+ private String atSchemaLocation;
+
+ public static final String JSON_PROPERTY_AT_BASE_TYPE = "@baseType";
+ @javax.annotation.Nullable
+ private String atBaseType;
+
+ public static final String JSON_PROPERTY_AT_TYPE = "@type";
+ @javax.annotation.Nonnull
+ private String atType;
+
+ public Extensible() {
+ }
+
+ public Extensible atSchemaLocation(@javax.annotation.Nullable String atSchemaLocation) {
+
+ this.atSchemaLocation = atSchemaLocation;
+ return this;
+ }
+
+ /**
+ * A URI to a JSON-Schema file that defines additional attributes and relationships
+ * @return atSchemaLocation
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_SCHEMA_LOCATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtSchemaLocation() {
+ return atSchemaLocation;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_SCHEMA_LOCATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtSchemaLocation(@javax.annotation.Nullable String atSchemaLocation) {
+ this.atSchemaLocation = atSchemaLocation;
+ }
+
+ public Extensible atBaseType(@javax.annotation.Nullable String atBaseType) {
+
+ this.atBaseType = atBaseType;
+ return this;
+ }
+
+ /**
+ * When sub-classing, this defines the super-class
+ * @return atBaseType
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_AT_BASE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAtBaseType() {
+ return atBaseType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_BASE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAtBaseType(@javax.annotation.Nullable String atBaseType) {
+ this.atBaseType = atBaseType;
+ }
+
+ public Extensible atType(@javax.annotation.Nonnull String atType) {
+
+ this.atType = atType;
+ return this;
+ }
+
+ /**
+ * When sub-classing, this defines the sub-class Extensible name
+ * @return atType
+ */
+ @javax.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public String getAtType() {
+ return atType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_AT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAtType(@javax.annotation.Nonnull String atType) {
+ this.atType = atType;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Extensible extensible = (Extensible) o;
+ return Objects.equals(this.atSchemaLocation, extensible.atSchemaLocation) &&
+ Objects.equals(this.atBaseType, extensible.atBaseType) &&
+ Objects.equals(this.atType, extensible.atType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(atSchemaLocation, atBaseType, atType);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Extensible {\n");
+ sb.append(" atSchemaLocation: ").append(toIndentedString(atSchemaLocation)).append("\n");
+ sb.append(" atBaseType: ").append(toIndentedString(atBaseType)).append("\n");
+ sb.append(" atType: ").append(toIndentedString(atType)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Foo.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Foo.java
new file mode 100644
index 000000000000..4632b8c55c8b
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Foo.java
@@ -0,0 +1,150 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Foo
+ */
+@JsonPropertyOrder({
+ Foo.JSON_PROPERTY_FOO_PROP_A,
+ Foo.JSON_PROPERTY_FOO_PROP_B
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public final class Foo extends Entity implements FooRefOrValue {
+ public static final String JSON_PROPERTY_FOO_PROP_A = "fooPropA";
+ @javax.annotation.Nullable
+ private String fooPropA;
+
+ public static final String JSON_PROPERTY_FOO_PROP_B = "fooPropB";
+ @javax.annotation.Nullable
+ private String fooPropB;
+
+ public Foo() {
+
+ }
+
+ public Foo fooPropA(@javax.annotation.Nullable String fooPropA) {
+
+ this.fooPropA = fooPropA;
+ return this;
+ }
+
+ /**
+ * Get fooPropA
+ * @return fooPropA
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getFooPropA() {
+ return fooPropA;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFooPropA(@javax.annotation.Nullable String fooPropA) {
+ this.fooPropA = fooPropA;
+ }
+
+ public Foo fooPropB(@javax.annotation.Nullable String fooPropB) {
+
+ this.fooPropB = fooPropB;
+ return this;
+ }
+
+ /**
+ * Get fooPropB
+ * @return fooPropB
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_B)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getFooPropB() {
+ return fooPropB;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOO_PROP_B)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFooPropB(@javax.annotation.Nullable String fooPropB) {
+ this.fooPropB = fooPropB;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Foo foo = (Foo) o;
+ return Objects.equals(this.fooPropA, foo.fooPropA) &&
+ Objects.equals(this.fooPropB, foo.fooPropB) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(fooPropA, fooPropB, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Foo {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" fooPropA: ").append(toIndentedString(fooPropA)).append("\n");
+ sb.append(" fooPropB: ").append(toIndentedString(fooPropB)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FooRef.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FooRef.java
new file mode 100644
index 000000000000..b612e2a74567
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FooRef.java
@@ -0,0 +1,118 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.EntityRef;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * FooRef
+ */
+@JsonPropertyOrder({
+ FooRef.JSON_PROPERTY_FOOREF_PROP_A
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public final class FooRef extends EntityRef implements FooRefOrValue {
+ public static final String JSON_PROPERTY_FOOREF_PROP_A = "foorefPropA";
+ @javax.annotation.Nullable
+ private String foorefPropA;
+
+ public FooRef() {
+
+ }
+
+ public FooRef foorefPropA(@javax.annotation.Nullable String foorefPropA) {
+
+ this.foorefPropA = foorefPropA;
+ return this;
+ }
+
+ /**
+ * Get foorefPropA
+ * @return foorefPropA
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FOOREF_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getFoorefPropA() {
+ return foorefPropA;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FOOREF_PROP_A)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFoorefPropA(@javax.annotation.Nullable String foorefPropA) {
+ this.foorefPropA = foorefPropA;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FooRef fooRef = (FooRef) o;
+ return Objects.equals(this.foorefPropA, fooRef.foorefPropA) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(foorefPropA, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FooRef {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" foorefPropA: ").append(toIndentedString(foorefPropA)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FooRefOrValue.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FooRefOrValue.java
new file mode 100644
index 000000000000..e57b4b9af93c
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FooRefOrValue.java
@@ -0,0 +1,45 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Foo;
+import org.openapitools.client.model.FooRef;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = Foo.class, name = "Foo"),
+ @JsonSubTypes.Type(value = FooRef.class, name = "FooRef"),
+})
+
+public sealed interface FooRefOrValue permits Foo, FooRef {
+ public String getAtType();
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Fruit.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Fruit.java
new file mode 100644
index 000000000000..3e7539fa9bee
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Fruit.java
@@ -0,0 +1,46 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Apple;
+import org.openapitools.client.model.Banana;
+import org.openapitools.client.model.FruitType;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "fruitType", // ignore manually set fruitType, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the fruitType to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "fruitType", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = Apple.class, name = "APPLE"),
+ @JsonSubTypes.Type(value = Banana.class, name = "BANANA"),
+})
+
+public sealed interface Fruit permits Apple, Banana {
+ public FruitType getFruitType();
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FruitType.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FruitType.java
new file mode 100644
index 000000000000..494d8c68ad3f
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/FruitType.java
@@ -0,0 +1,59 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Gets or Sets FruitType
+ */
+public enum FruitType {
+
+ APPLE("APPLE"),
+
+ BANANA("BANANA");
+
+ private String value;
+
+ FruitType(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static FruitType fromValue(String value) {
+ for (FruitType b : FruitType.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Pasta.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Pasta.java
new file mode 100644
index 000000000000..79df741540f9
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Pasta.java
@@ -0,0 +1,118 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Pasta
+ */
+@JsonPropertyOrder({
+ Pasta.JSON_PROPERTY_VENDOR
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public class Pasta extends Entity {
+ public static final String JSON_PROPERTY_VENDOR = "vendor";
+ @javax.annotation.Nullable
+ private String vendor;
+
+ public Pasta() {
+
+ }
+
+ public Pasta vendor(@javax.annotation.Nullable String vendor) {
+
+ this.vendor = vendor;
+ return this;
+ }
+
+ /**
+ * Get vendor
+ * @return vendor
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VENDOR)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getVendor() {
+ return vendor;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VENDOR)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setVendor(@javax.annotation.Nullable String vendor) {
+ this.vendor = vendor;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Pasta pasta = (Pasta) o;
+ return Objects.equals(this.vendor, pasta.vendor) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(vendor, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Pasta {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" vendor: ").append(toIndentedString(vendor)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Pizza.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Pizza.java
new file mode 100644
index 000000000000..6bd432b50677
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Pizza.java
@@ -0,0 +1,122 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.math.BigDecimal;
+import org.openapitools.client.model.Entity;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Pizza
+ */
+@JsonPropertyOrder({
+ Pizza.JSON_PROPERTY_PIZZA_SIZE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = PizzaSpeziale.class, name = "PizzaSpeziale"),
+})
+
+public class Pizza extends Entity {
+ public static final String JSON_PROPERTY_PIZZA_SIZE = "pizzaSize";
+ @javax.annotation.Nullable
+ protected BigDecimal pizzaSize;
+
+ public Pizza() {
+
+ }
+
+ public Pizza pizzaSize(@javax.annotation.Nullable BigDecimal pizzaSize) {
+
+ this.pizzaSize = pizzaSize;
+ return this;
+ }
+
+ /**
+ * Get pizzaSize
+ * @return pizzaSize
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PIZZA_SIZE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public BigDecimal getPizzaSize() {
+ return pizzaSize;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_PIZZA_SIZE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setPizzaSize(@javax.annotation.Nullable BigDecimal pizzaSize) {
+ this.pizzaSize = pizzaSize;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Pizza pizza = (Pizza) o;
+ return Objects.equals(this.pizzaSize, pizza.pizzaSize) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pizzaSize, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Pizza {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" pizzaSize: ").append(toIndentedString(pizzaSize)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/PizzaSpeziale.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/PizzaSpeziale.java
new file mode 100644
index 000000000000..b2255770f78d
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/PizzaSpeziale.java
@@ -0,0 +1,119 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.math.BigDecimal;
+import org.openapitools.client.model.Pizza;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * PizzaSpeziale
+ */
+@JsonPropertyOrder({
+ PizzaSpeziale.JSON_PROPERTY_TOPPINGS
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.15.0-SNAPSHOT")
+@JsonIgnoreProperties(
+ value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization
+ allowSetters = true // allows the @type to be set during deserialization
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
+
+public class PizzaSpeziale extends Pizza {
+ public static final String JSON_PROPERTY_TOPPINGS = "toppings";
+ @javax.annotation.Nullable
+ private String toppings;
+
+ public PizzaSpeziale() {
+
+ }
+
+ public PizzaSpeziale toppings(@javax.annotation.Nullable String toppings) {
+
+ this.toppings = toppings;
+ return this;
+ }
+
+ /**
+ * Get toppings
+ * @return toppings
+ */
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOPPINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getToppings() {
+ return toppings;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_TOPPINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setToppings(@javax.annotation.Nullable String toppings) {
+ this.toppings = toppings;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ PizzaSpeziale pizzaSpeziale = (PizzaSpeziale) o;
+ return Objects.equals(this.toppings, pizzaSpeziale.toppings) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(toppings, super.hashCode());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class PizzaSpeziale {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" toppings: ").append(toIndentedString(toppings)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/api/BarApiTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/api/BarApiTest.java
new file mode 100644
index 000000000000..5bb38a6cfab9
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/api/BarApiTest.java
@@ -0,0 +1,51 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.api;
+
+import org.openapitools.client.model.Bar;
+import org.openapitools.client.model.BarCreate;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * API tests for BarApi
+ */
+@Disabled
+public class BarApiTest {
+
+ private final BarApi api = new BarApi();
+
+
+ /**
+ * Create a Bar
+ *
+ *
+ */
+ @Test
+ public void createBarTest() {
+ // uncomment below to test the function
+ //BarCreate barCreate = null;
+ //Bar response = api.createBar(barCreate).block();
+
+ // TODO: test validations
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/api/FooApiTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/api/FooApiTest.java
new file mode 100644
index 000000000000..d91e4dff84cf
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/api/FooApiTest.java
@@ -0,0 +1,64 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.api;
+
+import org.openapitools.client.model.Foo;
+import org.openapitools.client.model.FooRefOrValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * API tests for FooApi
+ */
+@Disabled
+public class FooApiTest {
+
+ private final FooApi api = new FooApi();
+
+
+ /**
+ * Create a Foo
+ *
+ *
+ */
+ @Test
+ public void createFooTest() {
+ // uncomment below to test the function
+ //Foo foo = null;
+ //FooRefOrValue response = api.createFoo(foo).block();
+
+ // TODO: test validations
+ }
+
+ /**
+ * GET all Foos
+ *
+ *
+ */
+ @Test
+ public void getAllFoosTest() {
+ // uncomment below to test the function
+ //List response = api.getAllFoos().collectList().block();
+
+ // TODO: test validations
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AddressableTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AddressableTest.java
new file mode 100644
index 000000000000..b298f46e63ea
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AddressableTest.java
@@ -0,0 +1,55 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Addressable
+ */
+class AddressableTest {
+ private final Addressable model = new Addressable();
+
+ /**
+ * Model tests for Addressable
+ */
+ @Test
+ void testAddressable() {
+ // TODO: test Addressable
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AppleTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AppleTest.java
new file mode 100644
index 000000000000..ed97c849d726
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AppleTest.java
@@ -0,0 +1,50 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Apple
+ */
+class AppleTest {
+ private final Apple model = new Apple();
+
+ /**
+ * Model tests for Apple
+ */
+ @Test
+ void testApple() {
+ // TODO: test Apple
+ }
+
+ /**
+ * Test the property 'seeds'
+ */
+ @Test
+ void seedsTest() {
+ // TODO: test seeds
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BananaTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BananaTest.java
new file mode 100644
index 000000000000..ea6cfbe742c3
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BananaTest.java
@@ -0,0 +1,50 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Banana
+ */
+class BananaTest {
+ private final Banana model = new Banana();
+
+ /**
+ * Model tests for Banana
+ */
+ @Test
+ void testBanana() {
+ // TODO: test Banana
+ }
+
+ /**
+ * Test the property 'length'
+ */
+ @Test
+ void lengthTest() {
+ // TODO: test length
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarCreateTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarCreateTest.java
new file mode 100644
index 000000000000..98538ab051f0
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarCreateTest.java
@@ -0,0 +1,84 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import org.openapitools.client.model.FooRefOrValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for BarCreate
+ */
+class BarCreateTest {
+ private final BarCreate model = new BarCreate();
+
+ /**
+ * Model tests for BarCreate
+ */
+ @Test
+ void testBarCreate() {
+ // TODO: test BarCreate
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarRefOrValueTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarRefOrValueTest.java
new file mode 100644
index 000000000000..19fb3cdae646
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarRefOrValueTest.java
@@ -0,0 +1,35 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Bar;
+import org.openapitools.client.model.BarRef;
+import org.openapitools.client.model.FooRefOrValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for BarRefOrValue
+ */
+class BarRefOrValueTest {
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarRefTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarRefTest.java
new file mode 100644
index 000000000000..7c50ffb3cd13
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarRefTest.java
@@ -0,0 +1,99 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.EntityRef;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for BarRef
+ */
+class BarRefTest {
+ private final BarRef model = new BarRef();
+
+ /**
+ * Model tests for BarRef
+ */
+ @Test
+ void testBarRef() {
+ // TODO: test BarRef
+ }
+
+ /**
+ * Test the property 'name'
+ */
+ @Test
+ void nameTest() {
+ // TODO: test name
+ }
+
+ /**
+ * Test the property 'atReferredType'
+ */
+ @Test
+ void atReferredTypeTest() {
+ // TODO: test atReferredType
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarTest.java
new file mode 100644
index 000000000000..05557fca744e
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/BarTest.java
@@ -0,0 +1,84 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import org.openapitools.client.model.FooRefOrValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Bar
+ */
+class BarTest {
+ private final Bar model = new Bar();
+
+ /**
+ * Model tests for Bar
+ */
+ @Test
+ void testBar() {
+ // TODO: test Bar
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/EntityRefTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/EntityRefTest.java
new file mode 100644
index 000000000000..1054e173ab46
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/EntityRefTest.java
@@ -0,0 +1,82 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for EntityRef
+ */
+class EntityRefTest {
+ private final EntityRef model = new EntityRef();
+
+ /**
+ * Model tests for EntityRef
+ */
+ @Test
+ void testEntityRef() {
+ // TODO: test EntityRef
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/EntityTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/EntityTest.java
new file mode 100644
index 000000000000..8968b6539047
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/EntityTest.java
@@ -0,0 +1,82 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Entity
+ */
+class EntityTest {
+ private final Entity model = new Entity();
+
+ /**
+ * Model tests for Entity
+ */
+ @Test
+ void testEntity() {
+ // TODO: test Entity
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/ExtensibleTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/ExtensibleTest.java
new file mode 100644
index 000000000000..2d4da7dbf7a6
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/ExtensibleTest.java
@@ -0,0 +1,63 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Extensible
+ */
+class ExtensibleTest {
+ private final Extensible model = new Extensible();
+
+ /**
+ * Model tests for Extensible
+ */
+ @Test
+ void testExtensible() {
+ // TODO: test Extensible
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooRefOrValueTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooRefOrValueTest.java
new file mode 100644
index 000000000000..e2e3d98ab759
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooRefOrValueTest.java
@@ -0,0 +1,34 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Foo;
+import org.openapitools.client.model.FooRef;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for FooRefOrValue
+ */
+class FooRefOrValueTest {
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooRefTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooRefTest.java
new file mode 100644
index 000000000000..7582d6863899
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooRefTest.java
@@ -0,0 +1,99 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.EntityRef;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for FooRef
+ */
+class FooRefTest {
+ private final FooRef model = new FooRef();
+
+ /**
+ * Model tests for FooRef
+ */
+ @Test
+ void testFooRef() {
+ // TODO: test FooRef
+ }
+
+ /**
+ * Test the property 'name'
+ */
+ @Test
+ void nameTest() {
+ // TODO: test name
+ }
+
+ /**
+ * Test the property 'atReferredType'
+ */
+ @Test
+ void atReferredTypeTest() {
+ // TODO: test atReferredType
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooTest.java
new file mode 100644
index 000000000000..fcaea0f5cb51
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FooTest.java
@@ -0,0 +1,83 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Foo
+ */
+class FooTest {
+ private final Foo model = new Foo();
+
+ /**
+ * Model tests for Foo
+ */
+ @Test
+ void testFoo() {
+ // TODO: test Foo
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FruitTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FruitTest.java
new file mode 100644
index 000000000000..cc1adc4a88e5
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FruitTest.java
@@ -0,0 +1,35 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Apple;
+import org.openapitools.client.model.Banana;
+import org.openapitools.client.model.FruitType;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Fruit
+ */
+class FruitTest {
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FruitTypeTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FruitTypeTest.java
new file mode 100644
index 000000000000..63738bea136e
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/FruitTypeTest.java
@@ -0,0 +1,32 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for FruitType
+ */
+class FruitTypeTest {
+ /**
+ * Model tests for FruitType
+ */
+ @Test
+ void testFruitType() {
+ // TODO: test FruitType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PastaTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PastaTest.java
new file mode 100644
index 000000000000..4fa0eb0f5341
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PastaTest.java
@@ -0,0 +1,83 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openapitools.client.model.Entity;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Pasta
+ */
+class PastaTest {
+ private final Pasta model = new Pasta();
+
+ /**
+ * Model tests for Pasta
+ */
+ @Test
+ void testPasta() {
+ // TODO: test Pasta
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PizzaSpezialeTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PizzaSpezialeTest.java
new file mode 100644
index 000000000000..1d8fbb9ee871
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PizzaSpezialeTest.java
@@ -0,0 +1,92 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.math.BigDecimal;
+import org.openapitools.client.model.Pizza;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for PizzaSpeziale
+ */
+class PizzaSpezialeTest {
+ private final PizzaSpeziale model = new PizzaSpeziale();
+
+ /**
+ * Model tests for PizzaSpeziale
+ */
+ @Test
+ void testPizzaSpeziale() {
+ // TODO: test PizzaSpeziale
+ }
+
+ /**
+ * Test the property 'pizzaSize'
+ */
+ @Test
+ void pizzaSizeTest() {
+ // TODO: test pizzaSize
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}
diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PizzaTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PizzaTest.java
new file mode 100644
index 000000000000..586edcfce750
--- /dev/null
+++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/PizzaTest.java
@@ -0,0 +1,84 @@
+/*
+ * ByRefOrValue
+ * This tests for a oneOf interface representation
+ *
+ * The version of the OpenAPI document: 0.0.1
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package org.openapitools.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.math.BigDecimal;
+import org.openapitools.client.model.Entity;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Model tests for Pizza
+ */
+class PizzaTest {
+ private final Pizza model = new Pizza();
+
+ /**
+ * Model tests for Pizza
+ */
+ @Test
+ void testPizza() {
+ // TODO: test Pizza
+ }
+
+ /**
+ * Test the property 'href'
+ */
+ @Test
+ void hrefTest() {
+ // TODO: test href
+ }
+
+ /**
+ * Test the property 'id'
+ */
+ @Test
+ void idTest() {
+ // TODO: test id
+ }
+
+ /**
+ * Test the property 'atSchemaLocation'
+ */
+ @Test
+ void atSchemaLocationTest() {
+ // TODO: test atSchemaLocation
+ }
+
+ /**
+ * Test the property 'atBaseType'
+ */
+ @Test
+ void atBaseTypeTest() {
+ // TODO: test atBaseType
+ }
+
+ /**
+ * Test the property 'atType'
+ */
+ @Test
+ void atTypeTest() {
+ // TODO: test atType
+ }
+
+}