diff --git a/src/main/java/com/getconvoy/api/EndpointsApi.java b/src/main/java/com/getconvoy/api/EndpointsApi.java index 075b92a..3bc2d4f 100644 --- a/src/main/java/com/getconvoy/api/EndpointsApi.java +++ b/src/main/java/com/getconvoy/api/EndpointsApi.java @@ -19,6 +19,7 @@ import com.getconvoy.client.Pair; import com.getconvoy.models.CreateEndpoint201Response; +import com.getconvoy.models.GetEndpointPeriodFailureRates200Response; import com.getconvoy.models.GetEndpoints200Response; import com.getconvoy.models.GetProjects400Response; import com.getconvoy.models.ModelsCreateEndpoint; @@ -823,6 +824,155 @@ private HttpRequest.Builder getEndpointRequestBuilder(@jakarta.annotation.Nonnul return localVarRequestBuilder; } + /** + * Endpoint period failure rates + * Display-only delivery rates for the given endpoint ids over a date range (default last 7 days). Independent of the list so a slow COUNT cannot delay the table. + * @param projectID Project ID (required) + * @param endpointId Endpoint IDs (optional) + * @param startDate Start date (optional) + * @param endDate End date (optional) + * @return GetEndpointPeriodFailureRates200Response + * @throws ApiException if fails to make API call + */ + public GetEndpointPeriodFailureRates200Response getEndpointPeriodFailureRates(@jakarta.annotation.Nonnull String projectID, @jakarta.annotation.Nullable List endpointId, @jakarta.annotation.Nullable String startDate, @jakarta.annotation.Nullable String endDate) throws ApiException { + return getEndpointPeriodFailureRates(projectID, endpointId, startDate, endDate, null); + } + + /** + * Endpoint period failure rates + * Display-only delivery rates for the given endpoint ids over a date range (default last 7 days). Independent of the list so a slow COUNT cannot delay the table. + * @param projectID Project ID (required) + * @param endpointId Endpoint IDs (optional) + * @param startDate Start date (optional) + * @param endDate End date (optional) + * @param headers Optional headers to include in the request + * @return GetEndpointPeriodFailureRates200Response + * @throws ApiException if fails to make API call + */ + public GetEndpointPeriodFailureRates200Response getEndpointPeriodFailureRates(@jakarta.annotation.Nonnull String projectID, @jakarta.annotation.Nullable List endpointId, @jakarta.annotation.Nullable String startDate, @jakarta.annotation.Nullable String endDate, Map headers) throws ApiException { + ApiResponse localVarResponse = getEndpointPeriodFailureRatesWithHttpInfo(projectID, endpointId, startDate, endDate, headers); + return localVarResponse.getData(); + } + + /** + * Endpoint period failure rates + * Display-only delivery rates for the given endpoint ids over a date range (default last 7 days). Independent of the list so a slow COUNT cannot delay the table. + * @param projectID Project ID (required) + * @param endpointId Endpoint IDs (optional) + * @param startDate Start date (optional) + * @param endDate End date (optional) + * @return ApiResponse<GetEndpointPeriodFailureRates200Response> + * @throws ApiException if fails to make API call + */ + public ApiResponse getEndpointPeriodFailureRatesWithHttpInfo(@jakarta.annotation.Nonnull String projectID, @jakarta.annotation.Nullable List endpointId, @jakarta.annotation.Nullable String startDate, @jakarta.annotation.Nullable String endDate) throws ApiException { + return getEndpointPeriodFailureRatesWithHttpInfo(projectID, endpointId, startDate, endDate, null); + } + + /** + * Endpoint period failure rates + * Display-only delivery rates for the given endpoint ids over a date range (default last 7 days). Independent of the list so a slow COUNT cannot delay the table. + * @param projectID Project ID (required) + * @param endpointId Endpoint IDs (optional) + * @param startDate Start date (optional) + * @param endDate End date (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<GetEndpointPeriodFailureRates200Response> + * @throws ApiException if fails to make API call + */ + public ApiResponse getEndpointPeriodFailureRatesWithHttpInfo(@jakarta.annotation.Nonnull String projectID, @jakarta.annotation.Nullable List endpointId, @jakarta.annotation.Nullable String startDate, @jakarta.annotation.Nullable String endDate, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getEndpointPeriodFailureRatesRequestBuilder(projectID, endpointId, startDate, endDate, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getEndpointPeriodFailureRates", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + null + ); + } + + + + String responseBody = new String(localVarResponseBody.readAllBytes()); + GetEndpointPeriodFailureRates200Response responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + + + return new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseValue + ); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getEndpointPeriodFailureRatesRequestBuilder(@jakarta.annotation.Nonnull String projectID, @jakarta.annotation.Nullable List endpointId, @jakarta.annotation.Nullable String startDate, @jakarta.annotation.Nullable String endDate, Map headers) throws ApiException { + // verify the required parameter 'projectID' is set + if (projectID == null) { + throw new ApiException(400, "Missing the required parameter 'projectID' when calling getEndpointPeriodFailureRates"); + } + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/v1/projects/{projectID}/endpoints/period-failure-rates" + .replace("{projectID}", ApiClient.urlEncode(projectID.toString())); + + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "endpointId"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "endpointId", endpointId)); + localVarQueryParameterBaseName = "startDate"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("startDate", startDate)); + localVarQueryParameterBaseName = "endDate"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("endDate", endDate)); + + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + + localVarRequestBuilder.header("Accept", "application/json"); + + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * List all endpoints * This endpoint fetches an endpoints diff --git a/src/main/java/com/getconvoy/models/GetEndpointPeriodFailureRates200Response.java b/src/main/java/com/getconvoy/models/GetEndpointPeriodFailureRates200Response.java new file mode 100644 index 0000000..7842ca9 --- /dev/null +++ b/src/main/java/com/getconvoy/models/GetEndpointPeriodFailureRates200Response.java @@ -0,0 +1,236 @@ +/* + * Convoy API Reference + * Convoy is a fast and secure webhooks proxy. This document contains datastore's API specification. + * + * The version of the OpenAPI document: 26.3.5 + * Contact: support@getconvoy.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.getconvoy.models; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import com.getconvoy.models.ModelsEndpointPeriodFailureRate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.getconvoy.client.ApiClient; +/** + * GetEndpointPeriodFailureRates200Response + */ +@JsonPropertyOrder({ + GetEndpointPeriodFailureRates200Response.JSON_PROPERTY_MESSAGE, + GetEndpointPeriodFailureRates200Response.JSON_PROPERTY_STATUS, + GetEndpointPeriodFailureRates200Response.JSON_PROPERTY_DATA +}) +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.23.0") +public class GetEndpointPeriodFailureRates200Response { + public static final String JSON_PROPERTY_MESSAGE = "message"; + @jakarta.annotation.Nullable + private String message; + + public static final String JSON_PROPERTY_STATUS = "status"; + @jakarta.annotation.Nullable + private Boolean status; + + public static final String JSON_PROPERTY_DATA = "data"; + @jakarta.annotation.Nullable + private List data = new ArrayList<>(); + + public GetEndpointPeriodFailureRates200Response() { + } + + public GetEndpointPeriodFailureRates200Response message(@jakarta.annotation.Nullable String message) { + this.message = message; + return this; + } + + /** + * Get message + * @return message + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_MESSAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getMessage() { + return message; + } + + + @JsonProperty(value = JSON_PROPERTY_MESSAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMessage(@jakarta.annotation.Nullable String message) { + this.message = message; + } + + + public GetEndpointPeriodFailureRates200Response status(@jakarta.annotation.Nullable Boolean status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getStatus() { + return status; + } + + + @JsonProperty(value = JSON_PROPERTY_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatus(@jakarta.annotation.Nullable Boolean status) { + this.status = status; + } + + + public GetEndpointPeriodFailureRates200Response data(@jakarta.annotation.Nullable List data) { + this.data = data; + return this; + } + + public GetEndpointPeriodFailureRates200Response addDataItem(ModelsEndpointPeriodFailureRate dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@jakarta.annotation.Nullable List data) { + this.data = data; + } + + + /** + * Return true if this GetEndpointPeriodFailureRates_200_response object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetEndpointPeriodFailureRates200Response getEndpointPeriodFailureRates200Response = (GetEndpointPeriodFailureRates200Response) o; + return Objects.equals(this.message, getEndpointPeriodFailureRates200Response.message) && + Objects.equals(this.status, getEndpointPeriodFailureRates200Response.status) && + Objects.equals(this.data, getEndpointPeriodFailureRates200Response.data); + } + + @Override + public int hashCode() { + return Objects.hash(message, status, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetEndpointPeriodFailureRates200Response {\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%smessage%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getMessage())))); + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstatus%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStatus())))); + } + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} + diff --git a/src/main/java/com/getconvoy/models/ModelsEndpointPeriodFailureRate.java b/src/main/java/com/getconvoy/models/ModelsEndpointPeriodFailureRate.java new file mode 100644 index 0000000..773cfe4 --- /dev/null +++ b/src/main/java/com/getconvoy/models/ModelsEndpointPeriodFailureRate.java @@ -0,0 +1,293 @@ +/* + * Convoy API Reference + * Convoy is a fast and secure webhooks proxy. This document contains datastore's API specification. + * + * The version of the OpenAPI document: 26.3.5 + * Contact: support@getconvoy.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.getconvoy.models; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.math.BigDecimal; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.getconvoy.client.ApiClient; +/** + * ModelsEndpointPeriodFailureRate + */ +@JsonPropertyOrder({ + ModelsEndpointPeriodFailureRate.JSON_PROPERTY_FAILURE_COUNT, + ModelsEndpointPeriodFailureRate.JSON_PROPERTY_PERIOD_FAILURE_RATE, + ModelsEndpointPeriodFailureRate.JSON_PROPERTY_RETRY_COUNT, + ModelsEndpointPeriodFailureRate.JSON_PROPERTY_SUCCESS_COUNT, + ModelsEndpointPeriodFailureRate.JSON_PROPERTY_UID +}) +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.23.0") +public class ModelsEndpointPeriodFailureRate { + public static final String JSON_PROPERTY_FAILURE_COUNT = "failure_count"; + @jakarta.annotation.Nullable + private Integer failureCount; + + public static final String JSON_PROPERTY_PERIOD_FAILURE_RATE = "period_failure_rate"; + @jakarta.annotation.Nullable + private BigDecimal periodFailureRate; + + public static final String JSON_PROPERTY_RETRY_COUNT = "retry_count"; + @jakarta.annotation.Nullable + private Integer retryCount; + + public static final String JSON_PROPERTY_SUCCESS_COUNT = "success_count"; + @jakarta.annotation.Nullable + private Integer successCount; + + public static final String JSON_PROPERTY_UID = "uid"; + @jakarta.annotation.Nullable + private String uid; + + public ModelsEndpointPeriodFailureRate() { + } + + public ModelsEndpointPeriodFailureRate failureCount(@jakarta.annotation.Nullable Integer failureCount) { + this.failureCount = failureCount; + return this; + } + + /** + * Get failureCount + * @return failureCount + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_FAILURE_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getFailureCount() { + return failureCount; + } + + + @JsonProperty(value = JSON_PROPERTY_FAILURE_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFailureCount(@jakarta.annotation.Nullable Integer failureCount) { + this.failureCount = failureCount; + } + + + public ModelsEndpointPeriodFailureRate periodFailureRate(@jakarta.annotation.Nullable BigDecimal periodFailureRate) { + this.periodFailureRate = periodFailureRate; + return this; + } + + /** + * Get periodFailureRate + * @return periodFailureRate + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_PERIOD_FAILURE_RATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getPeriodFailureRate() { + return periodFailureRate; + } + + + @JsonProperty(value = JSON_PROPERTY_PERIOD_FAILURE_RATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPeriodFailureRate(@jakarta.annotation.Nullable BigDecimal periodFailureRate) { + this.periodFailureRate = periodFailureRate; + } + + + public ModelsEndpointPeriodFailureRate retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Get retryCount + * @return retryCount + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_RETRY_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getRetryCount() { + return retryCount; + } + + + @JsonProperty(value = JSON_PROPERTY_RETRY_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public ModelsEndpointPeriodFailureRate successCount(@jakarta.annotation.Nullable Integer successCount) { + this.successCount = successCount; + return this; + } + + /** + * Get successCount + * @return successCount + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_SUCCESS_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getSuccessCount() { + return successCount; + } + + + @JsonProperty(value = JSON_PROPERTY_SUCCESS_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSuccessCount(@jakarta.annotation.Nullable Integer successCount) { + this.successCount = successCount; + } + + + public ModelsEndpointPeriodFailureRate uid(@jakarta.annotation.Nullable String uid) { + this.uid = uid; + return this; + } + + /** + * Get uid + * @return uid + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_UID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUid() { + return uid; + } + + + @JsonProperty(value = JSON_PROPERTY_UID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUid(@jakarta.annotation.Nullable String uid) { + this.uid = uid; + } + + + /** + * Return true if this models.EndpointPeriodFailureRate object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelsEndpointPeriodFailureRate modelsEndpointPeriodFailureRate = (ModelsEndpointPeriodFailureRate) o; + return Objects.equals(this.failureCount, modelsEndpointPeriodFailureRate.failureCount) && + Objects.equals(this.periodFailureRate, modelsEndpointPeriodFailureRate.periodFailureRate) && + Objects.equals(this.retryCount, modelsEndpointPeriodFailureRate.retryCount) && + Objects.equals(this.successCount, modelsEndpointPeriodFailureRate.successCount) && + Objects.equals(this.uid, modelsEndpointPeriodFailureRate.uid); + } + + @Override + public int hashCode() { + return Objects.hash(failureCount, periodFailureRate, retryCount, successCount, uid); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelsEndpointPeriodFailureRate {\n"); + sb.append(" failureCount: ").append(toIndentedString(failureCount)).append("\n"); + sb.append(" periodFailureRate: ").append(toIndentedString(periodFailureRate)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" successCount: ").append(toIndentedString(successCount)).append("\n"); + sb.append(" uid: ").append(toIndentedString(uid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `failure_count` to the URL query string + if (getFailureCount() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sfailure_count%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getFailureCount())))); + } + + // add `period_failure_rate` to the URL query string + if (getPeriodFailureRate() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%speriod_failure_rate%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getPeriodFailureRate())))); + } + + // add `retry_count` to the URL query string + if (getRetryCount() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sretry_count%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getRetryCount())))); + } + + // add `success_count` to the URL query string + if (getSuccessCount() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%ssuccess_count%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getSuccessCount())))); + } + + // add `uid` to the URL query string + if (getUid() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%suid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUid())))); + } + + return joiner.toString(); + } +} +