Repository navigation
[foreignexchange] Code generation: update services and models #2072
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| { | ||
| "service": "foreignexchange", | ||
| "project": "java", | ||
| "generatedAt": "2026-10-16T13:40:02Z", | ||
| "openapiCommitSha": "63d44256a3466e270201f8d719299c92973abbca", | ||
| "automationCommitSha": "b78db5c1f857f1d7d8d45116ce61f6266043fa60", | ||
| "libraryCommitSha": "59ca5003d1ed41687e66fc478ca0130f7be35ac9" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,142 @@ | ||
| /* | ||
| * Foreign Exchange API | ||
| * | ||
| * The version of the OpenAPI document: 1 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
|
|
||
| package com.adyen.model.foreignexchange; | ||
|
|
||
| import com.fasterxml.jackson.annotation.JsonValue; | ||
| import jakarta.ws.rs.core.GenericType; | ||
| import java.util.Map; | ||
| import java.util.Objects; | ||
|
|
||
| /** Abstract class for oneOf,anyOf schemas defined in OpenAPI spec */ | ||
| public abstract class AbstractOpenApiSchema { | ||
|
|
||
| // store the actual instance of the schema/object | ||
| private Object instance; | ||
|
|
||
| // is nullable | ||
| private Boolean isNullable; | ||
|
|
||
| // schema type (e.g. oneOf, anyOf) | ||
| private final String schemaType; | ||
|
|
||
| /** | ||
| * @param schemaType the schema type | ||
| * @param isNullable whether the instance is nullable | ||
| */ | ||
| public AbstractOpenApiSchema(String schemaType, Boolean isNullable) { | ||
|
Check warning on line 35 in src/main/java/com/adyen/model/foreignexchange/AbstractOpenApiSchema.java
|
||
| this.schemaType = schemaType; | ||
| this.isNullable = isNullable; | ||
| } | ||
|
|
||
| /** | ||
| * Get the list of oneOf/anyOf composed schemas allowed to be stored in this object | ||
| * | ||
| * @return an instance of the actual schema/object | ||
| */ | ||
| public abstract Map<String, GenericType<?>> getSchemas(); | ||
|
|
||
| /** | ||
| * Get the actual instance | ||
| * | ||
| * @return an instance of the actual schema/object | ||
| */ | ||
| @JsonValue | ||
| public Object getActualInstance() { | ||
| return instance; | ||
| } | ||
|
|
||
| /** | ||
| * Set the actual instance | ||
| * | ||
| * @param instance the actual instance of the schema/object | ||
| */ | ||
| public void setActualInstance(Object instance) { | ||
| this.instance = instance; | ||
| } | ||
|
|
||
| /** | ||
| * Get the instant recursively when the schemas defined in oneOf/anyof happen to be oneOf/anyOf | ||
| * schema as well | ||
| * | ||
| * @return an instance of the actual schema/object | ||
| */ | ||
| public Object getActualInstanceRecursively() { | ||
| return getActualInstanceRecursively(this); | ||
| } | ||
|
|
||
| private Object getActualInstanceRecursively(AbstractOpenApiSchema object) { | ||
| if (object.getActualInstance() == null) { | ||
| return null; | ||
| } else if (object.getActualInstance() instanceof AbstractOpenApiSchema) { | ||
| return getActualInstanceRecursively((AbstractOpenApiSchema) object.getActualInstance()); | ||
| } else { | ||
| return object.getActualInstance(); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Get the schema type (e.g. anyOf, oneOf) | ||
| * | ||
| * @return the schema type | ||
| */ | ||
| public String getSchemaType() { | ||
| return schemaType; | ||
| } | ||
|
|
||
| @Override | ||
| public String toString() { | ||
| StringBuilder sb = new StringBuilder(); | ||
| sb.append("class ").append(getClass()).append(" {\n"); | ||
| sb.append(" instance: ").append(toIndentedString(instance)).append("\n"); | ||
| sb.append(" isNullable: ").append(toIndentedString(isNullable)).append("\n"); | ||
| sb.append(" schemaType: ").append(toIndentedString(schemaType)).append("\n"); | ||
| sb.append("}"); | ||
| return sb.toString(); | ||
| } | ||
|
|
||
| /** | ||
| * Convert the given object to string with each line indented by 4 spaces (except the first line). | ||
| */ | ||
| private String toIndentedString(Object o) { | ||
| if (o == null) { | ||
| return "null"; | ||
| } | ||
| return o.toString().replace("\n", "\n "); | ||
| } | ||
|
|
||
| public boolean equals(Object o) { | ||
| if (this == o) { | ||
| return true; | ||
| } | ||
| if (o == null || getClass() != o.getClass()) { | ||
| return false; | ||
| } | ||
| AbstractOpenApiSchema a = (AbstractOpenApiSchema) o; | ||
| return Objects.equals(this.instance, a.instance) | ||
| && Objects.equals(this.isNullable, a.isNullable) | ||
| && Objects.equals(this.schemaType, a.schemaType); | ||
| } | ||
|
|
||
| @Override | ||
| public int hashCode() { | ||
| return Objects.hash(instance, isNullable, schemaType); | ||
| } | ||
|
|
||
| /** | ||
| * Is nullable | ||
| * | ||
| * @return true if it's nullable | ||
| */ | ||
| public Boolean isNullable() { | ||
| return Boolean.TRUE.equals(isNullable); | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,234 @@ | ||
| /* | ||
| * Foreign Exchange API | ||
| * | ||
| * The version of the OpenAPI document: 1 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
|
|
||
| package com.adyen.model.foreignexchange; | ||
|
|
||
| import com.fasterxml.jackson.annotation.JsonAnyGetter; | ||
| import com.fasterxml.jackson.annotation.JsonIgnore; | ||
| import com.fasterxml.jackson.annotation.JsonInclude; | ||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||
| import com.fasterxml.jackson.annotation.JsonPropertyOrder; | ||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||
| import java.util.*; | ||
|
|
||
| /** Amount */ | ||
| @JsonPropertyOrder({Amount.JSON_PROPERTY_CURRENCY, Amount.JSON_PROPERTY_VALUE}) | ||
| public class Amount { | ||
| public static final String JSON_PROPERTY_CURRENCY = "currency"; | ||
| private String currency; | ||
|
|
||
| /** Mark when the attribute has been explicitly set. */ | ||
| private boolean isSetCurrency = false; | ||
|
|
||
| public static final String JSON_PROPERTY_VALUE = "value"; | ||
| private Long value; | ||
|
|
||
| /** Mark when the attribute has been explicitly set. */ | ||
| private boolean isSetValue = false; | ||
|
|
||
| /** | ||
| * Sets whether attributes with null values should be explicitly included in the JSON payload. | ||
| * Default is false. | ||
| */ | ||
| @JsonIgnore private boolean includeNullValues = false; | ||
|
|
||
| public Amount() {} | ||
|
Check failure on line 43 in src/main/java/com/adyen/model/foreignexchange/Amount.java
|
||
|
|
||
| /** | ||
| * The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). | ||
| * | ||
| * @param currency The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). | ||
| * @return the current {@code Amount} instance, allowing for method chaining | ||
| */ | ||
| public Amount currency(String currency) { | ||
| this.currency = currency; | ||
| isSetCurrency = true; // mark as set | ||
| return this; | ||
| } | ||
|
|
||
| /** | ||
| * The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). | ||
| * | ||
| * @return currency The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_CURRENCY) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public String getCurrency() { | ||
| return currency; | ||
| } | ||
|
|
||
| /** | ||
| * The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). | ||
| * | ||
| * @param currency The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_CURRENCY) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public void setCurrency(String currency) { | ||
| this.currency = currency; | ||
| isSetCurrency = true; // mark as set | ||
| } | ||
|
|
||
| /** | ||
| * The amount of the transaction, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * | ||
| * @param value The amount of the transaction, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * @return the current {@code Amount} instance, allowing for method chaining | ||
| */ | ||
| public Amount value(Long value) { | ||
| this.value = value; | ||
| isSetValue = true; // mark as set | ||
| return this; | ||
| } | ||
|
|
||
| /** | ||
| * The amount of the transaction, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * | ||
| * @return value The amount of the transaction, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_VALUE) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public Long getValue() { | ||
| return value; | ||
| } | ||
|
|
||
| /** | ||
| * The amount of the transaction, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * | ||
| * @param value The amount of the transaction, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_VALUE) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public void setValue(Long value) { | ||
| this.value = value; | ||
| isSetValue = true; // mark as set | ||
| } | ||
|
|
||
| /** | ||
| * Configures whether null values are explicitly serialized in the JSON payload. Default is false. | ||
| */ | ||
| public Amount includeNullValues(boolean includeNullValues) { | ||
| this.includeNullValues = includeNullValues; | ||
| return this; | ||
| } | ||
|
|
||
| /** Returns whether null values are explicitly serialized in the JSON payload. */ | ||
| public boolean isIncludeNullValues() { | ||
| return includeNullValues; | ||
| } | ||
|
|
||
| /** | ||
| * Sets whether null values should be explicitly serialized in the JSON payload. Default is false. | ||
| */ | ||
| public void setIncludeNullValues(boolean includeNullValues) { | ||
| this.includeNullValues = includeNullValues; | ||
| } | ||
|
|
||
| /** Return true if this Amount object is equal to o. */ | ||
| @Override | ||
| public boolean equals(Object o) { | ||
| if (this == o) { | ||
| return true; | ||
| } | ||
| if (o == null || getClass() != o.getClass()) { | ||
| return false; | ||
| } | ||
| Amount amount = (Amount) o; | ||
| return Objects.equals(this.currency, amount.currency) | ||
| && Objects.equals(this.isSetCurrency, amount.isSetCurrency) | ||
| && Objects.equals(this.value, amount.value) | ||
| && Objects.equals(this.isSetValue, amount.isSetValue); | ||
| } | ||
|
|
||
| @Override | ||
| public int hashCode() { | ||
| return Objects.hash(currency, isSetCurrency, value, isSetValue); | ||
| } | ||
|
|
||
| @Override | ||
| public String toString() { | ||
| StringBuilder sb = new StringBuilder(); | ||
| sb.append("class Amount {\n"); | ||
| sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); | ||
| sb.append(" value: ").append(toIndentedString(value)).append("\n"); | ||
| sb.append("}"); | ||
| return sb.toString(); | ||
| } | ||
|
|
||
| /** | ||
| * Convert the given object to string with each line indented by 4 spaces (except the first line). | ||
| */ | ||
| private String toIndentedString(Object o) { | ||
| if (o == null) { | ||
| return "null"; | ||
| } | ||
| return o.toString().replace("\n", "\n "); | ||
| } | ||
|
|
||
| /** Returns a map of properties to be merged into the JSON payload as explicit null values. */ | ||
| @JsonInclude(JsonInclude.Include.ALWAYS) | ||
| @JsonAnyGetter | ||
| public Map<String, Object> getExplicitNulls() { | ||
| if (!this.includeNullValues) { | ||
| return Collections.emptyMap(); | ||
| } | ||
|
|
||
| Map<String, Object> nulls = new HashMap<>(); | ||
|
|
||
| if (isSetCurrency) { | ||
| addIfNull(nulls, JSON_PROPERTY_CURRENCY, this.currency); | ||
| } | ||
| if (isSetValue) { | ||
| addIfNull(nulls, JSON_PROPERTY_VALUE, this.value); | ||
| } | ||
|
|
||
| return nulls; | ||
| } | ||
|
|
||
| // add to map when value is null | ||
| private void addIfNull(Map<String, Object> map, String key, Object value) { | ||
| if (value == null) { | ||
| map.put(key, null); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Create an instance of Amount given an JSON string | ||
| * | ||
| * @param jsonString JSON string | ||
| * @return An instance of Amount | ||
| * @throws JsonProcessingException if the JSON string is invalid with respect to Amount | ||
| */ | ||
| public static Amount fromJson(String jsonString) throws JsonProcessingException { | ||
| return JSON.getMapper().readValue(jsonString, Amount.class); | ||
| } | ||
|
|
||
| /** | ||
| * Convert an instance of Amount to an JSON string | ||
| * | ||
| * @return JSON string | ||
| */ | ||
| public String toJson() throws JsonProcessingException { | ||
| return JSON.getMapper().writeValueAsString(this); | ||
| } | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
equalsmethod overridesObject.equals(Object)but is missing the@Overrideannotation. Adding@Overrideis a best practice to ensure compile-time safety and clarity.