(this, dtf);
+ }
+
+ @Override
+ public T deserialize(JsonParser parser, DeserializationContext context) throws IOException {
+ //NOTE: Timestamps contain no timezone info, and are always in configured TZ. Only
+ //string values have to be adjusted to the configured TZ.
+ switch (parser.getCurrentTokenId()) {
+ case JsonTokenId.ID_NUMBER_FLOAT: {
+ BigDecimal value = parser.getDecimalValue();
+ long seconds = value.longValue();
+ int nanoseconds = DecimalUtils.extractNanosecondDecimal(value, seconds);
+ return fromNanoseconds.apply(new FromDecimalArguments(
+ seconds, nanoseconds, getZone(context)));
+ }
+
+ case JsonTokenId.ID_NUMBER_INT: {
+ long timestamp = parser.getLongValue();
+ if (context.isEnabled(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS)) {
+ return this.fromNanoseconds.apply(new FromDecimalArguments(
+ timestamp, 0, this.getZone(context)
+ ));
+ }
+ return this.fromMilliseconds.apply(new FromIntegerArguments(
+ timestamp, this.getZone(context)
+ ));
+ }
+
+ case JsonTokenId.ID_STRING: {
+ String string = parser.getText().trim();
+ if (string.length() == 0) {
+ return null;
+ }
+ if (string.endsWith("+0000")) {
+ string = string.substring(0, string.length() - 5) + "Z";
+ }
+ T value;
+ try {
+ TemporalAccessor acc = _formatter.parse(string);
+ value = parsedToValue.apply(acc);
+ if (context.isEnabled(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE)) {
+ return adjust.apply(value, this.getZone(context));
+ }
+ } catch (DateTimeException e) {
+ throw _peelDTE(e);
+ }
+ return value;
+ }
+ }
+ throw context.mappingException("Expected type float, integer, or string.");
+ }
+
+ private ZoneId getZone(DeserializationContext context) {
+ // Instants are always in UTC, so don't waste compute cycles
+ return (_valueClass == Instant.class) ? null : DateTimeUtils.timeZoneToZoneId(context.getTimeZone());
+ }
+
+ private static class FromIntegerArguments {
+ public final long value;
+ public final ZoneId zoneId;
+
+ private FromIntegerArguments(long value, ZoneId zoneId) {
+ this.value = value;
+ this.zoneId = zoneId;
+ }
+ }
+
+ private static class FromDecimalArguments {
+ public final long integer;
+ public final int fraction;
+ public final ZoneId zoneId;
+
+ private FromDecimalArguments(long integer, int fraction, ZoneId zoneId) {
+ this.integer = integer;
+ this.fraction = fraction;
+ this.zoneId = zoneId;
+ }
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/EncodingUtils.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/EncodingUtils.java
new file mode 100644
index 000000000000..1b061a1972f1
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/EncodingUtils.java
@@ -0,0 +1,86 @@
+package org.openapitools.client;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+* Utilities to support Swagger encoding formats in Feign.
+*/
+public final class EncodingUtils {
+
+ /**
+ * Private constructor. Do not construct this class.
+ */
+ private EncodingUtils() {}
+
+ /**
+ * Encodes a collection of query parameters according to the Swagger
+ * collection format.
+ *
+ * Of the various collection formats defined by Swagger ("csv", "tsv",
+ * etc), Feign only natively supports "multi". This utility generates the
+ * other format types so it will be properly processed by Feign.
+ *
+ * Note, as part of reformatting, it URL encodes the parameters as
+ * well.
+ * @param parameters The collection object to be formatted. This object will
+ * not be changed.
+ * @param collectionFormat The Swagger collection format (eg, "csv", "tsv",
+ * "pipes"). See the
+ *
+ * OpenAPI Spec for more details.
+ * @return An object that will be correctly formatted by Feign.
+ */
+ public static Object encodeCollection(Collection> parameters,
+ String collectionFormat) {
+ if (parameters == null) {
+ return parameters;
+ }
+ List stringValues = new ArrayList<>(parameters.size());
+ for (Object parameter : parameters) {
+ // ignore null values (same behavior as Feign)
+ if (parameter != null) {
+ stringValues.add(encode(parameter));
+ }
+ }
+ // Feign natively handles single-element lists and the "multi" format.
+ if (stringValues.size() < 2 || "multi".equals(collectionFormat)) {
+ return stringValues;
+ }
+ // Otherwise return a formatted String
+ String[] stringArray = stringValues.toArray(new String[0]);
+ switch (collectionFormat) {
+ case "csv":
+ default:
+ return StringUtil.join(stringArray, ",");
+ case "ssv":
+ return StringUtil.join(stringArray, " ");
+ case "tsv":
+ return StringUtil.join(stringArray, "\t");
+ case "pipes":
+ return StringUtil.join(stringArray, "|");
+ }
+ }
+
+ /**
+ * URL encode a single query parameter.
+ * @param parameter The query parameter to encode. This object will not be
+ * changed.
+ * @return The URL encoded string representation of the parameter. If the
+ * parameter is null, returns null.
+ */
+ public static String encode(Object parameter) {
+ if (parameter == null) {
+ return null;
+ }
+ try {
+ return URLEncoder.encode(parameter.toString(), "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ // Should never happen, UTF-8 is always supported
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/ParamExpander.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/ParamExpander.java
new file mode 100644
index 000000000000..2331d87fdbd7
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/ParamExpander.java
@@ -0,0 +1,22 @@
+package org.openapitools.client;
+
+import feign.Param;
+
+import java.text.DateFormat;
+import java.util.Date;
+
+/**
+ * Param Expander to convert {@link Date} to RFC3339
+ */
+public class ParamExpander implements Param.Expander {
+
+ private static final DateFormat dateformat = new RFC3339DateFormat();
+
+ @Override
+ public String expand(Object value) {
+ if (value instanceof Date) {
+ return dateformat.format(value);
+ }
+ return value.toString();
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/RFC3339DateFormat.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/RFC3339DateFormat.java
new file mode 100644
index 000000000000..4ed672bced96
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/RFC3339DateFormat.java
@@ -0,0 +1,32 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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;
+
+import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
+import com.fasterxml.jackson.databind.util.ISO8601Utils;
+
+import java.text.FieldPosition;
+import java.util.Date;
+
+
+public class RFC3339DateFormat extends ISO8601DateFormat {
+
+ // Same as ISO8601DateFormat but serializing milliseconds.
+ @Override
+ public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
+ String value = ISO8601Utils.format(date, true);
+ toAppendTo.append(value);
+ return toAppendTo;
+ }
+
+}
\ No newline at end of file
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/StringUtil.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/StringUtil.java
new file mode 100644
index 000000000000..c51b3bcf661a
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/StringUtil.java
@@ -0,0 +1,61 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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;
+
+
+public class StringUtil {
+ /**
+ * Check if the given array contains the given value (with case-insensitive comparison).
+ *
+ * @param array The array
+ * @param value The value to search
+ * @return true if the array contains the value
+ */
+ public static boolean containsIgnoreCase(String[] array, String value) {
+ for (String str : array) {
+ if (value == null && str == null) {
+ return true;
+ }
+ if (value != null && value.equalsIgnoreCase(str)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Join an array of strings with the given separator.
+ *
+ * Note: This might be replaced by utility method from commons-lang or guava someday
+ * if one of those libraries is added as dependency.
+ *
+ *
+ * @param array The array of strings
+ * @param separator The separator
+ * @return the resulting string
+ */
+ public static String join(String[] array, String separator) {
+ int len = array.length;
+ if (len == 0) {
+ return "";
+ }
+
+ StringBuilder out = new StringBuilder();
+ out.append(array[0]);
+ for (int i = 1; i < len; i++) {
+ out.append(separator).append(array[i]);
+ }
+ return out.toString();
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/AnotherFakeApi.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/AnotherFakeApi.java
new file mode 100644
index 000000000000..f41fb1dec4f4
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/AnotherFakeApi.java
@@ -0,0 +1,30 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.EncodingUtils;
+
+import org.openapitools.client.model.Client;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import feign.*;
+
+
+public interface AnotherFakeApi extends ApiClient.Api {
+
+
+ /**
+ * To test special tags
+ * To test special tags and operation ID starting with number
+ * @param client client model (required)
+ * @return Client
+ */
+ @RequestLine("PATCH /another-fake/dummy")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ Client call123testSpecialTags(Client client);
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/FakeApi.java
new file mode 100644
index 000000000000..4f644cb493cd
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/FakeApi.java
@@ -0,0 +1,273 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.EncodingUtils;
+
+import java.math.BigDecimal;
+import org.openapitools.client.model.Client;
+import java.io.File;
+import org.openapitools.client.model.FileSchemaTestClass;
+import org.threeten.bp.LocalDate;
+import org.threeten.bp.OffsetDateTime;
+import org.openapitools.client.model.OuterComposite;
+import org.openapitools.client.model.User;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import feign.*;
+
+
+public interface FakeApi extends ApiClient.Api {
+
+
+ /**
+ *
+ * Test serialization of outer boolean types
+ * @param body Input boolean as post body (optional)
+ * @return Boolean
+ */
+ @RequestLine("POST /fake/outer/boolean")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: */*",
+ })
+ Boolean fakeOuterBooleanSerialize(Boolean body);
+
+ /**
+ *
+ * Test serialization of object with outer number type
+ * @param outerComposite Input composite as post body (optional)
+ * @return OuterComposite
+ */
+ @RequestLine("POST /fake/outer/composite")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: */*",
+ })
+ OuterComposite fakeOuterCompositeSerialize(OuterComposite outerComposite);
+
+ /**
+ *
+ * Test serialization of outer number types
+ * @param body Input number as post body (optional)
+ * @return BigDecimal
+ */
+ @RequestLine("POST /fake/outer/number")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: */*",
+ })
+ BigDecimal fakeOuterNumberSerialize(BigDecimal body);
+
+ /**
+ *
+ * Test serialization of outer string types
+ * @param body Input string as post body (optional)
+ * @return String
+ */
+ @RequestLine("POST /fake/outer/string")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: */*",
+ })
+ String fakeOuterStringSerialize(String body);
+
+ /**
+ *
+ * For this test, the body for this request much reference a schema named `File`.
+ * @param fileSchemaTestClass (required)
+ */
+ @RequestLine("PUT /fake/body-with-file-schema")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ void testBodyWithFileSchema(FileSchemaTestClass fileSchemaTestClass);
+
+ /**
+ *
+ *
+ * @param query (required)
+ * @param user (required)
+ */
+ @RequestLine("PUT /fake/body-with-query-params?query={query}")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ void testBodyWithQueryParams(@Param("query") String query, User user);
+
+ /**
+ *
+ *
+ * Note, this is equivalent to the other testBodyWithQueryParams method,
+ * but with the query parameters collected into a single Map parameter. This
+ * is convenient for services with optional query parameters, especially when
+ * used with the {@link TestBodyWithQueryParamsQueryParams} class that allows for
+ * building up this map in a fluent style.
+ * @param user (required)
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - query - (required)
+ *
+ */
+ @RequestLine("PUT /fake/body-with-query-params?query={query}")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ void testBodyWithQueryParams(User user, @QueryMap(encoded=true) Map queryParams);
+
+ /**
+ * A convenience class for generating query parameters for the
+ * testBodyWithQueryParams method in a fluent style.
+ */
+ public static class TestBodyWithQueryParamsQueryParams extends HashMap {
+ public TestBodyWithQueryParamsQueryParams query(final String value) {
+ put("query", EncodingUtils.encode(value));
+ return this;
+ }
+ }
+
+ /**
+ * To test \"client\" model
+ * To test \"client\" model
+ * @param client client model (required)
+ * @return Client
+ */
+ @RequestLine("PATCH /fake")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ Client testClientModel(Client client);
+
+ /**
+ * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ * @param number None (required)
+ * @param _double None (required)
+ * @param patternWithoutDelimiter None (required)
+ * @param _byte None (required)
+ * @param integer None (optional, default to null)
+ * @param int32 None (optional, default to null)
+ * @param int64 None (optional, default to null)
+ * @param _float None (optional, default to null)
+ * @param string None (optional, default to null)
+ * @param binary None (optional, default to null)
+ * @param date None (optional, default to null)
+ * @param dateTime None (optional, default to null)
+ * @param password None (optional, default to null)
+ * @param paramCallback None (optional, default to null)
+ */
+ @RequestLine("POST /fake")
+ @Headers({
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json",
+ })
+ void testEndpointParameters(@Param("number") BigDecimal number, @Param("_double") Double _double, @Param("patternWithoutDelimiter") String patternWithoutDelimiter, @Param("_byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("_float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("paramCallback") String paramCallback);
+
+ /**
+ * To test enum parameters
+ * To test enum parameters
+ * @param enumHeaderStringArray Header parameter enum test (string array) (optional)
+ * @param enumHeaderString Header parameter enum test (string) (optional, default to -efg)
+ * @param enumQueryStringArray Query parameter enum test (string array) (optional)
+ * @param enumQueryString Query parameter enum test (string) (optional, default to -efg)
+ * @param enumQueryInteger Query parameter enum test (double) (optional)
+ * @param enumQueryDouble Query parameter enum test (double) (optional)
+ * @param enumFormStringArray Form parameter enum test (string array) (optional, default to $)
+ * @param enumFormString Form parameter enum test (string) (optional, default to -efg)
+ */
+ @RequestLine("GET /fake?enum_query_string_array={enumQueryStringArray}&enum_query_string={enumQueryString}&enum_query_integer={enumQueryInteger}&enum_query_double={enumQueryDouble}")
+ @Headers({
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json",
+ "enum_header_string_array: {enumHeaderStringArray}",
+
+ "enum_header_string: {enumHeaderString}"
+ })
+ void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString);
+
+ /**
+ * To test enum parameters
+ * To test enum parameters
+ * Note, this is equivalent to the other testEnumParameters method,
+ * but with the query parameters collected into a single Map parameter. This
+ * is convenient for services with optional query parameters, especially when
+ * used with the {@link TestEnumParametersQueryParams} class that allows for
+ * building up this map in a fluent style.
+ * @param enumHeaderStringArray Header parameter enum test (string array) (optional)
+ * @param enumHeaderString Header parameter enum test (string) (optional, default to -efg)
+ * @param enumFormStringArray Form parameter enum test (string array) (optional, default to $)
+ * @param enumFormString Form parameter enum test (string) (optional, default to -efg)
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - enumQueryStringArray - Query parameter enum test (string array) (optional)
+ * - enumQueryString - Query parameter enum test (string) (optional, default to -efg)
+ * - enumQueryInteger - Query parameter enum test (double) (optional)
+ * - enumQueryDouble - Query parameter enum test (double) (optional)
+ *
+ */
+ @RequestLine("GET /fake?enum_query_string_array={enumQueryStringArray}&enum_query_string={enumQueryString}&enum_query_integer={enumQueryInteger}&enum_query_double={enumQueryDouble}")
+ @Headers({
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json",
+ "enum_header_string_array: {enumHeaderStringArray}",
+
+ "enum_header_string: {enumHeaderString}"
+ })
+ void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString, @QueryMap(encoded=true) Map queryParams);
+
+ /**
+ * A convenience class for generating query parameters for the
+ * testEnumParameters method in a fluent style.
+ */
+ public static class TestEnumParametersQueryParams extends HashMap {
+ public TestEnumParametersQueryParams enumQueryStringArray(final List value) {
+ put("enum_query_string_array", EncodingUtils.encodeCollection(value, "csv"));
+ return this;
+ }
+ public TestEnumParametersQueryParams enumQueryString(final String value) {
+ put("enum_query_string", EncodingUtils.encode(value));
+ return this;
+ }
+ public TestEnumParametersQueryParams enumQueryInteger(final Integer value) {
+ put("enum_query_integer", EncodingUtils.encode(value));
+ return this;
+ }
+ public TestEnumParametersQueryParams enumQueryDouble(final Double value) {
+ put("enum_query_double", EncodingUtils.encode(value));
+ return this;
+ }
+ }
+
+ /**
+ * test inline additionalProperties
+ *
+ * @param requestBody request body (required)
+ */
+ @RequestLine("POST /fake/inline-additionalProperties")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ void testInlineAdditionalProperties(Map requestBody);
+
+ /**
+ * test json serialization of form data
+ *
+ * @param param field1 (required)
+ * @param param2 field2 (required)
+ */
+ @RequestLine("GET /fake/jsonFormData")
+ @Headers({
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json",
+ })
+ void testJsonFormData(@Param("param") String param, @Param("param2") String param2);
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java
new file mode 100644
index 000000000000..5819866038b1
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java
@@ -0,0 +1,30 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.EncodingUtils;
+
+import org.openapitools.client.model.Client;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import feign.*;
+
+
+public interface FakeClassnameTags123Api extends ApiClient.Api {
+
+
+ /**
+ * To test class name in snake case
+ * To test class name in snake case
+ * @param client client model (required)
+ * @return Client
+ */
+ @RequestLine("PATCH /fake_classname_test")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ Client testClassname(Client client);
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/PetApi.java
new file mode 100644
index 000000000000..e7c2ded72fbb
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/PetApi.java
@@ -0,0 +1,200 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.EncodingUtils;
+
+import java.io.File;
+import org.openapitools.client.model.ModelApiResponse;
+import org.openapitools.client.model.Pet;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import feign.*;
+
+
+public interface PetApi extends ApiClient.Api {
+
+
+ /**
+ * Add a new pet to the store
+ *
+ * @param pet Pet object that needs to be added to the store (required)
+ */
+ @RequestLine("POST /pet")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ void addPet(Pet pet);
+
+ /**
+ * Deletes a pet
+ *
+ * @param petId Pet id to delete (required)
+ * @param apiKey (optional)
+ */
+ @RequestLine("DELETE /pet/{petId}")
+ @Headers({
+ "Accept: application/json",
+ "api_key: {apiKey}"
+ })
+ void deletePet(@Param("petId") Long petId, @Param("apiKey") String apiKey);
+
+ /**
+ * Finds Pets by status
+ * Multiple status values can be provided with comma separated strings
+ * @param status Status values that need to be considered for filter (required)
+ * @return List<Pet>
+ */
+ @RequestLine("GET /pet/findByStatus?status={status}")
+ @Headers({
+ "Accept: application/json",
+ })
+ List findPetsByStatus(@Param("status") List status);
+
+ /**
+ * Finds Pets by status
+ * Multiple status values can be provided with comma separated strings
+ * Note, this is equivalent to the other findPetsByStatus method,
+ * but with the query parameters collected into a single Map parameter. This
+ * is convenient for services with optional query parameters, especially when
+ * used with the {@link FindPetsByStatusQueryParams} class that allows for
+ * building up this map in a fluent style.
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - status - Status values that need to be considered for filter (required)
+ *
+ * @return List<Pet>
+ */
+ @RequestLine("GET /pet/findByStatus?status={status}")
+ @Headers({
+ "Accept: application/json",
+ })
+ List findPetsByStatus(@QueryMap(encoded=true) Map queryParams);
+
+ /**
+ * A convenience class for generating query parameters for the
+ * findPetsByStatus method in a fluent style.
+ */
+ public static class FindPetsByStatusQueryParams extends HashMap {
+ public FindPetsByStatusQueryParams status(final List value) {
+ put("status", EncodingUtils.encodeCollection(value, "csv"));
+ return this;
+ }
+ }
+
+ /**
+ * Finds Pets by tags
+ * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+ * @param tags Tags to filter by (required)
+ * @return List<Pet>
+ */
+ @RequestLine("GET /pet/findByTags?tags={tags}")
+ @Headers({
+ "Accept: application/json",
+ })
+ List findPetsByTags(@Param("tags") List tags);
+
+ /**
+ * Finds Pets by tags
+ * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+ * Note, this is equivalent to the other findPetsByTags method,
+ * but with the query parameters collected into a single Map parameter. This
+ * is convenient for services with optional query parameters, especially when
+ * used with the {@link FindPetsByTagsQueryParams} class that allows for
+ * building up this map in a fluent style.
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - tags - Tags to filter by (required)
+ *
+ * @return List<Pet>
+ */
+ @RequestLine("GET /pet/findByTags?tags={tags}")
+ @Headers({
+ "Accept: application/json",
+ })
+ List findPetsByTags(@QueryMap(encoded=true) Map queryParams);
+
+ /**
+ * A convenience class for generating query parameters for the
+ * findPetsByTags method in a fluent style.
+ */
+ public static class FindPetsByTagsQueryParams extends HashMap {
+ public FindPetsByTagsQueryParams tags(final List value) {
+ put("tags", EncodingUtils.encodeCollection(value, "csv"));
+ return this;
+ }
+ }
+
+ /**
+ * Find pet by ID
+ * Returns a single pet
+ * @param petId ID of pet to return (required)
+ * @return Pet
+ */
+ @RequestLine("GET /pet/{petId}")
+ @Headers({
+ "Accept: application/json",
+ })
+ Pet getPetById(@Param("petId") Long petId);
+
+ /**
+ * Update an existing pet
+ *
+ * @param pet Pet object that needs to be added to the store (required)
+ */
+ @RequestLine("PUT /pet")
+ @Headers({
+ "Content-Type: application/json",
+ "Accept: application/json",
+ })
+ void updatePet(Pet pet);
+
+ /**
+ * Updates a pet in the store with form data
+ *
+ * @param petId ID of pet that needs to be updated (required)
+ * @param name Updated name of the pet (optional, default to null)
+ * @param status Updated status of the pet (optional, default to null)
+ */
+ @RequestLine("POST /pet/{petId}")
+ @Headers({
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json",
+ })
+ void updatePetWithForm(@Param("petId") Long petId, @Param("name") String name, @Param("status") String status);
+
+ /**
+ * uploads an image
+ *
+ * @param petId ID of pet to update (required)
+ * @param additionalMetadata Additional data to pass to server (optional, default to null)
+ * @param file file to upload (optional, default to null)
+ * @return ModelApiResponse
+ */
+ @RequestLine("POST /pet/{petId}/uploadImage")
+ @Headers({
+ "Content-Type: multipart/form-data",
+ "Accept: application/json",
+ })
+ ModelApiResponse uploadFile(@Param("petId") Long petId, @Param("additionalMetadata") String additionalMetadata, @Param("file") File file);
+
+ /**
+ * uploads an image (required)
+ *
+ * @param petId ID of pet to update (required)
+ * @param requiredFile file to upload (required)
+ * @param additionalMetadata Additional data to pass to server (optional, default to null)
+ * @return ModelApiResponse
+ */
+ @RequestLine("POST /fake/{petId}/uploadImageWithRequiredFile")
+ @Headers({
+ "Content-Type: multipart/form-data",
+ "Accept: application/json",
+ })
+ ModelApiResponse uploadFileWithRequiredFile(@Param("petId") Long petId, @Param("requiredFile") File requiredFile, @Param("additionalMetadata") String additionalMetadata);
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/StoreApi.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/StoreApi.java
new file mode 100644
index 000000000000..164df7fcc30e
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/StoreApi.java
@@ -0,0 +1,64 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.EncodingUtils;
+
+import org.openapitools.client.model.Order;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import feign.*;
+
+
+public interface StoreApi extends ApiClient.Api {
+
+
+ /**
+ * Delete purchase order by ID
+ * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
+ * @param orderId ID of the order that needs to be deleted (required)
+ */
+ @RequestLine("DELETE /store/order/{orderId}")
+ @Headers({
+ "Accept: application/json",
+ })
+ void deleteOrder(@Param("orderId") String orderId);
+
+ /**
+ * Returns pet inventories by status
+ * Returns a map of status codes to quantities
+ * @return Map<String, Integer>
+ */
+ @RequestLine("GET /store/inventory")
+ @Headers({
+ "Accept: application/json",
+ })
+ Map getInventory();
+
+ /**
+ * Find purchase order by ID
+ * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
+ * @param orderId ID of pet that needs to be fetched (required)
+ * @return Order
+ */
+ @RequestLine("GET /store/order/{orderId}")
+ @Headers({
+ "Accept: application/json",
+ })
+ Order getOrderById(@Param("orderId") Long orderId);
+
+ /**
+ * Place an order for a pet
+ *
+ * @param order order placed for purchasing the pet (required)
+ * @return Order
+ */
+ @RequestLine("POST /store/order")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: application/json",
+ })
+ Order placeOrder(Order order);
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/UserApi.java
new file mode 100644
index 000000000000..cb4a80decb66
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/api/UserApi.java
@@ -0,0 +1,149 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.EncodingUtils;
+
+import org.openapitools.client.model.User;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import feign.*;
+
+
+public interface UserApi extends ApiClient.Api {
+
+
+ /**
+ * Create user
+ * This can only be done by the logged in user.
+ * @param user Created user object (required)
+ */
+ @RequestLine("POST /user")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: application/json",
+ })
+ void createUser(User user);
+
+ /**
+ * Creates list of users with given input array
+ *
+ * @param user List of user object (required)
+ */
+ @RequestLine("POST /user/createWithArray")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: application/json",
+ })
+ void createUsersWithArrayInput(List user);
+
+ /**
+ * Creates list of users with given input array
+ *
+ * @param user List of user object (required)
+ */
+ @RequestLine("POST /user/createWithList")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: application/json",
+ })
+ void createUsersWithListInput(List user);
+
+ /**
+ * Delete user
+ * This can only be done by the logged in user.
+ * @param username The name that needs to be deleted (required)
+ */
+ @RequestLine("DELETE /user/{username}")
+ @Headers({
+ "Accept: application/json",
+ })
+ void deleteUser(@Param("username") String username);
+
+ /**
+ * Get user by user name
+ *
+ * @param username The name that needs to be fetched. Use user1 for testing. (required)
+ * @return User
+ */
+ @RequestLine("GET /user/{username}")
+ @Headers({
+ "Accept: application/json",
+ })
+ User getUserByName(@Param("username") String username);
+
+ /**
+ * Logs user into the system
+ *
+ * @param username The user name for login (required)
+ * @param password The password for login in clear text (required)
+ * @return String
+ */
+ @RequestLine("GET /user/login?username={username}&password={password}")
+ @Headers({
+ "Accept: application/json",
+ })
+ String loginUser(@Param("username") String username, @Param("password") String password);
+
+ /**
+ * Logs user into the system
+ *
+ * Note, this is equivalent to the other loginUser method,
+ * but with the query parameters collected into a single Map parameter. This
+ * is convenient for services with optional query parameters, especially when
+ * used with the {@link LoginUserQueryParams} class that allows for
+ * building up this map in a fluent style.
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - username - The user name for login (required)
+ * - password - The password for login in clear text (required)
+ *
+ * @return String
+ */
+ @RequestLine("GET /user/login?username={username}&password={password}")
+ @Headers({
+ "Accept: application/json",
+ })
+ String loginUser(@QueryMap(encoded=true) Map queryParams);
+
+ /**
+ * A convenience class for generating query parameters for the
+ * loginUser method in a fluent style.
+ */
+ public static class LoginUserQueryParams extends HashMap {
+ public LoginUserQueryParams username(final String value) {
+ put("username", EncodingUtils.encode(value));
+ return this;
+ }
+ public LoginUserQueryParams password(final String value) {
+ put("password", EncodingUtils.encode(value));
+ return this;
+ }
+ }
+
+ /**
+ * Logs out current logged in user session
+ *
+ */
+ @RequestLine("GET /user/logout")
+ @Headers({
+ "Accept: application/json",
+ })
+ void logoutUser();
+
+ /**
+ * Updated user
+ * This can only be done by the logged in user.
+ * @param username name that need to be deleted (required)
+ * @param user Updated user object (required)
+ */
+ @RequestLine("PUT /user/{username}")
+ @Headers({
+ "Content-Type: */*",
+ "Accept: application/json",
+ })
+ void updateUser(@Param("username") String username, User user);
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java
new file mode 100644
index 000000000000..1ff60b8b7a4c
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java
@@ -0,0 +1,41 @@
+package org.openapitools.client.auth;
+
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+
+public class ApiKeyAuth implements RequestInterceptor {
+ private final String location;
+ private final String paramName;
+
+ private String apiKey;
+
+ 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;
+ }
+
+ @Override
+ public void apply(RequestTemplate template) {
+ if ("query".equals(location)) {
+ template.query(paramName, apiKey);
+ } else if ("header".equals(location)) {
+ template.header(paramName, apiKey);
+ }
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java
new file mode 100644
index 000000000000..b275826472ac
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java
@@ -0,0 +1,41 @@
+package org.openapitools.client.auth;
+
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import feign.auth.BasicAuthRequestInterceptor;
+
+/**
+ * An interceptor that adds the request header needed to use HTTP basic authentication.
+ */
+public class HttpBasicAuth implements RequestInterceptor {
+
+ 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;
+ }
+
+ public void setCredentials(String username, String password) {
+ this.username = username;
+ this.password = password;
+ }
+
+ @Override
+ public void apply(RequestTemplate template) {
+ RequestInterceptor requestInterceptor = new BasicAuthRequestInterceptor(username, password);
+ requestInterceptor.apply(template);
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java
new file mode 100644
index 000000000000..75c86a7d61b4
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java
@@ -0,0 +1,198 @@
+package org.openapitools.client.auth;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.oltu.oauth2.client.HttpClient;
+import org.apache.oltu.oauth2.client.OAuthClient;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder;
+import org.apache.oltu.oauth2.client.response.OAuthClientResponse;
+import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory;
+import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse;
+import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
+import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+import org.apache.oltu.oauth2.common.message.types.GrantType;
+import org.apache.oltu.oauth2.common.token.BasicOAuthToken;
+
+import feign.Client;
+import feign.Request.HttpMethod;
+import feign.Request.Options;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import feign.Response;
+import feign.RetryableException;
+import feign.Util;
+import org.openapitools.client.StringUtil;
+
+
+public class OAuth implements RequestInterceptor {
+
+ static final int MILLIS_PER_SECOND = 1000;
+
+ public interface AccessTokenListener {
+ void notify(BasicOAuthToken token);
+ }
+
+ private volatile String accessToken;
+ private Long expirationTimeMillis;
+ private OAuthClient oauthClient;
+ private TokenRequestBuilder tokenRequestBuilder;
+ private AuthenticationRequestBuilder authenticationRequestBuilder;
+ private AccessTokenListener accessTokenListener;
+
+ public OAuth(Client client, TokenRequestBuilder requestBuilder) {
+ this.oauthClient = new OAuthClient(new OAuthFeignClient(client));
+ this.tokenRequestBuilder = requestBuilder;
+ }
+
+ public OAuth(Client client, OAuthFlow flow, String authorizationUrl, String tokenUrl, String scopes) {
+ this(client, OAuthClientRequest.tokenLocation(tokenUrl).setScope(scopes));
+
+ switch(flow) {
+ case accessCode:
+ case implicit:
+ tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE);
+ break;
+ case password:
+ tokenRequestBuilder.setGrantType(GrantType.PASSWORD);
+ break;
+ case application:
+ tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS);
+ break;
+ default:
+ break;
+ }
+ authenticationRequestBuilder = OAuthClientRequest.authorizationLocation(authorizationUrl);
+ }
+
+ public OAuth(OAuthFlow flow, String authorizationUrl, String tokenUrl, String scopes) {
+ this(new Client.Default(null, null), flow, authorizationUrl, tokenUrl, scopes);
+ }
+
+ @Override
+ public void apply(RequestTemplate template) {
+ // If the request already have an authorization (eg. Basic auth), do nothing
+ if (template.headers().containsKey("Authorization")) {
+ return;
+ }
+ // If first time, get the token
+ if (expirationTimeMillis == null || System.currentTimeMillis() >= expirationTimeMillis) {
+ updateAccessToken();
+ }
+ if (getAccessToken() != null) {
+ template.header("Authorization", "Bearer " + getAccessToken());
+ }
+ }
+
+ public synchronized void updateAccessToken() {
+ OAuthJSONAccessTokenResponse accessTokenResponse;
+ try {
+ accessTokenResponse = oauthClient.accessToken(tokenRequestBuilder.buildBodyMessage());
+ } catch (Exception e) {
+ throw new RetryableException(e.getMessage(), HttpMethod.POST, e, null);
+ }
+ if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) {
+ setAccessToken(accessTokenResponse.getAccessToken(), accessTokenResponse.getExpiresIn());
+ if (accessTokenListener != null) {
+ accessTokenListener.notify((BasicOAuthToken) accessTokenResponse.getOAuthToken());
+ }
+ }
+ }
+
+ public synchronized void registerAccessTokenListener(AccessTokenListener accessTokenListener) {
+ this.accessTokenListener = accessTokenListener;
+ }
+
+ public synchronized String getAccessToken() {
+ return accessToken;
+ }
+
+ public synchronized void setAccessToken(String accessToken, Long expiresIn) {
+ this.accessToken = accessToken;
+ this.expirationTimeMillis = System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
+ }
+
+ public TokenRequestBuilder getTokenRequestBuilder() {
+ return tokenRequestBuilder;
+ }
+
+ public void setTokenRequestBuilder(TokenRequestBuilder tokenRequestBuilder) {
+ this.tokenRequestBuilder = tokenRequestBuilder;
+ }
+
+ public AuthenticationRequestBuilder getAuthenticationRequestBuilder() {
+ return authenticationRequestBuilder;
+ }
+
+ public void setAuthenticationRequestBuilder(AuthenticationRequestBuilder authenticationRequestBuilder) {
+ this.authenticationRequestBuilder = authenticationRequestBuilder;
+ }
+
+ public OAuthClient getOauthClient() {
+ return oauthClient;
+ }
+
+ public void setOauthClient(OAuthClient oauthClient) {
+ this.oauthClient = oauthClient;
+ }
+
+ public void setOauthClient(Client client) {
+ this.oauthClient = new OAuthClient( new OAuthFeignClient(client));
+ }
+
+ public static class OAuthFeignClient implements HttpClient {
+
+ private Client client;
+
+ public OAuthFeignClient() {
+ this.client = new Client.Default(null, null);
+ }
+
+ public OAuthFeignClient(Client client) {
+ this.client = client;
+ }
+
+ public T execute(OAuthClientRequest request, Map headers,
+ String requestMethod, Class responseClass)
+ throws OAuthSystemException, OAuthProblemException {
+
+ RequestTemplate req = new RequestTemplate()
+ .append(request.getLocationUri())
+ .method(requestMethod)
+ .body(request.getBody());
+
+ for (Entry entry : headers.entrySet()) {
+ req.header(entry.getKey(), entry.getValue());
+ }
+ Response feignResponse;
+ String body = "";
+ try {
+ feignResponse = client.execute(req.request(), new Options());
+ body = Util.toString(feignResponse.body().asReader());
+ } catch (IOException e) {
+ throw new OAuthSystemException(e);
+ }
+
+ String contentType = null;
+ Collection contentTypeHeader = feignResponse.headers().get("Content-Type");
+ if(contentTypeHeader != null) {
+ contentType = StringUtil.join(contentTypeHeader.toArray(new String[0]), ";");
+ }
+
+ return OAuthClientResponseFactory.createCustomResponse(
+ body,
+ contentType,
+ feignResponse.status(),
+ responseClass
+ );
+ }
+
+ public void shutdown() {
+ // Nothing to do here
+ }
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuthFlow.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuthFlow.java
new file mode 100644
index 000000000000..9bf8f9605c79
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuthFlow.java
@@ -0,0 +1,18 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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;
+
+public enum OAuthFlow {
+ accessCode, implicit, password, application
+}
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java
new file mode 100644
index 000000000000..e1ada4c7d420
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java
@@ -0,0 +1,133 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AdditionalPropertiesClass
+ */
+
+public class AdditionalPropertiesClass {
+ @JsonProperty("map_property")
+ private Map mapProperty = null;
+
+ @JsonProperty("map_of_map_property")
+ private Map> mapOfMapProperty = null;
+
+ public AdditionalPropertiesClass mapProperty(Map mapProperty) {
+ this.mapProperty = mapProperty;
+ return this;
+ }
+
+ public AdditionalPropertiesClass putMapPropertyItem(String key, String mapPropertyItem) {
+ if (this.mapProperty == null) {
+ this.mapProperty = new HashMap();
+ }
+ this.mapProperty.put(key, mapPropertyItem);
+ return this;
+ }
+
+ /**
+ * Get mapProperty
+ * @return mapProperty
+ **/
+ @ApiModelProperty(value = "")
+ public Map getMapProperty() {
+ return mapProperty;
+ }
+
+ public void setMapProperty(Map mapProperty) {
+ this.mapProperty = mapProperty;
+ }
+
+ public AdditionalPropertiesClass mapOfMapProperty(Map> mapOfMapProperty) {
+ this.mapOfMapProperty = mapOfMapProperty;
+ return this;
+ }
+
+ public AdditionalPropertiesClass putMapOfMapPropertyItem(String key, Map mapOfMapPropertyItem) {
+ if (this.mapOfMapProperty == null) {
+ this.mapOfMapProperty = new HashMap>();
+ }
+ this.mapOfMapProperty.put(key, mapOfMapPropertyItem);
+ return this;
+ }
+
+ /**
+ * Get mapOfMapProperty
+ * @return mapOfMapProperty
+ **/
+ @ApiModelProperty(value = "")
+ public Map> getMapOfMapProperty() {
+ return mapOfMapProperty;
+ }
+
+ public void setMapOfMapProperty(Map> mapOfMapProperty) {
+ this.mapOfMapProperty = mapOfMapProperty;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AdditionalPropertiesClass additionalPropertiesClass = (AdditionalPropertiesClass) o;
+ return Objects.equals(this.mapProperty, additionalPropertiesClass.mapProperty) &&
+ Objects.equals(this.mapOfMapProperty, additionalPropertiesClass.mapOfMapProperty);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mapProperty, mapOfMapProperty);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AdditionalPropertiesClass {\n");
+
+ sb.append(" mapProperty: ").append(toIndentedString(mapProperty)).append("\n");
+ sb.append(" mapOfMapProperty: ").append(toIndentedString(mapOfMapProperty)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Animal.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Animal.java
new file mode 100644
index 000000000000..6819bd7fe7d1
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Animal.java
@@ -0,0 +1,122 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Animal
+ */
+
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = Dog.class, name = "Dog"),
+ @JsonSubTypes.Type(value = Cat.class, name = "Cat"),
+})
+
+public class Animal {
+ @JsonProperty("className")
+ private String className = null;
+
+ @JsonProperty("color")
+ private String color = "red";
+
+ public Animal className(String className) {
+ this.className = className;
+ return this;
+ }
+
+ /**
+ * Get className
+ * @return className
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ public Animal color(String color) {
+ this.color = color;
+ return this;
+ }
+
+ /**
+ * Get color
+ * @return color
+ **/
+ @ApiModelProperty(value = "")
+ public String getColor() {
+ return color;
+ }
+
+ public void setColor(String color) {
+ this.color = color;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Animal animal = (Animal) o;
+ return Objects.equals(this.className, animal.className) &&
+ Objects.equals(this.color, animal.color);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(className, color);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Animal {\n");
+
+ sb.append(" className: ").append(toIndentedString(className)).append("\n");
+ sb.append(" color: ").append(toIndentedString(color)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/AnimalFarm.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/AnimalFarm.java
new file mode 100644
index 000000000000..2f43f1b1a965
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/AnimalFarm.java
@@ -0,0 +1,66 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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 java.util.ArrayList;
+import java.util.List;
+import org.openapitools.client.model.Animal;
+
+/**
+ * AnimalFarm
+ */
+
+public class AnimalFarm extends ArrayList {
+
+ @Override
+ public boolean equals(java.lang.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 AnimalFarm {\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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java
new file mode 100644
index 000000000000..f3663caed16e
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java
@@ -0,0 +1,102 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ArrayOfArrayOfNumberOnly
+ */
+
+public class ArrayOfArrayOfNumberOnly {
+ @JsonProperty("ArrayArrayNumber")
+ private List> arrayArrayNumber = null;
+
+ public ArrayOfArrayOfNumberOnly arrayArrayNumber(List> arrayArrayNumber) {
+ this.arrayArrayNumber = arrayArrayNumber;
+ return this;
+ }
+
+ public ArrayOfArrayOfNumberOnly addArrayArrayNumberItem(List arrayArrayNumberItem) {
+ if (this.arrayArrayNumber == null) {
+ this.arrayArrayNumber = new ArrayList>();
+ }
+ this.arrayArrayNumber.add(arrayArrayNumberItem);
+ return this;
+ }
+
+ /**
+ * Get arrayArrayNumber
+ * @return arrayArrayNumber
+ **/
+ @ApiModelProperty(value = "")
+ public List> getArrayArrayNumber() {
+ return arrayArrayNumber;
+ }
+
+ public void setArrayArrayNumber(List> arrayArrayNumber) {
+ this.arrayArrayNumber = arrayArrayNumber;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ArrayOfArrayOfNumberOnly arrayOfArrayOfNumberOnly = (ArrayOfArrayOfNumberOnly) o;
+ return Objects.equals(this.arrayArrayNumber, arrayOfArrayOfNumberOnly.arrayArrayNumber);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(arrayArrayNumber);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ArrayOfArrayOfNumberOnly {\n");
+
+ sb.append(" arrayArrayNumber: ").append(toIndentedString(arrayArrayNumber)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java
new file mode 100644
index 000000000000..21938baa1304
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java
@@ -0,0 +1,102 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ArrayOfNumberOnly
+ */
+
+public class ArrayOfNumberOnly {
+ @JsonProperty("ArrayNumber")
+ private List arrayNumber = null;
+
+ public ArrayOfNumberOnly arrayNumber(List arrayNumber) {
+ this.arrayNumber = arrayNumber;
+ return this;
+ }
+
+ public ArrayOfNumberOnly addArrayNumberItem(BigDecimal arrayNumberItem) {
+ if (this.arrayNumber == null) {
+ this.arrayNumber = new ArrayList();
+ }
+ this.arrayNumber.add(arrayNumberItem);
+ return this;
+ }
+
+ /**
+ * Get arrayNumber
+ * @return arrayNumber
+ **/
+ @ApiModelProperty(value = "")
+ public List getArrayNumber() {
+ return arrayNumber;
+ }
+
+ public void setArrayNumber(List arrayNumber) {
+ this.arrayNumber = arrayNumber;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ArrayOfNumberOnly arrayOfNumberOnly = (ArrayOfNumberOnly) o;
+ return Objects.equals(this.arrayNumber, arrayOfNumberOnly.arrayNumber);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(arrayNumber);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ArrayOfNumberOnly {\n");
+
+ sb.append(" arrayNumber: ").append(toIndentedString(arrayNumber)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayTest.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayTest.java
new file mode 100644
index 000000000000..5e7b32643f6b
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ArrayTest.java
@@ -0,0 +1,164 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.ArrayList;
+import java.util.List;
+import org.openapitools.client.model.ReadOnlyFirst;
+
+/**
+ * ArrayTest
+ */
+
+public class ArrayTest {
+ @JsonProperty("array_of_string")
+ private List arrayOfString = null;
+
+ @JsonProperty("array_array_of_integer")
+ private List> arrayArrayOfInteger = null;
+
+ @JsonProperty("array_array_of_model")
+ private List> arrayArrayOfModel = null;
+
+ public ArrayTest arrayOfString(List arrayOfString) {
+ this.arrayOfString = arrayOfString;
+ return this;
+ }
+
+ public ArrayTest addArrayOfStringItem(String arrayOfStringItem) {
+ if (this.arrayOfString == null) {
+ this.arrayOfString = new ArrayList();
+ }
+ this.arrayOfString.add(arrayOfStringItem);
+ return this;
+ }
+
+ /**
+ * Get arrayOfString
+ * @return arrayOfString
+ **/
+ @ApiModelProperty(value = "")
+ public List getArrayOfString() {
+ return arrayOfString;
+ }
+
+ public void setArrayOfString(List arrayOfString) {
+ this.arrayOfString = arrayOfString;
+ }
+
+ public ArrayTest arrayArrayOfInteger(List> arrayArrayOfInteger) {
+ this.arrayArrayOfInteger = arrayArrayOfInteger;
+ return this;
+ }
+
+ public ArrayTest addArrayArrayOfIntegerItem(List arrayArrayOfIntegerItem) {
+ if (this.arrayArrayOfInteger == null) {
+ this.arrayArrayOfInteger = new ArrayList>();
+ }
+ this.arrayArrayOfInteger.add(arrayArrayOfIntegerItem);
+ return this;
+ }
+
+ /**
+ * Get arrayArrayOfInteger
+ * @return arrayArrayOfInteger
+ **/
+ @ApiModelProperty(value = "")
+ public List> getArrayArrayOfInteger() {
+ return arrayArrayOfInteger;
+ }
+
+ public void setArrayArrayOfInteger(List> arrayArrayOfInteger) {
+ this.arrayArrayOfInteger = arrayArrayOfInteger;
+ }
+
+ public ArrayTest arrayArrayOfModel(List> arrayArrayOfModel) {
+ this.arrayArrayOfModel = arrayArrayOfModel;
+ return this;
+ }
+
+ public ArrayTest addArrayArrayOfModelItem(List arrayArrayOfModelItem) {
+ if (this.arrayArrayOfModel == null) {
+ this.arrayArrayOfModel = new ArrayList>();
+ }
+ this.arrayArrayOfModel.add(arrayArrayOfModelItem);
+ return this;
+ }
+
+ /**
+ * Get arrayArrayOfModel
+ * @return arrayArrayOfModel
+ **/
+ @ApiModelProperty(value = "")
+ public List> getArrayArrayOfModel() {
+ return arrayArrayOfModel;
+ }
+
+ public void setArrayArrayOfModel(List> arrayArrayOfModel) {
+ this.arrayArrayOfModel = arrayArrayOfModel;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ArrayTest arrayTest = (ArrayTest) o;
+ return Objects.equals(this.arrayOfString, arrayTest.arrayOfString) &&
+ Objects.equals(this.arrayArrayOfInteger, arrayTest.arrayArrayOfInteger) &&
+ Objects.equals(this.arrayArrayOfModel, arrayTest.arrayArrayOfModel);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(arrayOfString, arrayArrayOfInteger, arrayArrayOfModel);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ArrayTest {\n");
+
+ sb.append(" arrayOfString: ").append(toIndentedString(arrayOfString)).append("\n");
+ sb.append(" arrayArrayOfInteger: ").append(toIndentedString(arrayArrayOfInteger)).append("\n");
+ sb.append(" arrayArrayOfModel: ").append(toIndentedString(arrayArrayOfModel)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Capitalization.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Capitalization.java
new file mode 100644
index 000000000000..f0b2d5cd99f6
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Capitalization.java
@@ -0,0 +1,206 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Capitalization
+ */
+
+public class Capitalization {
+ @JsonProperty("smallCamel")
+ private String smallCamel = null;
+
+ @JsonProperty("CapitalCamel")
+ private String capitalCamel = null;
+
+ @JsonProperty("small_Snake")
+ private String smallSnake = null;
+
+ @JsonProperty("Capital_Snake")
+ private String capitalSnake = null;
+
+ @JsonProperty("SCA_ETH_Flow_Points")
+ private String scAETHFlowPoints = null;
+
+ @JsonProperty("ATT_NAME")
+ private String ATT_NAME = null;
+
+ public Capitalization smallCamel(String smallCamel) {
+ this.smallCamel = smallCamel;
+ return this;
+ }
+
+ /**
+ * Get smallCamel
+ * @return smallCamel
+ **/
+ @ApiModelProperty(value = "")
+ public String getSmallCamel() {
+ return smallCamel;
+ }
+
+ public void setSmallCamel(String smallCamel) {
+ this.smallCamel = smallCamel;
+ }
+
+ public Capitalization capitalCamel(String capitalCamel) {
+ this.capitalCamel = capitalCamel;
+ return this;
+ }
+
+ /**
+ * Get capitalCamel
+ * @return capitalCamel
+ **/
+ @ApiModelProperty(value = "")
+ public String getCapitalCamel() {
+ return capitalCamel;
+ }
+
+ public void setCapitalCamel(String capitalCamel) {
+ this.capitalCamel = capitalCamel;
+ }
+
+ public Capitalization smallSnake(String smallSnake) {
+ this.smallSnake = smallSnake;
+ return this;
+ }
+
+ /**
+ * Get smallSnake
+ * @return smallSnake
+ **/
+ @ApiModelProperty(value = "")
+ public String getSmallSnake() {
+ return smallSnake;
+ }
+
+ public void setSmallSnake(String smallSnake) {
+ this.smallSnake = smallSnake;
+ }
+
+ public Capitalization capitalSnake(String capitalSnake) {
+ this.capitalSnake = capitalSnake;
+ return this;
+ }
+
+ /**
+ * Get capitalSnake
+ * @return capitalSnake
+ **/
+ @ApiModelProperty(value = "")
+ public String getCapitalSnake() {
+ return capitalSnake;
+ }
+
+ public void setCapitalSnake(String capitalSnake) {
+ this.capitalSnake = capitalSnake;
+ }
+
+ public Capitalization scAETHFlowPoints(String scAETHFlowPoints) {
+ this.scAETHFlowPoints = scAETHFlowPoints;
+ return this;
+ }
+
+ /**
+ * Get scAETHFlowPoints
+ * @return scAETHFlowPoints
+ **/
+ @ApiModelProperty(value = "")
+ public String getScAETHFlowPoints() {
+ return scAETHFlowPoints;
+ }
+
+ public void setScAETHFlowPoints(String scAETHFlowPoints) {
+ this.scAETHFlowPoints = scAETHFlowPoints;
+ }
+
+ public Capitalization ATT_NAME(String ATT_NAME) {
+ this.ATT_NAME = ATT_NAME;
+ return this;
+ }
+
+ /**
+ * Name of the pet
+ * @return ATT_NAME
+ **/
+ @ApiModelProperty(value = "Name of the pet ")
+ public String getATTNAME() {
+ return ATT_NAME;
+ }
+
+ public void setATTNAME(String ATT_NAME) {
+ this.ATT_NAME = ATT_NAME;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Capitalization capitalization = (Capitalization) o;
+ return Objects.equals(this.smallCamel, capitalization.smallCamel) &&
+ Objects.equals(this.capitalCamel, capitalization.capitalCamel) &&
+ Objects.equals(this.smallSnake, capitalization.smallSnake) &&
+ Objects.equals(this.capitalSnake, capitalization.capitalSnake) &&
+ Objects.equals(this.scAETHFlowPoints, capitalization.scAETHFlowPoints) &&
+ Objects.equals(this.ATT_NAME, capitalization.ATT_NAME);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(smallCamel, capitalCamel, smallSnake, capitalSnake, scAETHFlowPoints, ATT_NAME);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Capitalization {\n");
+
+ sb.append(" smallCamel: ").append(toIndentedString(smallCamel)).append("\n");
+ sb.append(" capitalCamel: ").append(toIndentedString(capitalCamel)).append("\n");
+ sb.append(" smallSnake: ").append(toIndentedString(smallSnake)).append("\n");
+ sb.append(" capitalSnake: ").append(toIndentedString(capitalSnake)).append("\n");
+ sb.append(" scAETHFlowPoints: ").append(toIndentedString(scAETHFlowPoints)).append("\n");
+ sb.append(" ATT_NAME: ").append(toIndentedString(ATT_NAME)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Cat.java
new file mode 100644
index 000000000000..2121c5c2793f
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Cat.java
@@ -0,0 +1,93 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.openapitools.client.model.Animal;
+
+/**
+ * Cat
+ */
+
+public class Cat extends Animal {
+ @JsonProperty("declawed")
+ private Boolean declawed = null;
+
+ public Cat declawed(Boolean declawed) {
+ this.declawed = declawed;
+ return this;
+ }
+
+ /**
+ * Get declawed
+ * @return declawed
+ **/
+ @ApiModelProperty(value = "")
+ public Boolean isDeclawed() {
+ return declawed;
+ }
+
+ public void setDeclawed(Boolean declawed) {
+ this.declawed = declawed;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Cat cat = (Cat) o;
+ return Objects.equals(this.declawed, cat.declawed) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(declawed, super.hashCode());
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Cat {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" declawed: ").append(toIndentedString(declawed)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Category.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Category.java
new file mode 100644
index 000000000000..60f4d2b07b2c
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Category.java
@@ -0,0 +1,114 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Category
+ */
+
+public class Category {
+ @JsonProperty("id")
+ private Long id = null;
+
+ @JsonProperty("name")
+ private String name = null;
+
+ public Category id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @ApiModelProperty(value = "")
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Category name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @ApiModelProperty(value = "")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Category category = (Category) o;
+ return Objects.equals(this.id, category.id) &&
+ Objects.equals(this.name, category.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Category {\n");
+
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ClassModel.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ClassModel.java
new file mode 100644
index 000000000000..d16a676db3d1
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ClassModel.java
@@ -0,0 +1,92 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Model for testing model with \"_class\" property
+ */
+@ApiModel(description = "Model for testing model with \"_class\" property")
+
+public class ClassModel {
+ @JsonProperty("_class")
+ private String propertyClass = null;
+
+ public ClassModel propertyClass(String propertyClass) {
+ this.propertyClass = propertyClass;
+ return this;
+ }
+
+ /**
+ * Get propertyClass
+ * @return propertyClass
+ **/
+ @ApiModelProperty(value = "")
+ public String getPropertyClass() {
+ return propertyClass;
+ }
+
+ public void setPropertyClass(String propertyClass) {
+ this.propertyClass = propertyClass;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ClassModel classModel = (ClassModel) o;
+ return Objects.equals(this.propertyClass, classModel.propertyClass);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(propertyClass);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ClassModel {\n");
+
+ sb.append(" propertyClass: ").append(toIndentedString(propertyClass)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Client.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Client.java
new file mode 100644
index 000000000000..290c475cb54d
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Client.java
@@ -0,0 +1,91 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Client
+ */
+
+public class Client {
+ @JsonProperty("client")
+ private String client = null;
+
+ public Client client(String client) {
+ this.client = client;
+ return this;
+ }
+
+ /**
+ * Get client
+ * @return client
+ **/
+ @ApiModelProperty(value = "")
+ public String getClient() {
+ return client;
+ }
+
+ public void setClient(String client) {
+ this.client = client;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Client client = (Client) o;
+ return Objects.equals(this.client, client.client);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(client);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Client {\n");
+
+ sb.append(" client: ").append(toIndentedString(client)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Dog.java
new file mode 100644
index 000000000000..b7beed2df53c
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Dog.java
@@ -0,0 +1,93 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.openapitools.client.model.Animal;
+
+/**
+ * Dog
+ */
+
+public class Dog extends Animal {
+ @JsonProperty("breed")
+ private String breed = null;
+
+ public Dog breed(String breed) {
+ this.breed = breed;
+ return this;
+ }
+
+ /**
+ * Get breed
+ * @return breed
+ **/
+ @ApiModelProperty(value = "")
+ public String getBreed() {
+ return breed;
+ }
+
+ public void setBreed(String breed) {
+ this.breed = breed;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Dog dog = (Dog) o;
+ return Objects.equals(this.breed, dog.breed) &&
+ super.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(breed, super.hashCode());
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Dog {\n");
+ sb.append(" ").append(toIndentedString(super.toString())).append("\n");
+ sb.append(" breed: ").append(toIndentedString(breed)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumArrays.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumArrays.java
new file mode 100644
index 000000000000..3b1b51c26a32
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumArrays.java
@@ -0,0 +1,194 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * EnumArrays
+ */
+
+public class EnumArrays {
+ /**
+ * Gets or Sets justSymbol
+ */
+ public enum JustSymbolEnum {
+ GREATER_THAN_OR_EQUAL_TO(">="),
+
+ DOLLAR("$");
+
+ private String value;
+
+ JustSymbolEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static JustSymbolEnum fromValue(String text) {
+ for (JustSymbolEnum b : JustSymbolEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("just_symbol")
+ private JustSymbolEnum justSymbol = null;
+
+ /**
+ * Gets or Sets arrayEnum
+ */
+ public enum ArrayEnumEnum {
+ FISH("fish"),
+
+ CRAB("crab");
+
+ private String value;
+
+ ArrayEnumEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static ArrayEnumEnum fromValue(String text) {
+ for (ArrayEnumEnum b : ArrayEnumEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("array_enum")
+ private List arrayEnum = null;
+
+ public EnumArrays justSymbol(JustSymbolEnum justSymbol) {
+ this.justSymbol = justSymbol;
+ return this;
+ }
+
+ /**
+ * Get justSymbol
+ * @return justSymbol
+ **/
+ @ApiModelProperty(value = "")
+ public JustSymbolEnum getJustSymbol() {
+ return justSymbol;
+ }
+
+ public void setJustSymbol(JustSymbolEnum justSymbol) {
+ this.justSymbol = justSymbol;
+ }
+
+ public EnumArrays arrayEnum(List arrayEnum) {
+ this.arrayEnum = arrayEnum;
+ return this;
+ }
+
+ public EnumArrays addArrayEnumItem(ArrayEnumEnum arrayEnumItem) {
+ if (this.arrayEnum == null) {
+ this.arrayEnum = new ArrayList();
+ }
+ this.arrayEnum.add(arrayEnumItem);
+ return this;
+ }
+
+ /**
+ * Get arrayEnum
+ * @return arrayEnum
+ **/
+ @ApiModelProperty(value = "")
+ public List getArrayEnum() {
+ return arrayEnum;
+ }
+
+ public void setArrayEnum(List arrayEnum) {
+ this.arrayEnum = arrayEnum;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ EnumArrays enumArrays = (EnumArrays) o;
+ return Objects.equals(this.justSymbol, enumArrays.justSymbol) &&
+ Objects.equals(this.arrayEnum, enumArrays.arrayEnum);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(justSymbol, arrayEnum);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class EnumArrays {\n");
+
+ sb.append(" justSymbol: ").append(toIndentedString(justSymbol)).append("\n");
+ sb.append(" arrayEnum: ").append(toIndentedString(arrayEnum)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumClass.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumClass.java
new file mode 100644
index 000000000000..444bb0f3c485
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumClass.java
@@ -0,0 +1,59 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Gets or Sets EnumClass
+ */
+public enum EnumClass {
+
+ _ABC("_abc"),
+
+ _EFG("-efg"),
+
+ _XYZ_("(xyz)");
+
+ private String value;
+
+ EnumClass(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static EnumClass fromValue(String text) {
+ for (EnumClass b : EnumClass.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumTest.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumTest.java
new file mode 100644
index 000000000000..122f370cef9b
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/EnumTest.java
@@ -0,0 +1,328 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.openapitools.client.model.OuterEnum;
+
+/**
+ * EnumTest
+ */
+
+public class EnumTest {
+ /**
+ * Gets or Sets enumString
+ */
+ public enum EnumStringEnum {
+ UPPER("UPPER"),
+
+ LOWER("lower"),
+
+ EMPTY("");
+
+ private String value;
+
+ EnumStringEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static EnumStringEnum fromValue(String text) {
+ for (EnumStringEnum b : EnumStringEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("enum_string")
+ private EnumStringEnum enumString = null;
+
+ /**
+ * Gets or Sets enumStringRequired
+ */
+ public enum EnumStringRequiredEnum {
+ UPPER("UPPER"),
+
+ LOWER("lower"),
+
+ EMPTY("");
+
+ private String value;
+
+ EnumStringRequiredEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static EnumStringRequiredEnum fromValue(String text) {
+ for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("enum_string_required")
+ private EnumStringRequiredEnum enumStringRequired = null;
+
+ /**
+ * Gets or Sets enumInteger
+ */
+ public enum EnumIntegerEnum {
+ NUMBER_1(1),
+
+ NUMBER_MINUS_1(-1);
+
+ private Integer value;
+
+ EnumIntegerEnum(Integer value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public Integer getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static EnumIntegerEnum fromValue(String text) {
+ for (EnumIntegerEnum b : EnumIntegerEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("enum_integer")
+ private EnumIntegerEnum enumInteger = null;
+
+ /**
+ * Gets or Sets enumNumber
+ */
+ public enum EnumNumberEnum {
+ NUMBER_1_DOT_1(1.1),
+
+ NUMBER_MINUS_1_DOT_2(-1.2);
+
+ private Double value;
+
+ EnumNumberEnum(Double value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public Double getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static EnumNumberEnum fromValue(String text) {
+ for (EnumNumberEnum b : EnumNumberEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("enum_number")
+ private EnumNumberEnum enumNumber = null;
+
+ @JsonProperty("outerEnum")
+ private OuterEnum outerEnum = null;
+
+ public EnumTest enumString(EnumStringEnum enumString) {
+ this.enumString = enumString;
+ return this;
+ }
+
+ /**
+ * Get enumString
+ * @return enumString
+ **/
+ @ApiModelProperty(value = "")
+ public EnumStringEnum getEnumString() {
+ return enumString;
+ }
+
+ public void setEnumString(EnumStringEnum enumString) {
+ this.enumString = enumString;
+ }
+
+ public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) {
+ this.enumStringRequired = enumStringRequired;
+ return this;
+ }
+
+ /**
+ * Get enumStringRequired
+ * @return enumStringRequired
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public EnumStringRequiredEnum getEnumStringRequired() {
+ return enumStringRequired;
+ }
+
+ public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) {
+ this.enumStringRequired = enumStringRequired;
+ }
+
+ public EnumTest enumInteger(EnumIntegerEnum enumInteger) {
+ this.enumInteger = enumInteger;
+ return this;
+ }
+
+ /**
+ * Get enumInteger
+ * @return enumInteger
+ **/
+ @ApiModelProperty(value = "")
+ public EnumIntegerEnum getEnumInteger() {
+ return enumInteger;
+ }
+
+ public void setEnumInteger(EnumIntegerEnum enumInteger) {
+ this.enumInteger = enumInteger;
+ }
+
+ public EnumTest enumNumber(EnumNumberEnum enumNumber) {
+ this.enumNumber = enumNumber;
+ return this;
+ }
+
+ /**
+ * Get enumNumber
+ * @return enumNumber
+ **/
+ @ApiModelProperty(value = "")
+ public EnumNumberEnum getEnumNumber() {
+ return enumNumber;
+ }
+
+ public void setEnumNumber(EnumNumberEnum enumNumber) {
+ this.enumNumber = enumNumber;
+ }
+
+ public EnumTest outerEnum(OuterEnum outerEnum) {
+ this.outerEnum = outerEnum;
+ return this;
+ }
+
+ /**
+ * Get outerEnum
+ * @return outerEnum
+ **/
+ @ApiModelProperty(value = "")
+ public OuterEnum getOuterEnum() {
+ return outerEnum;
+ }
+
+ public void setOuterEnum(OuterEnum outerEnum) {
+ this.outerEnum = outerEnum;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ EnumTest enumTest = (EnumTest) o;
+ return Objects.equals(this.enumString, enumTest.enumString) &&
+ Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) &&
+ Objects.equals(this.enumInteger, enumTest.enumInteger) &&
+ Objects.equals(this.enumNumber, enumTest.enumNumber) &&
+ Objects.equals(this.outerEnum, enumTest.outerEnum);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class EnumTest {\n");
+
+ sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n");
+ sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n");
+ sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n");
+ sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n");
+ sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java
new file mode 100644
index 000000000000..2a8385412f03
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java
@@ -0,0 +1,124 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * FileSchemaTestClass
+ */
+
+public class FileSchemaTestClass {
+ @JsonProperty("file")
+ private java.io.File file = null;
+
+ @JsonProperty("files")
+ private List files = null;
+
+ public FileSchemaTestClass file(java.io.File file) {
+ this.file = file;
+ return this;
+ }
+
+ /**
+ * Get file
+ * @return file
+ **/
+ @ApiModelProperty(value = "")
+ public java.io.File getFile() {
+ return file;
+ }
+
+ public void setFile(java.io.File file) {
+ this.file = file;
+ }
+
+ public FileSchemaTestClass files(List files) {
+ this.files = files;
+ return this;
+ }
+
+ public FileSchemaTestClass addFilesItem(java.io.File filesItem) {
+ if (this.files == null) {
+ this.files = new ArrayList();
+ }
+ this.files.add(filesItem);
+ return this;
+ }
+
+ /**
+ * Get files
+ * @return files
+ **/
+ @ApiModelProperty(value = "")
+ public List getFiles() {
+ return files;
+ }
+
+ public void setFiles(List files) {
+ this.files = files;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FileSchemaTestClass fileSchemaTestClass = (FileSchemaTestClass) o;
+ return Objects.equals(this.file, fileSchemaTestClass.file) &&
+ Objects.equals(this.files, fileSchemaTestClass.files);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(file, files);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FileSchemaTestClass {\n");
+
+ sb.append(" file: ").append(toIndentedString(file)).append("\n");
+ sb.append(" files: ").append(toIndentedString(files)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/FormatTest.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/FormatTest.java
new file mode 100644
index 000000000000..de08419d1db7
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/FormatTest.java
@@ -0,0 +1,382 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.File;
+import java.math.BigDecimal;
+import java.util.UUID;
+import org.threeten.bp.LocalDate;
+import org.threeten.bp.OffsetDateTime;
+
+/**
+ * FormatTest
+ */
+
+public class FormatTest {
+ @JsonProperty("integer")
+ private Integer integer = null;
+
+ @JsonProperty("int32")
+ private Integer int32 = null;
+
+ @JsonProperty("int64")
+ private Long int64 = null;
+
+ @JsonProperty("number")
+ private BigDecimal number = null;
+
+ @JsonProperty("float")
+ private Float _float = null;
+
+ @JsonProperty("double")
+ private Double _double = null;
+
+ @JsonProperty("string")
+ private String string = null;
+
+ @JsonProperty("byte")
+ private byte[] _byte = null;
+
+ @JsonProperty("binary")
+ private File binary = null;
+
+ @JsonProperty("date")
+ private LocalDate date = null;
+
+ @JsonProperty("dateTime")
+ private OffsetDateTime dateTime = null;
+
+ @JsonProperty("uuid")
+ private UUID uuid = null;
+
+ @JsonProperty("password")
+ private String password = null;
+
+ public FormatTest integer(Integer integer) {
+ this.integer = integer;
+ return this;
+ }
+
+ /**
+ * Get integer
+ * minimum: 10
+ * maximum: 100
+ * @return integer
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getInteger() {
+ return integer;
+ }
+
+ public void setInteger(Integer integer) {
+ this.integer = integer;
+ }
+
+ public FormatTest int32(Integer int32) {
+ this.int32 = int32;
+ return this;
+ }
+
+ /**
+ * Get int32
+ * minimum: 20
+ * maximum: 200
+ * @return int32
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getInt32() {
+ return int32;
+ }
+
+ public void setInt32(Integer int32) {
+ this.int32 = int32;
+ }
+
+ public FormatTest int64(Long int64) {
+ this.int64 = int64;
+ return this;
+ }
+
+ /**
+ * Get int64
+ * @return int64
+ **/
+ @ApiModelProperty(value = "")
+ public Long getInt64() {
+ return int64;
+ }
+
+ public void setInt64(Long int64) {
+ this.int64 = int64;
+ }
+
+ public FormatTest number(BigDecimal number) {
+ this.number = number;
+ return this;
+ }
+
+ /**
+ * Get number
+ * minimum: 32.1
+ * maximum: 543.2
+ * @return number
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public BigDecimal getNumber() {
+ return number;
+ }
+
+ public void setNumber(BigDecimal number) {
+ this.number = number;
+ }
+
+ public FormatTest _float(Float _float) {
+ this._float = _float;
+ return this;
+ }
+
+ /**
+ * Get _float
+ * minimum: 54.3
+ * maximum: 987.6
+ * @return _float
+ **/
+ @ApiModelProperty(value = "")
+ public Float getFloat() {
+ return _float;
+ }
+
+ public void setFloat(Float _float) {
+ this._float = _float;
+ }
+
+ public FormatTest _double(Double _double) {
+ this._double = _double;
+ return this;
+ }
+
+ /**
+ * Get _double
+ * minimum: 67.8
+ * maximum: 123.4
+ * @return _double
+ **/
+ @ApiModelProperty(value = "")
+ public Double getDouble() {
+ return _double;
+ }
+
+ public void setDouble(Double _double) {
+ this._double = _double;
+ }
+
+ public FormatTest string(String string) {
+ this.string = string;
+ return this;
+ }
+
+ /**
+ * Get string
+ * @return string
+ **/
+ @ApiModelProperty(value = "")
+ public String getString() {
+ return string;
+ }
+
+ public void setString(String string) {
+ this.string = string;
+ }
+
+ public FormatTest _byte(byte[] _byte) {
+ this._byte = _byte;
+ return this;
+ }
+
+ /**
+ * Get _byte
+ * @return _byte
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public byte[] getByte() {
+ return _byte;
+ }
+
+ public void setByte(byte[] _byte) {
+ this._byte = _byte;
+ }
+
+ public FormatTest binary(File binary) {
+ this.binary = binary;
+ return this;
+ }
+
+ /**
+ * Get binary
+ * @return binary
+ **/
+ @ApiModelProperty(value = "")
+ public File getBinary() {
+ return binary;
+ }
+
+ public void setBinary(File binary) {
+ this.binary = binary;
+ }
+
+ public FormatTest date(LocalDate date) {
+ this.date = date;
+ return this;
+ }
+
+ /**
+ * Get date
+ * @return date
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public LocalDate getDate() {
+ return date;
+ }
+
+ public void setDate(LocalDate date) {
+ this.date = date;
+ }
+
+ public FormatTest dateTime(OffsetDateTime dateTime) {
+ this.dateTime = dateTime;
+ return this;
+ }
+
+ /**
+ * Get dateTime
+ * @return dateTime
+ **/
+ @ApiModelProperty(value = "")
+ public OffsetDateTime getDateTime() {
+ return dateTime;
+ }
+
+ public void setDateTime(OffsetDateTime dateTime) {
+ this.dateTime = dateTime;
+ }
+
+ public FormatTest uuid(UUID uuid) {
+ this.uuid = uuid;
+ return this;
+ }
+
+ /**
+ * Get uuid
+ * @return uuid
+ **/
+ @ApiModelProperty(value = "")
+ public UUID getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(UUID uuid) {
+ this.uuid = uuid;
+ }
+
+ public FormatTest password(String password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get password
+ * @return password
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FormatTest formatTest = (FormatTest) o;
+ return Objects.equals(this.integer, formatTest.integer) &&
+ Objects.equals(this.int32, formatTest.int32) &&
+ Objects.equals(this.int64, formatTest.int64) &&
+ Objects.equals(this.number, formatTest.number) &&
+ Objects.equals(this._float, formatTest._float) &&
+ Objects.equals(this._double, formatTest._double) &&
+ Objects.equals(this.string, formatTest.string) &&
+ Arrays.equals(this._byte, formatTest._byte) &&
+ Objects.equals(this.binary, formatTest.binary) &&
+ Objects.equals(this.date, formatTest.date) &&
+ Objects.equals(this.dateTime, formatTest.dateTime) &&
+ Objects.equals(this.uuid, formatTest.uuid) &&
+ Objects.equals(this.password, formatTest.password);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(integer, int32, int64, number, _float, _double, string, Arrays.hashCode(_byte), binary, date, dateTime, uuid, password);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FormatTest {\n");
+
+ sb.append(" integer: ").append(toIndentedString(integer)).append("\n");
+ sb.append(" int32: ").append(toIndentedString(int32)).append("\n");
+ sb.append(" int64: ").append(toIndentedString(int64)).append("\n");
+ sb.append(" number: ").append(toIndentedString(number)).append("\n");
+ sb.append(" _float: ").append(toIndentedString(_float)).append("\n");
+ sb.append(" _double: ").append(toIndentedString(_double)).append("\n");
+ sb.append(" string: ").append(toIndentedString(string)).append("\n");
+ sb.append(" _byte: ").append(toIndentedString(_byte)).append("\n");
+ sb.append(" binary: ").append(toIndentedString(binary)).append("\n");
+ sb.append(" date: ").append(toIndentedString(date)).append("\n");
+ sb.append(" dateTime: ").append(toIndentedString(dateTime)).append("\n");
+ sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
+ sb.append(" password: ").append(toIndentedString(password)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java
new file mode 100644
index 000000000000..ddd9bfbf678c
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java
@@ -0,0 +1,96 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * HasOnlyReadOnly
+ */
+
+public class HasOnlyReadOnly {
+ @JsonProperty("bar")
+ private String bar = null;
+
+ @JsonProperty("foo")
+ private String foo = null;
+
+ /**
+ * Get bar
+ * @return bar
+ **/
+ @ApiModelProperty(value = "")
+ public String getBar() {
+ return bar;
+ }
+
+ /**
+ * Get foo
+ * @return foo
+ **/
+ @ApiModelProperty(value = "")
+ public String getFoo() {
+ return foo;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ HasOnlyReadOnly hasOnlyReadOnly = (HasOnlyReadOnly) o;
+ return Objects.equals(this.bar, hasOnlyReadOnly.bar) &&
+ Objects.equals(this.foo, hasOnlyReadOnly.foo);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(bar, foo);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class HasOnlyReadOnly {\n");
+
+ sb.append(" bar: ").append(toIndentedString(bar)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/MapTest.java
new file mode 100644
index 000000000000..f67fb22c45c6
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/MapTest.java
@@ -0,0 +1,223 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.openapitools.client.model.StringBooleanMap;
+
+/**
+ * MapTest
+ */
+
+public class MapTest {
+ @JsonProperty("map_map_of_string")
+ private Map> mapMapOfString = null;
+
+ /**
+ * Gets or Sets inner
+ */
+ public enum InnerEnum {
+ UPPER("UPPER"),
+
+ LOWER("lower");
+
+ private String value;
+
+ InnerEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static InnerEnum fromValue(String text) {
+ for (InnerEnum b : InnerEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("map_of_enum_string")
+ private Map mapOfEnumString = null;
+
+ @JsonProperty("direct_map")
+ private Map directMap = null;
+
+ @JsonProperty("indirect_map")
+ private StringBooleanMap indirectMap = null;
+
+ public MapTest mapMapOfString(Map> mapMapOfString) {
+ this.mapMapOfString = mapMapOfString;
+ return this;
+ }
+
+ public MapTest putMapMapOfStringItem(String key, Map mapMapOfStringItem) {
+ if (this.mapMapOfString == null) {
+ this.mapMapOfString = new HashMap>();
+ }
+ this.mapMapOfString.put(key, mapMapOfStringItem);
+ return this;
+ }
+
+ /**
+ * Get mapMapOfString
+ * @return mapMapOfString
+ **/
+ @ApiModelProperty(value = "")
+ public Map> getMapMapOfString() {
+ return mapMapOfString;
+ }
+
+ public void setMapMapOfString(Map> mapMapOfString) {
+ this.mapMapOfString = mapMapOfString;
+ }
+
+ public MapTest mapOfEnumString(Map mapOfEnumString) {
+ this.mapOfEnumString = mapOfEnumString;
+ return this;
+ }
+
+ public MapTest putMapOfEnumStringItem(String key, InnerEnum mapOfEnumStringItem) {
+ if (this.mapOfEnumString == null) {
+ this.mapOfEnumString = new HashMap();
+ }
+ this.mapOfEnumString.put(key, mapOfEnumStringItem);
+ return this;
+ }
+
+ /**
+ * Get mapOfEnumString
+ * @return mapOfEnumString
+ **/
+ @ApiModelProperty(value = "")
+ public Map getMapOfEnumString() {
+ return mapOfEnumString;
+ }
+
+ public void setMapOfEnumString(Map mapOfEnumString) {
+ this.mapOfEnumString = mapOfEnumString;
+ }
+
+ public MapTest directMap(Map directMap) {
+ this.directMap = directMap;
+ return this;
+ }
+
+ public MapTest putDirectMapItem(String key, Boolean directMapItem) {
+ if (this.directMap == null) {
+ this.directMap = new HashMap();
+ }
+ this.directMap.put(key, directMapItem);
+ return this;
+ }
+
+ /**
+ * Get directMap
+ * @return directMap
+ **/
+ @ApiModelProperty(value = "")
+ public Map getDirectMap() {
+ return directMap;
+ }
+
+ public void setDirectMap(Map directMap) {
+ this.directMap = directMap;
+ }
+
+ public MapTest indirectMap(StringBooleanMap indirectMap) {
+ this.indirectMap = indirectMap;
+ return this;
+ }
+
+ /**
+ * Get indirectMap
+ * @return indirectMap
+ **/
+ @ApiModelProperty(value = "")
+ public StringBooleanMap getIndirectMap() {
+ return indirectMap;
+ }
+
+ public void setIndirectMap(StringBooleanMap indirectMap) {
+ this.indirectMap = indirectMap;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MapTest mapTest = (MapTest) o;
+ return Objects.equals(this.mapMapOfString, mapTest.mapMapOfString) &&
+ Objects.equals(this.mapOfEnumString, mapTest.mapOfEnumString) &&
+ Objects.equals(this.directMap, mapTest.directMap) &&
+ Objects.equals(this.indirectMap, mapTest.indirectMap);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mapMapOfString, mapOfEnumString, directMap, indirectMap);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MapTest {\n");
+
+ sb.append(" mapMapOfString: ").append(toIndentedString(mapMapOfString)).append("\n");
+ sb.append(" mapOfEnumString: ").append(toIndentedString(mapOfEnumString)).append("\n");
+ sb.append(" directMap: ").append(toIndentedString(directMap)).append("\n");
+ sb.append(" indirectMap: ").append(toIndentedString(indirectMap)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java
new file mode 100644
index 000000000000..a12b70480083
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java
@@ -0,0 +1,151 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import org.openapitools.client.model.Animal;
+import org.threeten.bp.OffsetDateTime;
+
+/**
+ * MixedPropertiesAndAdditionalPropertiesClass
+ */
+
+public class MixedPropertiesAndAdditionalPropertiesClass {
+ @JsonProperty("uuid")
+ private UUID uuid = null;
+
+ @JsonProperty("dateTime")
+ private OffsetDateTime dateTime = null;
+
+ @JsonProperty("map")
+ private Map map = null;
+
+ public MixedPropertiesAndAdditionalPropertiesClass uuid(UUID uuid) {
+ this.uuid = uuid;
+ return this;
+ }
+
+ /**
+ * Get uuid
+ * @return uuid
+ **/
+ @ApiModelProperty(value = "")
+ public UUID getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(UUID uuid) {
+ this.uuid = uuid;
+ }
+
+ public MixedPropertiesAndAdditionalPropertiesClass dateTime(OffsetDateTime dateTime) {
+ this.dateTime = dateTime;
+ return this;
+ }
+
+ /**
+ * Get dateTime
+ * @return dateTime
+ **/
+ @ApiModelProperty(value = "")
+ public OffsetDateTime getDateTime() {
+ return dateTime;
+ }
+
+ public void setDateTime(OffsetDateTime dateTime) {
+ this.dateTime = dateTime;
+ }
+
+ public MixedPropertiesAndAdditionalPropertiesClass map(Map map) {
+ this.map = map;
+ return this;
+ }
+
+ public MixedPropertiesAndAdditionalPropertiesClass putMapItem(String key, Animal mapItem) {
+ if (this.map == null) {
+ this.map = new HashMap();
+ }
+ this.map.put(key, mapItem);
+ return this;
+ }
+
+ /**
+ * Get map
+ * @return map
+ **/
+ @ApiModelProperty(value = "")
+ public Map getMap() {
+ return map;
+ }
+
+ public void setMap(Map map) {
+ this.map = map;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MixedPropertiesAndAdditionalPropertiesClass mixedPropertiesAndAdditionalPropertiesClass = (MixedPropertiesAndAdditionalPropertiesClass) o;
+ return Objects.equals(this.uuid, mixedPropertiesAndAdditionalPropertiesClass.uuid) &&
+ Objects.equals(this.dateTime, mixedPropertiesAndAdditionalPropertiesClass.dateTime) &&
+ Objects.equals(this.map, mixedPropertiesAndAdditionalPropertiesClass.map);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(uuid, dateTime, map);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MixedPropertiesAndAdditionalPropertiesClass {\n");
+
+ sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
+ sb.append(" dateTime: ").append(toIndentedString(dateTime)).append("\n");
+ sb.append(" map: ").append(toIndentedString(map)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Model200Response.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Model200Response.java
new file mode 100644
index 000000000000..edef1b3e6264
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Model200Response.java
@@ -0,0 +1,115 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Model for testing model name starting with number
+ */
+@ApiModel(description = "Model for testing model name starting with number")
+
+public class Model200Response {
+ @JsonProperty("name")
+ private Integer name = null;
+
+ @JsonProperty("class")
+ private String propertyClass = null;
+
+ public Model200Response name(Integer name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getName() {
+ return name;
+ }
+
+ public void setName(Integer name) {
+ this.name = name;
+ }
+
+ public Model200Response propertyClass(String propertyClass) {
+ this.propertyClass = propertyClass;
+ return this;
+ }
+
+ /**
+ * Get propertyClass
+ * @return propertyClass
+ **/
+ @ApiModelProperty(value = "")
+ public String getPropertyClass() {
+ return propertyClass;
+ }
+
+ public void setPropertyClass(String propertyClass) {
+ this.propertyClass = propertyClass;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Model200Response _200response = (Model200Response) o;
+ return Objects.equals(this.name, _200response.name) &&
+ Objects.equals(this.propertyClass, _200response.propertyClass);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, propertyClass);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Model200Response {\n");
+
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" propertyClass: ").append(toIndentedString(propertyClass)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ModelApiResponse.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ModelApiResponse.java
new file mode 100644
index 000000000000..2f89b60db0b3
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ModelApiResponse.java
@@ -0,0 +1,137 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * ModelApiResponse
+ */
+
+public class ModelApiResponse {
+ @JsonProperty("code")
+ private Integer code = null;
+
+ @JsonProperty("type")
+ private String type = null;
+
+ @JsonProperty("message")
+ private String message = null;
+
+ public ModelApiResponse code(Integer code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get code
+ * @return code
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getCode() {
+ return code;
+ }
+
+ public void setCode(Integer code) {
+ this.code = code;
+ }
+
+ public ModelApiResponse type(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ * @return type
+ **/
+ @ApiModelProperty(value = "")
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public ModelApiResponse message(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get message
+ * @return message
+ **/
+ @ApiModelProperty(value = "")
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ModelApiResponse _apiResponse = (ModelApiResponse) o;
+ return Objects.equals(this.code, _apiResponse.code) &&
+ Objects.equals(this.type, _apiResponse.type) &&
+ Objects.equals(this.message, _apiResponse.message);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(code, type, message);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ModelApiResponse {\n");
+
+ sb.append(" code: ").append(toIndentedString(code)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" message: ").append(toIndentedString(message)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ModelReturn.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ModelReturn.java
new file mode 100644
index 000000000000..4adcfed3c3d4
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ModelReturn.java
@@ -0,0 +1,92 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Model for testing reserved words
+ */
+@ApiModel(description = "Model for testing reserved words")
+
+public class ModelReturn {
+ @JsonProperty("return")
+ private Integer _return = null;
+
+ public ModelReturn _return(Integer _return) {
+ this._return = _return;
+ return this;
+ }
+
+ /**
+ * Get _return
+ * @return _return
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getReturn() {
+ return _return;
+ }
+
+ public void setReturn(Integer _return) {
+ this._return = _return;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ModelReturn _return = (ModelReturn) o;
+ return Objects.equals(this._return, _return._return);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(_return);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ModelReturn {\n");
+
+ sb.append(" _return: ").append(toIndentedString(_return)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Name.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Name.java
new file mode 100644
index 000000000000..1f55823fcf47
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Name.java
@@ -0,0 +1,143 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Model for testing model name same as property name
+ */
+@ApiModel(description = "Model for testing model name same as property name")
+
+public class Name {
+ @JsonProperty("name")
+ private Integer name = null;
+
+ @JsonProperty("snake_case")
+ private Integer snakeCase = null;
+
+ @JsonProperty("property")
+ private String property = null;
+
+ @JsonProperty("123Number")
+ private Integer _123number = null;
+
+ public Name name(Integer name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public Integer getName() {
+ return name;
+ }
+
+ public void setName(Integer name) {
+ this.name = name;
+ }
+
+ /**
+ * Get snakeCase
+ * @return snakeCase
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getSnakeCase() {
+ return snakeCase;
+ }
+
+ public Name property(String property) {
+ this.property = property;
+ return this;
+ }
+
+ /**
+ * Get property
+ * @return property
+ **/
+ @ApiModelProperty(value = "")
+ public String getProperty() {
+ return property;
+ }
+
+ public void setProperty(String property) {
+ this.property = property;
+ }
+
+ /**
+ * Get _123number
+ * @return _123number
+ **/
+ @ApiModelProperty(value = "")
+ public Integer get123number() {
+ return _123number;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Name name = (Name) o;
+ return Objects.equals(this.name, name.name) &&
+ Objects.equals(this.snakeCase, name.snakeCase) &&
+ Objects.equals(this.property, name.property) &&
+ Objects.equals(this._123number, name._123number);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, snakeCase, property, _123number);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Name {\n");
+
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" snakeCase: ").append(toIndentedString(snakeCase)).append("\n");
+ sb.append(" property: ").append(toIndentedString(property)).append("\n");
+ sb.append(" _123number: ").append(toIndentedString(_123number)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/NumberOnly.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/NumberOnly.java
new file mode 100644
index 000000000000..7372bf2d2fd8
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/NumberOnly.java
@@ -0,0 +1,92 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+
+/**
+ * NumberOnly
+ */
+
+public class NumberOnly {
+ @JsonProperty("JustNumber")
+ private BigDecimal justNumber = null;
+
+ public NumberOnly justNumber(BigDecimal justNumber) {
+ this.justNumber = justNumber;
+ return this;
+ }
+
+ /**
+ * Get justNumber
+ * @return justNumber
+ **/
+ @ApiModelProperty(value = "")
+ public BigDecimal getJustNumber() {
+ return justNumber;
+ }
+
+ public void setJustNumber(BigDecimal justNumber) {
+ this.justNumber = justNumber;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ NumberOnly numberOnly = (NumberOnly) o;
+ return Objects.equals(this.justNumber, numberOnly.justNumber);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(justNumber);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class NumberOnly {\n");
+
+ sb.append(" justNumber: ").append(toIndentedString(justNumber)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Order.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Order.java
new file mode 100644
index 000000000000..cff13953de0b
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Order.java
@@ -0,0 +1,244 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.threeten.bp.OffsetDateTime;
+
+/**
+ * Order
+ */
+
+public class Order {
+ @JsonProperty("id")
+ private Long id = null;
+
+ @JsonProperty("petId")
+ private Long petId = null;
+
+ @JsonProperty("quantity")
+ private Integer quantity = null;
+
+ @JsonProperty("shipDate")
+ private OffsetDateTime shipDate = null;
+
+ /**
+ * Order Status
+ */
+ public enum StatusEnum {
+ PLACED("placed"),
+
+ APPROVED("approved"),
+
+ DELIVERED("delivered");
+
+ private String value;
+
+ StatusEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static StatusEnum fromValue(String text) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("status")
+ private StatusEnum status = null;
+
+ @JsonProperty("complete")
+ private Boolean complete = false;
+
+ public Order id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @ApiModelProperty(value = "")
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Order petId(Long petId) {
+ this.petId = petId;
+ return this;
+ }
+
+ /**
+ * Get petId
+ * @return petId
+ **/
+ @ApiModelProperty(value = "")
+ public Long getPetId() {
+ return petId;
+ }
+
+ public void setPetId(Long petId) {
+ this.petId = petId;
+ }
+
+ public Order quantity(Integer quantity) {
+ this.quantity = quantity;
+ return this;
+ }
+
+ /**
+ * Get quantity
+ * @return quantity
+ **/
+ @ApiModelProperty(value = "")
+ public Integer getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(Integer quantity) {
+ this.quantity = quantity;
+ }
+
+ public Order shipDate(OffsetDateTime shipDate) {
+ this.shipDate = shipDate;
+ return this;
+ }
+
+ /**
+ * Get shipDate
+ * @return shipDate
+ **/
+ @ApiModelProperty(value = "")
+ public OffsetDateTime getShipDate() {
+ return shipDate;
+ }
+
+ public void setShipDate(OffsetDateTime shipDate) {
+ this.shipDate = shipDate;
+ }
+
+ public Order status(StatusEnum status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Order Status
+ * @return status
+ **/
+ @ApiModelProperty(value = "Order Status")
+ public StatusEnum getStatus() {
+ return status;
+ }
+
+ public void setStatus(StatusEnum status) {
+ this.status = status;
+ }
+
+ public Order complete(Boolean complete) {
+ this.complete = complete;
+ return this;
+ }
+
+ /**
+ * Get complete
+ * @return complete
+ **/
+ @ApiModelProperty(value = "")
+ public Boolean isComplete() {
+ return complete;
+ }
+
+ public void setComplete(Boolean complete) {
+ this.complete = complete;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Order order = (Order) o;
+ return Objects.equals(this.id, order.id) &&
+ Objects.equals(this.petId, order.petId) &&
+ Objects.equals(this.quantity, order.quantity) &&
+ Objects.equals(this.shipDate, order.shipDate) &&
+ Objects.equals(this.status, order.status) &&
+ Objects.equals(this.complete, order.complete);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, petId, quantity, shipDate, status, complete);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Order {\n");
+
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" petId: ").append(toIndentedString(petId)).append("\n");
+ sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n");
+ sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" complete: ").append(toIndentedString(complete)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/OuterComposite.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/OuterComposite.java
new file mode 100644
index 000000000000..0abe10bcfc21
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/OuterComposite.java
@@ -0,0 +1,138 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+
+/**
+ * OuterComposite
+ */
+
+public class OuterComposite {
+ @JsonProperty("my_number")
+ private BigDecimal myNumber = null;
+
+ @JsonProperty("my_string")
+ private String myString = null;
+
+ @JsonProperty("my_boolean")
+ private Boolean myBoolean = null;
+
+ public OuterComposite myNumber(BigDecimal myNumber) {
+ this.myNumber = myNumber;
+ return this;
+ }
+
+ /**
+ * Get myNumber
+ * @return myNumber
+ **/
+ @ApiModelProperty(value = "")
+ public BigDecimal getMyNumber() {
+ return myNumber;
+ }
+
+ public void setMyNumber(BigDecimal myNumber) {
+ this.myNumber = myNumber;
+ }
+
+ public OuterComposite myString(String myString) {
+ this.myString = myString;
+ return this;
+ }
+
+ /**
+ * Get myString
+ * @return myString
+ **/
+ @ApiModelProperty(value = "")
+ public String getMyString() {
+ return myString;
+ }
+
+ public void setMyString(String myString) {
+ this.myString = myString;
+ }
+
+ public OuterComposite myBoolean(Boolean myBoolean) {
+ this.myBoolean = myBoolean;
+ return this;
+ }
+
+ /**
+ * Get myBoolean
+ * @return myBoolean
+ **/
+ @ApiModelProperty(value = "")
+ public Boolean isMyBoolean() {
+ return myBoolean;
+ }
+
+ public void setMyBoolean(Boolean myBoolean) {
+ this.myBoolean = myBoolean;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ OuterComposite outerComposite = (OuterComposite) o;
+ return Objects.equals(this.myNumber, outerComposite.myNumber) &&
+ Objects.equals(this.myString, outerComposite.myString) &&
+ Objects.equals(this.myBoolean, outerComposite.myBoolean);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(myNumber, myString, myBoolean);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class OuterComposite {\n");
+
+ sb.append(" myNumber: ").append(toIndentedString(myNumber)).append("\n");
+ sb.append(" myString: ").append(toIndentedString(myString)).append("\n");
+ sb.append(" myBoolean: ").append(toIndentedString(myBoolean)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/OuterEnum.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/OuterEnum.java
new file mode 100644
index 000000000000..f2906d1c36f5
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/OuterEnum.java
@@ -0,0 +1,59 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Gets or Sets OuterEnum
+ */
+public enum OuterEnum {
+
+ PLACED("placed"),
+
+ APPROVED("approved"),
+
+ DELIVERED("delivered");
+
+ private String value;
+
+ OuterEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static OuterEnum fromValue(String text) {
+ for (OuterEnum b : OuterEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Pet.java
new file mode 100644
index 000000000000..183260074e27
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Pet.java
@@ -0,0 +1,260 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.ArrayList;
+import java.util.List;
+import org.openapitools.client.model.Category;
+import org.openapitools.client.model.Tag;
+
+/**
+ * Pet
+ */
+
+public class Pet {
+ @JsonProperty("id")
+ private Long id = null;
+
+ @JsonProperty("category")
+ private Category category = null;
+
+ @JsonProperty("name")
+ private String name = null;
+
+ @JsonProperty("photoUrls")
+ private List photoUrls = new ArrayList();
+
+ @JsonProperty("tags")
+ private List tags = null;
+
+ /**
+ * pet status in the store
+ */
+ public enum StatusEnum {
+ AVAILABLE("available"),
+
+ PENDING("pending"),
+
+ SOLD("sold");
+
+ private String value;
+
+ StatusEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static StatusEnum fromValue(String text) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (String.valueOf(b.value).equals(text)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + text + "'");
+ }
+ }
+
+ @JsonProperty("status")
+ private StatusEnum status = null;
+
+ public Pet id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @ApiModelProperty(value = "")
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Pet category(Category category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get category
+ * @return category
+ **/
+ @ApiModelProperty(value = "")
+ public Category getCategory() {
+ return category;
+ }
+
+ public void setCategory(Category category) {
+ this.category = category;
+ }
+
+ public Pet name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @ApiModelProperty(example = "doggie", required = true, value = "")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Pet photoUrls(List photoUrls) {
+ this.photoUrls = photoUrls;
+ return this;
+ }
+
+ public Pet addPhotoUrlsItem(String photoUrlsItem) {
+ this.photoUrls.add(photoUrlsItem);
+ return this;
+ }
+
+ /**
+ * Get photoUrls
+ * @return photoUrls
+ **/
+ @ApiModelProperty(required = true, value = "")
+ public List getPhotoUrls() {
+ return photoUrls;
+ }
+
+ public void setPhotoUrls(List photoUrls) {
+ this.photoUrls = photoUrls;
+ }
+
+ public Pet tags(List tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ public Pet addTagsItem(Tag tagsItem) {
+ if (this.tags == null) {
+ this.tags = new ArrayList();
+ }
+ this.tags.add(tagsItem);
+ return this;
+ }
+
+ /**
+ * Get tags
+ * @return tags
+ **/
+ @ApiModelProperty(value = "")
+ public List getTags() {
+ return tags;
+ }
+
+ public void setTags(List tags) {
+ this.tags = tags;
+ }
+
+ public Pet status(StatusEnum status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * pet status in the store
+ * @return status
+ **/
+ @ApiModelProperty(value = "pet status in the store")
+ public StatusEnum getStatus() {
+ return status;
+ }
+
+ public void setStatus(StatusEnum status) {
+ this.status = status;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Pet pet = (Pet) o;
+ return Objects.equals(this.id, pet.id) &&
+ Objects.equals(this.category, pet.category) &&
+ Objects.equals(this.name, pet.name) &&
+ Objects.equals(this.photoUrls, pet.photoUrls) &&
+ Objects.equals(this.tags, pet.tags) &&
+ Objects.equals(this.status, pet.status);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, category, name, photoUrls, tags, status);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Pet {\n");
+
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" category: ").append(toIndentedString(category)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" photoUrls: ").append(toIndentedString(photoUrls)).append("\n");
+ sb.append(" tags: ").append(toIndentedString(tags)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java
new file mode 100644
index 000000000000..17bd805fa5c2
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java
@@ -0,0 +1,105 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * ReadOnlyFirst
+ */
+
+public class ReadOnlyFirst {
+ @JsonProperty("bar")
+ private String bar = null;
+
+ @JsonProperty("baz")
+ private String baz = null;
+
+ /**
+ * Get bar
+ * @return bar
+ **/
+ @ApiModelProperty(value = "")
+ public String getBar() {
+ return bar;
+ }
+
+ public ReadOnlyFirst baz(String baz) {
+ this.baz = baz;
+ return this;
+ }
+
+ /**
+ * Get baz
+ * @return baz
+ **/
+ @ApiModelProperty(value = "")
+ public String getBaz() {
+ return baz;
+ }
+
+ public void setBaz(String baz) {
+ this.baz = baz;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ReadOnlyFirst readOnlyFirst = (ReadOnlyFirst) o;
+ return Objects.equals(this.bar, readOnlyFirst.bar) &&
+ Objects.equals(this.baz, readOnlyFirst.baz);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(bar, baz);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ReadOnlyFirst {\n");
+
+ sb.append(" bar: ").append(toIndentedString(bar)).append("\n");
+ sb.append(" baz: ").append(toIndentedString(baz)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/SpecialModelName.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/SpecialModelName.java
new file mode 100644
index 000000000000..f01817425435
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/SpecialModelName.java
@@ -0,0 +1,91 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * SpecialModelName
+ */
+
+public class SpecialModelName {
+ @JsonProperty("$special[property.name]")
+ private Long $specialPropertyName = null;
+
+ public SpecialModelName $specialPropertyName(Long $specialPropertyName) {
+ this.$specialPropertyName = $specialPropertyName;
+ return this;
+ }
+
+ /**
+ * Get $specialPropertyName
+ * @return $specialPropertyName
+ **/
+ @ApiModelProperty(value = "")
+ public Long get$SpecialPropertyName() {
+ return $specialPropertyName;
+ }
+
+ public void set$SpecialPropertyName(Long $specialPropertyName) {
+ this.$specialPropertyName = $specialPropertyName;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SpecialModelName $specialModelName = (SpecialModelName) o;
+ return Objects.equals(this.$specialPropertyName, $specialModelName.$specialPropertyName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash($specialPropertyName);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SpecialModelName {\n");
+
+ sb.append(" $specialPropertyName: ").append(toIndentedString($specialPropertyName)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/StringBooleanMap.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/StringBooleanMap.java
new file mode 100644
index 000000000000..8b18b0c9b513
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/StringBooleanMap.java
@@ -0,0 +1,65 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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 java.util.HashMap;
+import java.util.Map;
+
+/**
+ * StringBooleanMap
+ */
+
+public class StringBooleanMap extends HashMap {
+
+ @Override
+ public boolean equals(java.lang.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 StringBooleanMap {\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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Tag.java
new file mode 100644
index 000000000000..2607dc2a1a5b
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/Tag.java
@@ -0,0 +1,114 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Tag
+ */
+
+public class Tag {
+ @JsonProperty("id")
+ private Long id = null;
+
+ @JsonProperty("name")
+ private String name = null;
+
+ public Tag id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @ApiModelProperty(value = "")
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Tag name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @ApiModelProperty(value = "")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Tag tag = (Tag) o;
+ return Objects.equals(this.id, tag.id) &&
+ Objects.equals(this.name, tag.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Tag {\n");
+
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/User.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/User.java
new file mode 100644
index 000000000000..42d73dd62dcf
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/model/User.java
@@ -0,0 +1,252 @@
+/*
+ * OpenAPI Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ *
+ *
+ * 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.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * User
+ */
+
+public class User {
+ @JsonProperty("id")
+ private Long id = null;
+
+ @JsonProperty("username")
+ private String username = null;
+
+ @JsonProperty("firstName")
+ private String firstName = null;
+
+ @JsonProperty("lastName")
+ private String lastName = null;
+
+ @JsonProperty("email")
+ private String email = null;
+
+ @JsonProperty("password")
+ private String password = null;
+
+ @JsonProperty("phone")
+ private String phone = null;
+
+ @JsonProperty("userStatus")
+ private Integer userStatus = null;
+
+ public User id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @ApiModelProperty(value = "")
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public User username(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get username
+ * @return username
+ **/
+ @ApiModelProperty(value = "")
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public User firstName(String firstName) {
+ this.firstName = firstName;
+ return this;
+ }
+
+ /**
+ * Get firstName
+ * @return firstName
+ **/
+ @ApiModelProperty(value = "")
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public User lastName(String lastName) {
+ this.lastName = lastName;
+ return this;
+ }
+
+ /**
+ * Get lastName
+ * @return lastName
+ **/
+ @ApiModelProperty(value = "")
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public User email(String email) {
+ this.email = email;
+ return this;
+ }
+
+ /**
+ * Get email
+ * @return email
+ **/
+ @ApiModelProperty(value = "")
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public User password(String password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get password
+ * @return password
+ **/
+ @ApiModelProperty(value = "")
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public User phone(String phone) {
+ this.phone = phone;
+ return this;
+ }
+
+ /**
+ * Get phone
+ * @return phone
+ **/
+ @ApiModelProperty(value = "")
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public User userStatus(Integer userStatus) {
+ this.userStatus = userStatus;
+ return this;
+ }
+
+ /**
+ * User Status
+ * @return userStatus
+ **/
+ @ApiModelProperty(value = "User Status")
+ public Integer getUserStatus() {
+ return userStatus;
+ }
+
+ public void setUserStatus(Integer userStatus) {
+ this.userStatus = userStatus;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ User user = (User) o;
+ return Objects.equals(this.id, user.id) &&
+ Objects.equals(this.username, user.username) &&
+ Objects.equals(this.firstName, user.firstName) &&
+ Objects.equals(this.lastName, user.lastName) &&
+ Objects.equals(this.email, user.email) &&
+ Objects.equals(this.password, user.password) &&
+ Objects.equals(this.phone, user.phone) &&
+ Objects.equals(this.userStatus, user.userStatus);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class User {\n");
+
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" username: ").append(toIndentedString(username)).append("\n");
+ sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n");
+ sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n");
+ sb.append(" email: ").append(toIndentedString(email)).append("\n");
+ sb.append(" password: ").append(toIndentedString(password)).append("\n");
+ sb.append(" phone: ").append(toIndentedString(phone)).append("\n");
+ sb.append(" userStatus: ").append(toIndentedString(userStatus)).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(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/StringUtilTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/StringUtilTest.java
new file mode 100644
index 000000000000..aa7c81759ec4
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/StringUtilTest.java
@@ -0,0 +1,33 @@
+package org.openapitools.client;
+
+import org.junit.*;
+import static org.junit.Assert.*;
+
+
+public class StringUtilTest {
+ @Test
+ public void testContainsIgnoreCase() {
+ assertTrue(StringUtil.containsIgnoreCase(new String[]{"abc"}, "abc"));
+ assertTrue(StringUtil.containsIgnoreCase(new String[]{"abc"}, "ABC"));
+ assertTrue(StringUtil.containsIgnoreCase(new String[]{"ABC"}, "abc"));
+ assertTrue(StringUtil.containsIgnoreCase(new String[]{null, "abc"}, "ABC"));
+ assertTrue(StringUtil.containsIgnoreCase(new String[]{null, "abc"}, null));
+
+ assertFalse(StringUtil.containsIgnoreCase(new String[]{"abc"}, "def"));
+ assertFalse(StringUtil.containsIgnoreCase(new String[]{}, "ABC"));
+ assertFalse(StringUtil.containsIgnoreCase(new String[]{}, null));
+ }
+
+ @Test
+ public void testJoin() {
+ String[] array = {"aa", "bb", "cc"};
+ assertEquals("aa,bb,cc", StringUtil.join(array, ","));
+ assertEquals("aa, bb, cc", StringUtil.join(array, ", "));
+ assertEquals("aabbcc", StringUtil.join(array, ""));
+ assertEquals("aa bb cc", StringUtil.join(array, " "));
+ assertEquals("aa\nbb\ncc", StringUtil.join(array, "\n"));
+
+ assertEquals("", StringUtil.join(new String[]{}, ","));
+ assertEquals("abc", StringUtil.join(new String[]{"abc"}, ","));
+ }
+}
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/AnotherFakeApiTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/AnotherFakeApiTest.java
new file mode 100644
index 000000000000..f9319e145300
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/AnotherFakeApiTest.java
@@ -0,0 +1,40 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.model.Client;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * API tests for AnotherFakeApi
+ */
+public class AnotherFakeApiTest {
+
+ private AnotherFakeApi api;
+
+ @Before
+ public void setup() {
+ api = new ApiClient().buildClient(AnotherFakeApi.class);
+ }
+
+
+ /**
+ * To test special tags
+ *
+ * To test special tags and operation ID starting with number
+ */
+ @Test
+ public void call123testSpecialTagsTest() {
+ Client client = null;
+ // Client response = api.call123testSpecialTags(client);
+
+ // TODO: test validations
+ }
+
+
+}
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/FakeApiTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/FakeApiTest.java
new file mode 100644
index 000000000000..c51538301121
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/FakeApiTest.java
@@ -0,0 +1,249 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import java.math.BigDecimal;
+import org.openapitools.client.model.Client;
+import java.io.File;
+import org.openapitools.client.model.FileSchemaTestClass;
+import org.threeten.bp.LocalDate;
+import org.threeten.bp.OffsetDateTime;
+import org.openapitools.client.model.OuterComposite;
+import org.openapitools.client.model.User;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * API tests for FakeApi
+ */
+public class FakeApiTest {
+
+ private FakeApi api;
+
+ @Before
+ public void setup() {
+ api = new ApiClient().buildClient(FakeApi.class);
+ }
+
+
+ /**
+ *
+ *
+ * Test serialization of outer boolean types
+ */
+ @Test
+ public void fakeOuterBooleanSerializeTest() {
+ Boolean body = null;
+ // Boolean response = api.fakeOuterBooleanSerialize(body);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ *
+ *
+ * Test serialization of object with outer number type
+ */
+ @Test
+ public void fakeOuterCompositeSerializeTest() {
+ OuterComposite outerComposite = null;
+ // OuterComposite response = api.fakeOuterCompositeSerialize(outerComposite);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ *
+ *
+ * Test serialization of outer number types
+ */
+ @Test
+ public void fakeOuterNumberSerializeTest() {
+ BigDecimal body = null;
+ // BigDecimal response = api.fakeOuterNumberSerialize(body);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ *
+ *
+ * Test serialization of outer string types
+ */
+ @Test
+ public void fakeOuterStringSerializeTest() {
+ String body = null;
+ // String response = api.fakeOuterStringSerialize(body);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ *
+ *
+ * For this test, the body for this request much reference a schema named `File`.
+ */
+ @Test
+ public void testBodyWithFileSchemaTest() {
+ FileSchemaTestClass fileSchemaTestClass = null;
+ // api.testBodyWithFileSchema(fileSchemaTestClass);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ *
+ *
+ *
+ */
+ @Test
+ public void testBodyWithQueryParamsTest() {
+ String query = null;
+ User user = null;
+ // api.testBodyWithQueryParams(query, user);
+
+ // TODO: test validations
+ }
+
+ /**
+ *
+ *
+ *
+ *
+ * This tests the overload of the method that uses a Map for query parameters instead of
+ * listing them out individually.
+ */
+ @Test
+ public void testBodyWithQueryParamsTestQueryMap() {
+ User user = null;
+ FakeApi.TestBodyWithQueryParamsQueryParams queryParams = new FakeApi.TestBodyWithQueryParamsQueryParams()
+ .query(null);
+ // api.testBodyWithQueryParams(user, queryParams);
+
+ // TODO: test validations
+ }
+
+ /**
+ * To test \"client\" model
+ *
+ * To test \"client\" model
+ */
+ @Test
+ public void testClientModelTest() {
+ Client client = null;
+ // Client response = api.testClientModel(client);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ *
+ * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ */
+ @Test
+ public void testEndpointParametersTest() {
+ BigDecimal number = null;
+ Double _double = null;
+ String patternWithoutDelimiter = null;
+ byte[] _byte = null;
+ Integer integer = null;
+ Integer int32 = null;
+ Long int64 = null;
+ Float _float = null;
+ String string = null;
+ File binary = null;
+ LocalDate date = null;
+ OffsetDateTime dateTime = null;
+ String password = null;
+ String paramCallback = null;
+ // api.testEndpointParameters(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * To test enum parameters
+ *
+ * To test enum parameters
+ */
+ @Test
+ public void testEnumParametersTest() {
+ List enumHeaderStringArray = null;
+ String enumHeaderString = null;
+ List enumQueryStringArray = null;
+ String enumQueryString = null;
+ Integer enumQueryInteger = null;
+ Double enumQueryDouble = null;
+ List enumFormStringArray = null;
+ String enumFormString = null;
+ // api.testEnumParameters(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString);
+
+ // TODO: test validations
+ }
+
+ /**
+ * To test enum parameters
+ *
+ * To test enum parameters
+ *
+ * This tests the overload of the method that uses a Map for query parameters instead of
+ * listing them out individually.
+ */
+ @Test
+ public void testEnumParametersTestQueryMap() {
+ List enumHeaderStringArray = null;
+ String enumHeaderString = null;
+ List enumFormStringArray = null;
+ String enumFormString = null;
+ FakeApi.TestEnumParametersQueryParams queryParams = new FakeApi.TestEnumParametersQueryParams()
+ .enumQueryStringArray(null)
+ .enumQueryString(null)
+ .enumQueryInteger(null)
+ .enumQueryDouble(null);
+ // api.testEnumParameters(enumHeaderStringArray, enumHeaderString, enumFormStringArray, enumFormString, queryParams);
+
+ // TODO: test validations
+ }
+
+ /**
+ * test inline additionalProperties
+ *
+ *
+ */
+ @Test
+ public void testInlineAdditionalPropertiesTest() {
+ Map requestBody = null;
+ // api.testInlineAdditionalProperties(requestBody);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * test json serialization of form data
+ *
+ *
+ */
+ @Test
+ public void testJsonFormDataTest() {
+ String param = null;
+ String param2 = null;
+ // api.testJsonFormData(param, param2);
+
+ // TODO: test validations
+ }
+
+
+}
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/FakeClassnameTags123ApiTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/FakeClassnameTags123ApiTest.java
new file mode 100644
index 000000000000..192ca5e1e30d
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/FakeClassnameTags123ApiTest.java
@@ -0,0 +1,40 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.model.Client;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * API tests for FakeClassnameTags123Api
+ */
+public class FakeClassnameTags123ApiTest {
+
+ private FakeClassnameTags123Api api;
+
+ @Before
+ public void setup() {
+ api = new ApiClient().buildClient(FakeClassnameTags123Api.class);
+ }
+
+
+ /**
+ * To test class name in snake case
+ *
+ * To test class name in snake case
+ */
+ @Test
+ public void testClassnameTest() {
+ Client client = null;
+ // Client response = api.testClassname(client);
+
+ // TODO: test validations
+ }
+
+
+}
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/PetApiTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/PetApiTest.java
new file mode 100644
index 000000000000..3914f4c01a55
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/PetApiTest.java
@@ -0,0 +1,193 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import java.io.File;
+import org.openapitools.client.model.ModelApiResponse;
+import org.openapitools.client.model.Pet;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * API tests for PetApi
+ */
+public class PetApiTest {
+
+ private PetApi api;
+
+ @Before
+ public void setup() {
+ api = new ApiClient().buildClient(PetApi.class);
+ }
+
+
+ /**
+ * Add a new pet to the store
+ *
+ *
+ */
+ @Test
+ public void addPetTest() {
+ Pet pet = null;
+ // api.addPet(pet);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Deletes a pet
+ *
+ *
+ */
+ @Test
+ public void deletePetTest() {
+ Long petId = null;
+ String apiKey = null;
+ // api.deletePet(petId, apiKey);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Finds Pets by status
+ *
+ * Multiple status values can be provided with comma separated strings
+ */
+ @Test
+ public void findPetsByStatusTest() {
+ List status = null;
+ // List response = api.findPetsByStatus(status);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Finds Pets by status
+ *
+ * Multiple status values can be provided with comma separated strings
+ *
+ * This tests the overload of the method that uses a Map for query parameters instead of
+ * listing them out individually.
+ */
+ @Test
+ public void findPetsByStatusTestQueryMap() {
+ PetApi.FindPetsByStatusQueryParams queryParams = new PetApi.FindPetsByStatusQueryParams()
+ .status(null);
+ // List response = api.findPetsByStatus(queryParams);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Finds Pets by tags
+ *
+ * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+ */
+ @Test
+ public void findPetsByTagsTest() {
+ List tags = null;
+ // List response = api.findPetsByTags(tags);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Finds Pets by tags
+ *
+ * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+ *
+ * This tests the overload of the method that uses a Map for query parameters instead of
+ * listing them out individually.
+ */
+ @Test
+ public void findPetsByTagsTestQueryMap() {
+ PetApi.FindPetsByTagsQueryParams queryParams = new PetApi.FindPetsByTagsQueryParams()
+ .tags(null);
+ // List response = api.findPetsByTags(queryParams);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Find pet by ID
+ *
+ * Returns a single pet
+ */
+ @Test
+ public void getPetByIdTest() {
+ Long petId = null;
+ // Pet response = api.getPetById(petId);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Update an existing pet
+ *
+ *
+ */
+ @Test
+ public void updatePetTest() {
+ Pet pet = null;
+ // api.updatePet(pet);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Updates a pet in the store with form data
+ *
+ *
+ */
+ @Test
+ public void updatePetWithFormTest() {
+ Long petId = null;
+ String name = null;
+ String status = null;
+ // api.updatePetWithForm(petId, name, status);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * uploads an image
+ *
+ *
+ */
+ @Test
+ public void uploadFileTest() {
+ Long petId = null;
+ String additionalMetadata = null;
+ File file = null;
+ // ModelApiResponse response = api.uploadFile(petId, additionalMetadata, file);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * uploads an image (required)
+ *
+ *
+ */
+ @Test
+ public void uploadFileWithRequiredFileTest() {
+ Long petId = null;
+ File requiredFile = null;
+ String additionalMetadata = null;
+ // ModelApiResponse response = api.uploadFileWithRequiredFile(petId, requiredFile, additionalMetadata);
+
+ // TODO: test validations
+ }
+
+
+}
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/StoreApiTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/StoreApiTest.java
new file mode 100644
index 000000000000..bdb0b7a1e096
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/StoreApiTest.java
@@ -0,0 +1,81 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.model.Order;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * API tests for StoreApi
+ */
+public class StoreApiTest {
+
+ private StoreApi api;
+
+ @Before
+ public void setup() {
+ api = new ApiClient().buildClient(StoreApi.class);
+ }
+
+
+ /**
+ * Delete purchase order by ID
+ *
+ * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
+ */
+ @Test
+ public void deleteOrderTest() {
+ String orderId = null;
+ // api.deleteOrder(orderId);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Returns pet inventories by status
+ *
+ * Returns a map of status codes to quantities
+ */
+ @Test
+ public void getInventoryTest() {
+ // Map response = api.getInventory();
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Find purchase order by ID
+ *
+ * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
+ */
+ @Test
+ public void getOrderByIdTest() {
+ Long orderId = null;
+ // Order response = api.getOrderById(orderId);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Place an order for a pet
+ *
+ *
+ */
+ @Test
+ public void placeOrderTest() {
+ Order order = null;
+ // Order response = api.placeOrder(order);
+
+ // TODO: test validations
+ }
+
+
+}
diff --git a/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/UserApiTest.java b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/UserApiTest.java
new file mode 100644
index 000000000000..c1d841f1e8a4
--- /dev/null
+++ b/samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/api/UserApiTest.java
@@ -0,0 +1,156 @@
+package org.openapitools.client.api;
+
+import org.openapitools.client.ApiClient;
+import org.openapitools.client.model.User;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * API tests for UserApi
+ */
+public class UserApiTest {
+
+ private UserApi api;
+
+ @Before
+ public void setup() {
+ api = new ApiClient().buildClient(UserApi.class);
+ }
+
+
+ /**
+ * Create user
+ *
+ * This can only be done by the logged in user.
+ */
+ @Test
+ public void createUserTest() {
+ User user = null;
+ // api.createUser(user);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Creates list of users with given input array
+ *
+ *
+ */
+ @Test
+ public void createUsersWithArrayInputTest() {
+ List user = null;
+ // api.createUsersWithArrayInput(user);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Creates list of users with given input array
+ *
+ *
+ */
+ @Test
+ public void createUsersWithListInputTest() {
+ List user = null;
+ // api.createUsersWithListInput(user);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Delete user
+ *
+ * This can only be done by the logged in user.
+ */
+ @Test
+ public void deleteUserTest() {
+ String username = null;
+ // api.deleteUser(username);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Get user by user name
+ *
+ *
+ */
+ @Test
+ public void getUserByNameTest() {
+ String username = null;
+ // User response = api.getUserByName(username);
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Logs user into the system
+ *
+ *
+ */
+ @Test
+ public void loginUserTest() {
+ String username = null;
+ String password = null;
+ // String response = api.loginUser(username, password);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Logs user into the system
+ *
+ *
+ *
+ * This tests the overload of the method that uses a Map for query parameters instead of
+ * listing them out individually.
+ */
+ @Test
+ public void loginUserTestQueryMap() {
+ UserApi.LoginUserQueryParams queryParams = new UserApi.LoginUserQueryParams()
+ .username(null)
+ .password(null);
+ // String response = api.loginUser(queryParams);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Logs out current logged in user session
+ *
+ *
+ */
+ @Test
+ public void logoutUserTest() {
+ // api.logoutUser();
+
+ // TODO: test validations
+ }
+
+
+ /**
+ * Updated user
+ *
+ * This can only be done by the logged in user.
+ */
+ @Test
+ public void updateUserTest() {
+ String username = null;
+ User user = null;
+ // api.updateUser(username, user);
+
+ // TODO: test validations
+ }
+
+
+}