headers) {
+ return status >= 400;
+ }
+
+ @Override
+ public ApiException toThrowable(Response response) {
+ return new ApiException(response);
+ }
+}
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java
new file mode 100644
index 00000000000..5bd3c51c8c4
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java
@@ -0,0 +1,133 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.api;
+
+import java.io.File;
+import org.openapitools.client.model.ModelApiResponse;
+import org.openapitools.client.model.Pet;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.MediaType;
+import org.apache.cxf.jaxrs.ext.multipart.*;
+
+import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
+import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
+
+/**
+ * OpenAPI Petstore
+ *
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ */
+
+@RegisterRestClient
+@RegisterProvider(ApiExceptionMapper.class)
+@Path("/")
+public interface PetApi {
+
+ /**
+ * Add a new pet to the store
+ *
+ */
+ @POST
+ @Path("/pet")
+ @Consumes({ "application/json", "application/xml" })
+ public void addPet(Pet body) throws ApiException, ProcessingException;
+
+ /**
+ * Deletes a pet
+ *
+ */
+ @DELETE
+ @Path("/pet/{petId}")
+ public void deletePet(@PathParam("petId") Long petId, @HeaderParam("api_key") String apiKey) throws ApiException, ProcessingException;
+
+ /**
+ * Finds Pets by status
+ *
+ * Multiple status values can be provided with comma separated strings
+ *
+ */
+ @GET
+ @Path("/pet/findByStatus")
+ @Produces({ "application/xml", "application/json" })
+ public List findPetsByStatus(@QueryParam("status") List status) throws ApiException, ProcessingException;
+
+ /**
+ * Finds Pets by tags
+ *
+ * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+ *
+ */
+ @GET
+ @Path("/pet/findByTags")
+ @Produces({ "application/xml", "application/json" })
+ public List findPetsByTags(@QueryParam("tags") List tags) throws ApiException, ProcessingException;
+
+ /**
+ * Find pet by ID
+ *
+ * Returns a single pet
+ *
+ */
+ @GET
+ @Path("/pet/{petId}")
+ @Produces({ "application/xml", "application/json" })
+ public Pet getPetById(@PathParam("petId") Long petId) throws ApiException, ProcessingException;
+
+ /**
+ * Update an existing pet
+ *
+ */
+ @PUT
+ @Path("/pet")
+ @Consumes({ "application/json", "application/xml" })
+ public void updatePet(Pet body) throws ApiException, ProcessingException;
+
+ /**
+ * Updates a pet in the store with form data
+ *
+ */
+ @POST
+ @Path("/pet/{petId}")
+ @Consumes({ "application/x-www-form-urlencoded" })
+ public void updatePetWithForm(@PathParam("petId") Long petId, @Multipart(value = "name", required = false) String name, @Multipart(value = "status", required = false) String status) throws ApiException, ProcessingException;
+
+ /**
+ * uploads an image
+ *
+ */
+ @POST
+ @Path("/pet/{petId}/uploadImage")
+ @Consumes({ "multipart/form-data" })
+ @Produces({ "application/json" })
+ public ModelApiResponse uploadFile(@PathParam("petId") Long petId, @Multipart(value = "additionalMetadata", required = false) String additionalMetadata, @Multipart(value = "file" , required = false) Attachment fileDetail) throws ApiException, ProcessingException;
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java
new file mode 100644
index 00000000000..e017375ba14
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java
@@ -0,0 +1,94 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.api;
+
+import org.openapitools.client.model.Order;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.MediaType;
+import org.apache.cxf.jaxrs.ext.multipart.*;
+
+import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
+import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
+
+/**
+ * OpenAPI Petstore
+ *
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ */
+
+@RegisterRestClient
+@RegisterProvider(ApiExceptionMapper.class)
+@Path("/")
+public interface StoreApi {
+
+ /**
+ * Delete purchase order by ID
+ *
+ * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
+ *
+ */
+ @DELETE
+ @Path("/store/order/{orderId}")
+ public void deleteOrder(@PathParam("orderId") String orderId) throws ApiException, ProcessingException;
+
+ /**
+ * Returns pet inventories by status
+ *
+ * Returns a map of status codes to quantities
+ *
+ */
+ @GET
+ @Path("/store/inventory")
+ @Produces({ "application/json" })
+ public Map getInventory() throws ApiException, ProcessingException;
+
+ /**
+ * Find purchase order by ID
+ *
+ * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
+ *
+ */
+ @GET
+ @Path("/store/order/{orderId}")
+ @Produces({ "application/xml", "application/json" })
+ public Order getOrderById(@PathParam("orderId") Long orderId) throws ApiException, ProcessingException;
+
+ /**
+ * Place an order for a pet
+ *
+ */
+ @POST
+ @Path("/store/order")
+ @Produces({ "application/xml", "application/json" })
+ public Order placeOrder(Order body) throws ApiException, ProcessingException;
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java
new file mode 100644
index 00000000000..c40f105e971
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java
@@ -0,0 +1,125 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.api;
+
+import org.openapitools.client.model.User;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.MediaType;
+import org.apache.cxf.jaxrs.ext.multipart.*;
+
+import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
+import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
+
+/**
+ * OpenAPI Petstore
+ *
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ */
+
+@RegisterRestClient
+@RegisterProvider(ApiExceptionMapper.class)
+@Path("/")
+public interface UserApi {
+
+ /**
+ * Create user
+ *
+ * This can only be done by the logged in user.
+ *
+ */
+ @POST
+ @Path("/user")
+ public void createUser(User body) throws ApiException, ProcessingException;
+
+ /**
+ * Creates list of users with given input array
+ *
+ */
+ @POST
+ @Path("/user/createWithArray")
+ public void createUsersWithArrayInput(List body) throws ApiException, ProcessingException;
+
+ /**
+ * Creates list of users with given input array
+ *
+ */
+ @POST
+ @Path("/user/createWithList")
+ public void createUsersWithListInput(List body) throws ApiException, ProcessingException;
+
+ /**
+ * Delete user
+ *
+ * This can only be done by the logged in user.
+ *
+ */
+ @DELETE
+ @Path("/user/{username}")
+ public void deleteUser(@PathParam("username") String username) throws ApiException, ProcessingException;
+
+ /**
+ * Get user by user name
+ *
+ */
+ @GET
+ @Path("/user/{username}")
+ @Produces({ "application/xml", "application/json" })
+ public User getUserByName(@PathParam("username") String username) throws ApiException, ProcessingException;
+
+ /**
+ * Logs user into the system
+ *
+ */
+ @GET
+ @Path("/user/login")
+ @Produces({ "application/xml", "application/json" })
+ public String loginUser(@QueryParam("username") String username, @QueryParam("password") String password) throws ApiException, ProcessingException;
+
+ /**
+ * Logs out current logged in user session
+ *
+ */
+ @GET
+ @Path("/user/logout")
+ public void logoutUser() throws ApiException, ProcessingException;
+
+ /**
+ * Updated user
+ *
+ * This can only be done by the logged in user.
+ *
+ */
+ @PUT
+ @Path("/user/{username}")
+ public void updateUser(@PathParam("username") String username, User body) throws ApiException, ProcessingException;
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Category.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Category.java
new file mode 100644
index 00000000000..78b8362f881
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Category.java
@@ -0,0 +1,114 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.model;
+
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.json.bind.annotation.JsonbProperty;
+
+/**
+ * A category for a pet
+ **/
+public class Category {
+
+ private Long id;
+
+ private String name;
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @JsonbProperty("id")
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * Set id
+ **/
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Category id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @JsonbProperty("name")
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set name
+ **/
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Category name(String name) {
+ this.name = name;
+ return this;
+ }
+
+
+ /**
+ * Create a string representation of this pojo.
+ **/
+ @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 static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/ModelApiResponse.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/ModelApiResponse.java
new file mode 100644
index 00000000000..64fbd3a80f0
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/ModelApiResponse.java
@@ -0,0 +1,138 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.model;
+
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.json.bind.annotation.JsonbProperty;
+
+/**
+ * Describes the result of uploading an image resource
+ **/
+public class ModelApiResponse {
+
+ private Integer code;
+
+ private String type;
+
+ private String message;
+
+ /**
+ * Get code
+ * @return code
+ **/
+ @JsonbProperty("code")
+ public Integer getCode() {
+ return code;
+ }
+
+ /**
+ * Set code
+ **/
+ public void setCode(Integer code) {
+ this.code = code;
+ }
+
+ public ModelApiResponse code(Integer code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get type
+ * @return type
+ **/
+ @JsonbProperty("type")
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Set type
+ **/
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public ModelApiResponse type(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get message
+ * @return message
+ **/
+ @JsonbProperty("message")
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Set message
+ **/
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public ModelApiResponse message(String message) {
+ this.message = message;
+ return this;
+ }
+
+
+ /**
+ * Create a string representation of this pojo.
+ **/
+ @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 static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Order.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Order.java
new file mode 100644
index 00000000000..4a91c65d22d
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Order.java
@@ -0,0 +1,249 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.model;
+
+import java.util.Date;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.json.bind.annotation.JsonbProperty;
+
+/**
+ * An order for a pets from the pet store
+ **/
+public class Order {
+
+ private Long id;
+
+ private Long petId;
+
+ private Integer quantity;
+
+ private Date shipDate;
+
+@XmlType(name="StatusEnum")
+@XmlEnum(String.class)
+public enum StatusEnum {
+
+@XmlEnumValue("placed") PLACED(String.valueOf("placed")), @XmlEnumValue("approved") APPROVED(String.valueOf("approved")), @XmlEnumValue("delivered") DELIVERED(String.valueOf("delivered"));
+
+
+ private String value;
+
+ StatusEnum (String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static StatusEnum fromValue(String v) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "'");
+ }
+}
+
+ /**
+ * Order Status
+ **/
+ private StatusEnum status;
+
+ private Boolean complete = false;
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @JsonbProperty("id")
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * Set id
+ **/
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Order id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get petId
+ * @return petId
+ **/
+ @JsonbProperty("petId")
+ public Long getPetId() {
+ return petId;
+ }
+
+ /**
+ * Set petId
+ **/
+ public void setPetId(Long petId) {
+ this.petId = petId;
+ }
+
+ public Order petId(Long petId) {
+ this.petId = petId;
+ return this;
+ }
+
+ /**
+ * Get quantity
+ * @return quantity
+ **/
+ @JsonbProperty("quantity")
+ public Integer getQuantity() {
+ return quantity;
+ }
+
+ /**
+ * Set quantity
+ **/
+ public void setQuantity(Integer quantity) {
+ this.quantity = quantity;
+ }
+
+ public Order quantity(Integer quantity) {
+ this.quantity = quantity;
+ return this;
+ }
+
+ /**
+ * Get shipDate
+ * @return shipDate
+ **/
+ @JsonbProperty("shipDate")
+ public Date getShipDate() {
+ return shipDate;
+ }
+
+ /**
+ * Set shipDate
+ **/
+ public void setShipDate(Date shipDate) {
+ this.shipDate = shipDate;
+ }
+
+ public Order shipDate(Date shipDate) {
+ this.shipDate = shipDate;
+ return this;
+ }
+
+ /**
+ * Order Status
+ * @return status
+ **/
+ @JsonbProperty("status")
+ public String getStatus() {
+ if (status == null) {
+ return null;
+ }
+ return status.value();
+ }
+
+ /**
+ * Set status
+ **/
+ public void setStatus(StatusEnum status) {
+ this.status = status;
+ }
+
+ public Order status(StatusEnum status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get complete
+ * @return complete
+ **/
+ @JsonbProperty("complete")
+ public Boolean getComplete() {
+ return complete;
+ }
+
+ /**
+ * Set complete
+ **/
+ public void setComplete(Boolean complete) {
+ this.complete = complete;
+ }
+
+ public Order complete(Boolean complete) {
+ this.complete = complete;
+ return this;
+ }
+
+
+ /**
+ * Create a string representation of this pojo.
+ **/
+ @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 static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Pet.java
new file mode 100644
index 00000000000..1cdddd7789d
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Pet.java
@@ -0,0 +1,262 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.openapitools.client.model.Category;
+import org.openapitools.client.model.Tag;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.json.bind.annotation.JsonbProperty;
+
+/**
+ * A pet for sale in the pet store
+ **/
+public class Pet {
+
+ private Long id;
+
+ private Category category;
+
+ private String name;
+
+ private List photoUrls = new ArrayList();
+
+ private List tags = null;
+
+@XmlType(name="StatusEnum")
+@XmlEnum(String.class)
+public enum StatusEnum {
+
+@XmlEnumValue("available") AVAILABLE(String.valueOf("available")), @XmlEnumValue("pending") PENDING(String.valueOf("pending")), @XmlEnumValue("sold") SOLD(String.valueOf("sold"));
+
+
+ private String value;
+
+ StatusEnum (String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static StatusEnum fromValue(String v) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "'");
+ }
+}
+
+ /**
+ * pet status in the store
+ **/
+ private StatusEnum status;
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @JsonbProperty("id")
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * Set id
+ **/
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Pet id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get category
+ * @return category
+ **/
+ @JsonbProperty("category")
+ public Category getCategory() {
+ return category;
+ }
+
+ /**
+ * Set category
+ **/
+ public void setCategory(Category category) {
+ this.category = category;
+ }
+
+ public Pet category(Category category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @JsonbProperty("name")
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set name
+ **/
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Pet name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get photoUrls
+ * @return photoUrls
+ **/
+ @JsonbProperty("photoUrls")
+ public List getPhotoUrls() {
+ return photoUrls;
+ }
+
+ /**
+ * Set photoUrls
+ **/
+ public void setPhotoUrls(List photoUrls) {
+ this.photoUrls = photoUrls;
+ }
+
+ public Pet photoUrls(List photoUrls) {
+ this.photoUrls = photoUrls;
+ return this;
+ }
+
+ public Pet addPhotoUrlsItem(String photoUrlsItem) {
+ this.photoUrls.add(photoUrlsItem);
+ return this;
+ }
+
+ /**
+ * Get tags
+ * @return tags
+ **/
+ @JsonbProperty("tags")
+ public List getTags() {
+ return tags;
+ }
+
+ /**
+ * Set tags
+ **/
+ public void setTags(List tags) {
+ this.tags = tags;
+ }
+
+ public Pet tags(List tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ public Pet addTagsItem(Tag tagsItem) {
+ this.tags.add(tagsItem);
+ return this;
+ }
+
+ /**
+ * pet status in the store
+ * @return status
+ **/
+ @JsonbProperty("status")
+ public String getStatus() {
+ if (status == null) {
+ return null;
+ }
+ return status.value();
+ }
+
+ /**
+ * Set status
+ **/
+ public void setStatus(StatusEnum status) {
+ this.status = status;
+ }
+
+ public Pet status(StatusEnum status) {
+ this.status = status;
+ return this;
+ }
+
+
+ /**
+ * Create a string representation of this pojo.
+ **/
+ @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 static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Tag.java
new file mode 100644
index 00000000000..5915eb2f4d4
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/Tag.java
@@ -0,0 +1,114 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.model;
+
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.json.bind.annotation.JsonbProperty;
+
+/**
+ * A tag for a pet
+ **/
+public class Tag {
+
+ private Long id;
+
+ private String name;
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @JsonbProperty("id")
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * Set id
+ **/
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Tag id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @JsonbProperty("name")
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set name
+ **/
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Tag name(String name) {
+ this.name = name;
+ return this;
+ }
+
+
+ /**
+ * Create a string representation of this pojo.
+ **/
+ @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 static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/User.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/User.java
new file mode 100644
index 00000000000..49cfbedb33f
--- /dev/null
+++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/model/User.java
@@ -0,0 +1,261 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 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.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.client.model;
+
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.json.bind.annotation.JsonbProperty;
+
+/**
+ * A User who is purchasing from the pet store
+ **/
+public class User {
+
+ private Long id;
+
+ private String username;
+
+ private String firstName;
+
+ private String lastName;
+
+ private String email;
+
+ private String password;
+
+ private String phone;
+
+ /**
+ * User Status
+ **/
+ private Integer userStatus;
+
+ /**
+ * Get id
+ * @return id
+ **/
+ @JsonbProperty("id")
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * Set id
+ **/
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public User id(Long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get username
+ * @return username
+ **/
+ @JsonbProperty("username")
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Set username
+ **/
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public User username(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get firstName
+ * @return firstName
+ **/
+ @JsonbProperty("firstName")
+ public String getFirstName() {
+ return firstName;
+ }
+
+ /**
+ * Set firstName
+ **/
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public User firstName(String firstName) {
+ this.firstName = firstName;
+ return this;
+ }
+
+ /**
+ * Get lastName
+ * @return lastName
+ **/
+ @JsonbProperty("lastName")
+ public String getLastName() {
+ return lastName;
+ }
+
+ /**
+ * Set lastName
+ **/
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public User lastName(String lastName) {
+ this.lastName = lastName;
+ return this;
+ }
+
+ /**
+ * Get email
+ * @return email
+ **/
+ @JsonbProperty("email")
+ public String getEmail() {
+ return email;
+ }
+
+ /**
+ * Set email
+ **/
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public User email(String email) {
+ this.email = email;
+ return this;
+ }
+
+ /**
+ * Get password
+ * @return password
+ **/
+ @JsonbProperty("password")
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * Set password
+ **/
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public User password(String password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get phone
+ * @return phone
+ **/
+ @JsonbProperty("phone")
+ public String getPhone() {
+ return phone;
+ }
+
+ /**
+ * Set phone
+ **/
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public User phone(String phone) {
+ this.phone = phone;
+ return this;
+ }
+
+ /**
+ * User Status
+ * @return userStatus
+ **/
+ @JsonbProperty("userStatus")
+ public Integer getUserStatus() {
+ return userStatus;
+ }
+
+ /**
+ * Set userStatus
+ **/
+ public void setUserStatus(Integer userStatus) {
+ this.userStatus = userStatus;
+ }
+
+ public User userStatus(Integer userStatus) {
+ this.userStatus = userStatus;
+ return this;
+ }
+
+
+ /**
+ * Create a string representation of this pojo.
+ **/
+ @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 static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+