From 8c8abbd6f2d484b7e6f31d795233eaa2d3485fcc Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 22 Jan 2026 11:47:58 +0000 Subject: [PATCH 1/2] ## Java SDK Changes: * `gr4vy.transactions.create()`: * `request.transactioncreate.connectionOptions.gocardless-gocardless` **Added** * `gr4vy.transactions.update()`: * `request.transactionupdate.connectionOptions.gocardless-gocardless` **Added** * `gr4vy.paymentLinks.create()`: * `request.paymentlinkcreate.connectionOptions.gocardless-gocardless` **Added** --- .speakeasy/gen.lock | 49 +++-- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- README.md | 4 +- RELEASES.md | 12 +- docs/models/components/GoCardlessOptions.md | 8 + docs/models/components/PurposeCode.md | 19 ++ .../TransactionConnectionOptions.md | 1 + gradle.properties | 2 +- .../java/com/gr4vy/sdk/SDKConfiguration.java | 4 +- .../models/components/GoCardlessOptions.java | 135 ++++++++++++++ .../sdk/models/components/PurposeCode.java | 167 ++++++++++++++++++ .../TransactionConnectionOptions.java | 89 ++++++++-- 13 files changed, 463 insertions(+), 43 deletions(-) create mode 100644 docs/models/components/GoCardlessOptions.md create mode 100644 docs/models/components/PurposeCode.md create mode 100644 src/main/java/com/gr4vy/sdk/models/components/GoCardlessOptions.java create mode 100644 src/main/java/com/gr4vy/sdk/models/components/PurposeCode.java diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index d9a82729..fb2f2aa3 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,18 +1,18 @@ lockVersion: 2.0.0 id: 5bbaa3a9-baa0-471b-ba6a-13fd88e8c119 management: - docChecksum: 54ef1b531c72a63d2dc4c0f3e132a3ad + docChecksum: 842b00a29598edc70f364f4cb20b56f9 docVersion: 1.0.0 - speakeasyVersion: 1.692.0 - generationVersion: 2.797.1 - releaseVersion: 2.16.16 - configChecksum: 5626e91ba9597ef4cf6af2d448e64d59 + speakeasyVersion: 1.693.0 + generationVersion: 2.798.0 + releaseVersion: 2.16.17 + configChecksum: 6658320a002aa9902a2e8f2b9aff12c1 repoURL: https://github.com/gr4vy/gr4vy-java.git published: true persistentEdits: - generation_id: 3b3d5ce4-f51f-400e-9e2b-a65be11b9531 - pristine_commit_hash: 32363a56b23c637a9e33af31c79c97ed6404f788 - pristine_tree_hash: 565358472cc6e6b3962f0cc0f459b494b693b0bb + generation_id: 071c97a5-b55a-46d3-897c-8c99fd551643 + pristine_commit_hash: ca8f87cd53a2359b36ebbcaccbd3d2a0fb407eb5 + pristine_tree_hash: 670ed032efff58995e3b9a5802c940640db65415 features: java: additionalDependencies: 0.1.0 @@ -523,6 +523,10 @@ trackedFiles: id: 88cf28d13321 last_write_checksum: sha1:abd44be82990538bb55adcfb4b4facf519740f52 pristine_git_object: 177683fb377fdae9b6196275a700f18c34dd700c + docs/models/components/GoCardlessOptions.md: + id: 398cceb0c938 + last_write_checksum: sha1:175415a601f1a6c7b3735b47ac21fbb3eb878741 + pristine_git_object: fb4716bddc98b976ad1f9e4fe653af56b7ace752 docs/models/components/GooglePayAssuranceDetails.md: id: 494500f53e0f last_write_checksum: sha1:34836c7edb1f74b2f00d76c6587bec11db63c720 @@ -847,6 +851,10 @@ trackedFiles: id: da3c6507525c last_write_checksum: sha1:8004a7242b7def1f862b5ef664b2c33152a71ffc pristine_git_object: 0e375c9640cf01b198aa52553f0d0a06cec692f1 + docs/models/components/PurposeCode.md: + id: 3ee381663b68 + last_write_checksum: sha1:0b92c772a38ebf10bbaedbf7d68f90781d70d358 + pristine_git_object: 96bfa227d5023c5350f4411534bdd87a5476da02 docs/models/components/Recipient.md: id: 807a0d00bf78 last_write_checksum: sha1:bf8b934a3a35465e8c3e44129b8b97d6b8c5b60c @@ -1129,8 +1137,8 @@ trackedFiles: pristine_git_object: fc532f806750ff9aed723b9b4d74efde86ed8b22 docs/models/components/TransactionConnectionOptions.md: id: 2a90ee52a662 - last_write_checksum: sha1:1e7b9d0bc4be68d11b4c1edd0d2cdb9808e27113 - pristine_git_object: 2b8883e86c476138f87182825a0044ae24413598 + last_write_checksum: sha1:024c5fab61dfab0eb7bf59ccd4e67a4019db4902 + pristine_git_object: 7c5116383b980ca145c7ef5c8c6487a5901d56bb docs/models/components/TransactionCreate.md: id: 0af6b811ca1f last_write_checksum: sha1:3e09689034328ac57623d720a2ca8560aca5f8e4 @@ -2253,8 +2261,8 @@ trackedFiles: pristine_git_object: 15c4e4642f204ccb312d8814155b69e153b4e19b gradle.properties: id: 2afbb999f001 - last_write_checksum: sha1:b1a7b986fc5bb4c39f3f5e2623a2cc3f5f2fa9a6 - pristine_git_object: 9c1a737ee341add42bdfecaba4b4ef0336039f3a + last_write_checksum: sha1:b357af3751a001b2f9ad2b2a4d45a54595e55633 + pristine_git_object: 472147bb6e99a355f70f225b57b3045c1aaf0364 gradle/wrapper/gradle-wrapper.jar: id: ec27dae6e852 last_write_checksum: sha1:f725fb1467084142d74fd7cd8eab691ab3442611 @@ -2573,8 +2581,8 @@ trackedFiles: pristine_git_object: 502a7312d3dc82c102dbaf7ed5e952d0c793e26f src/main/java/com/gr4vy/sdk/SDKConfiguration.java: id: 73a7edeaca45 - last_write_checksum: sha1:29606a56e00f894ea7fef48808806a6ecec551f6 - pristine_git_object: 2605caf05f12154e4d76eb4bb59c58cbea578782 + last_write_checksum: sha1:2a0c5862e90aa4b6f7336d36509462173c0c2bd7 + pristine_git_object: d5835666e286d8a7ee54658c65ed6abcb2c88392 src/main/java/com/gr4vy/sdk/SecuritySource.java: id: 1b6add6b9b50 last_write_checksum: sha1:2f365cc823c6243188e83f4df618c9737fcee8bd @@ -3079,6 +3087,10 @@ trackedFiles: id: a3fc1ea71c4d last_write_checksum: sha1:2e8a6cb09f6f786cd38ca8608454193d280f49da pristine_git_object: df4d1104d002b9578b28287eb5b8d122a118fa59 + src/main/java/com/gr4vy/sdk/models/components/GoCardlessOptions.java: + id: 2bd60ad2746f + last_write_checksum: sha1:3cb38f35a561aab592187fae35ee8ed7ae1c79bd + pristine_git_object: eb242661f7a4b542f2e98d5676558680ed835dc0 src/main/java/com/gr4vy/sdk/models/components/GooglePayAssuranceDetails.java: id: 7c7464ff3b61 last_write_checksum: sha1:1bbf81a94c15f67e75876954f735ebbb112f3f1e @@ -3403,6 +3415,10 @@ trackedFiles: id: fcd0ad6632fb last_write_checksum: sha1:dab4f87d2516141db99a2d0b0f97c661a76c6415 pristine_git_object: 8a84885fe2ddbb073ef0bd26fba34fb0f845617d + src/main/java/com/gr4vy/sdk/models/components/PurposeCode.java: + id: d2074b1810ec + last_write_checksum: sha1:5b7ff8a8df613bd504e9ce3c7cbe97f1797d328f + pristine_git_object: 78d2823c4d87c2915b2b3561cdee6b75f146c587 src/main/java/com/gr4vy/sdk/models/components/Recipient.java: id: 40dafe91fd6a last_write_checksum: sha1:9a7801a63f0a6c1721d5b4857936734704ab3d9f @@ -3689,8 +3705,8 @@ trackedFiles: pristine_git_object: 0a47fad3846506a7cbb30ea1f85895f6403e322d src/main/java/com/gr4vy/sdk/models/components/TransactionConnectionOptions.java: id: 31501e4506f3 - last_write_checksum: sha1:faa6939d26dca4f8aec39938bac8dfcdfe41da44 - pristine_git_object: 1202736e97429fc2d498d2c03ab22d6a0188818c + last_write_checksum: sha1:c9ce54f10e40ed096d27132de6ffe03383d053d5 + pristine_git_object: c65127cbc6c8ec86ed0a3451911f3aba417dc2f7 src/main/java/com/gr4vy/sdk/models/components/TransactionCreate.java: id: 85da9dd45d8a last_write_checksum: sha1:09f92bca972295f8156fc778049a61baea617409 @@ -10150,6 +10166,7 @@ examples: application/json: {"type": "error", "code": "gateway_timeout", "status": 504, "message": "Request could not be processed"} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: "## Java SDK Changes:\n* `gr4vy.transactions.create()`: \n * `request.transactioncreate.connectionOptions.gocardless-gocardless` **Added**\n* `gr4vy.transactions.update()`: \n * `request.transactionupdate.connectionOptions.gocardless-gocardless` **Added**\n* `gr4vy.paymentLinks.create()`: \n * `request.paymentlinkcreate.connectionOptions.gocardless-gocardless` **Added**\n" generatedFiles: - .gitattributes - USAGE.md diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 3499a040..485d2e9b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -28,7 +28,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false java: - version: 2.16.16 + version: 2.16.17 additionalDependencies: - testImplementation:org.junit.jupiter:junit-jupiter:5.10.0 - implementation:com.auth0:java-jwt:4.5.0 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index df8fc58c..5e76b7ea 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.692.0 +speakeasyVersion: 1.693.0 sources: Gr4vy: sourceNamespace: openapi @@ -9,11 +9,11 @@ sources: - 1.0.0 openapi: sourceNamespace: openapi - sourceRevisionDigest: sha256:ae9feadde7ff989ba995c3e3dc646a17f185643f9bc1832b1c20abf5946222fe - sourceBlobDigest: sha256:2f5453672d8de90c574d4c310f6cfc6707a313a8df69d2bbd3cc89b2552e5e02 + sourceRevisionDigest: sha256:608fe558b71fab58b8fb89bf2881deb463d4905e7550242bbb955f36f0d8c197 + sourceBlobDigest: sha256:cf2b2dbb0dc89deecf0b1631726d51ba2aff1d72e82e8715839bd6af8a111046 tags: - latest - - speakeasy-sdk-regen-1769010068 + - speakeasy-sdk-regen-1769082373 - 1.0.0 targets: gr-4-vy: @@ -26,10 +26,10 @@ targets: java: source: openapi sourceNamespace: openapi - sourceRevisionDigest: sha256:ae9feadde7ff989ba995c3e3dc646a17f185643f9bc1832b1c20abf5946222fe - sourceBlobDigest: sha256:2f5453672d8de90c574d4c310f6cfc6707a313a8df69d2bbd3cc89b2552e5e02 + sourceRevisionDigest: sha256:608fe558b71fab58b8fb89bf2881deb463d4905e7550242bbb955f36f0d8c197 + sourceBlobDigest: sha256:cf2b2dbb0dc89deecf0b1631726d51ba2aff1d72e82e8715839bd6af8a111046 codeSamplesNamespace: openapi-java-code-samples - codeSamplesRevisionDigest: sha256:dd2b43ef5382fc524c911325d1d63ce367631da4a31b25e47306aa384b29e74f + codeSamplesRevisionDigest: sha256:b7d02a3d19f41236d584e39b37af2eaae0cfccc6daf27e47b85120feb8021ca1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index d76ed739..b19e1ac4 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'com.gr4vy:sdk:2.16.16' +implementation 'com.gr4vy:sdk:2.16.17' ``` Maven: @@ -66,7 +66,7 @@ Maven: com.gr4vy sdk - 2.16.16 + 2.16.17 ``` diff --git a/RELEASES.md b/RELEASES.md index 2c3d4348..f615c4fd 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -998,4 +998,14 @@ Based on: ### Generated - [java v2.16.16] . ### Releases -- [Maven Central v2.16.16] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.16.16 - . \ No newline at end of file +- [Maven Central v2.16.16] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.16.16 - . + +## 2026-01-22 11:45:54 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.693.0 (2.798.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v2.16.17] . +### Releases +- [Maven Central v2.16.17] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.16.17 - . \ No newline at end of file diff --git a/docs/models/components/GoCardlessOptions.md b/docs/models/components/GoCardlessOptions.md new file mode 100644 index 00000000..fb4716bd --- /dev/null +++ b/docs/models/components/GoCardlessOptions.md @@ -0,0 +1,8 @@ +# GoCardlessOptions + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `purposeCode` | [JsonNullable\](../../models/components/PurposeCode.md) | :heavy_minus_sign: | Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. Required for the PayTo scheme, optional for all others | mortgage | \ No newline at end of file diff --git a/docs/models/components/PurposeCode.md b/docs/models/components/PurposeCode.md new file mode 100644 index 00000000..96bfa227 --- /dev/null +++ b/docs/models/components/PurposeCode.md @@ -0,0 +1,19 @@ +# PurposeCode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `MORTGAGE` | mortgage | +| `UTILITY` | utility | +| `LOAN` | loan | +| `DEPENDANT_SUPPORT` | dependant_support | +| `GAMBLING` | gambling | +| `RETAIL` | retail | +| `SALARY` | salary | +| `PERSONAL` | personal | +| `GOVERNMENT` | government | +| `PENSION` | pension | +| `TAX` | tax | +| `OTHER` | other | \ No newline at end of file diff --git a/docs/models/components/TransactionConnectionOptions.md b/docs/models/components/TransactionConnectionOptions.md index 2b8883e8..7c511638 100644 --- a/docs/models/components/TransactionConnectionOptions.md +++ b/docs/models/components/TransactionConnectionOptions.md @@ -29,6 +29,7 @@ | `gemGem` | [JsonNullable\](../../models/components/LatitudeOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `gem-gem` connector. | | `gemGemds` | [JsonNullable\](../../models/components/LatitudeOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `gem-gemds` connector. | | `givingblockGivingblock` | [JsonNullable\](../../models/components/GivingBlockOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `givingblock-givingblock` connector. | +| `gocardlessGocardless` | [JsonNullable\](../../models/components/GoCardlessOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `gocardless-gocardless` connector. | | `latitudeLatitude` | [JsonNullable\](../../models/components/LatitudeOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `latitude-latitude` connector. | | `latitudeLatitudeds` | [JsonNullable\](../../models/components/LatitudeOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `latitude-latitudeds` connector. | | `mattildaTapi` | [JsonNullable\](../../models/components/MattildaTapiOptions.md) | :heavy_minus_sign: | Custom options to be passed to the `mattilda-tapi` connector. | diff --git a/gradle.properties b/gradle.properties index 9c1a737e..472147bb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ groupId=com.gr4vy artifactId=sdk -version=2.16.16 +version=2.16.17 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g diff --git a/src/main/java/com/gr4vy/sdk/SDKConfiguration.java b/src/main/java/com/gr4vy/sdk/SDKConfiguration.java index 2605caf0..d5835666 100644 --- a/src/main/java/com/gr4vy/sdk/SDKConfiguration.java +++ b/src/main/java/com/gr4vy/sdk/SDKConfiguration.java @@ -22,8 +22,8 @@ public class SDKConfiguration { private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "1.0.0"; - public static final String SDK_VERSION = "2.16.16"; - public static final String GEN_VERSION = "2.797.1"; + public static final String SDK_VERSION = "2.16.17"; + public static final String GEN_VERSION = "2.798.0"; private static final String BASE_PACKAGE = "com.gr4vy.sdk"; public static final String USER_AGENT = String.format("speakeasy-sdk/%s %s %s %s %s", diff --git a/src/main/java/com/gr4vy/sdk/models/components/GoCardlessOptions.java b/src/main/java/com/gr4vy/sdk/models/components/GoCardlessOptions.java new file mode 100644 index 00000000..eb242661 --- /dev/null +++ b/src/main/java/com/gr4vy/sdk/models/components/GoCardlessOptions.java @@ -0,0 +1,135 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package com.gr4vy.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.gr4vy.sdk.utils.Utils; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GoCardlessOptions { + /** + * Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. + * Required for the PayTo scheme, optional for all others + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("purpose_code") + private JsonNullable purposeCode; + + @JsonCreator + public GoCardlessOptions( + @JsonProperty("purpose_code") JsonNullable purposeCode) { + Utils.checkNotNull(purposeCode, "purposeCode"); + this.purposeCode = purposeCode; + } + + public GoCardlessOptions() { + this(JsonNullable.undefined()); + } + + /** + * Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. + * Required for the PayTo scheme, optional for all others + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public JsonNullable purposeCode() { + return (JsonNullable) purposeCode; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. + * Required for the PayTo scheme, optional for all others + */ + public GoCardlessOptions withPurposeCode(PurposeCode purposeCode) { + Utils.checkNotNull(purposeCode, "purposeCode"); + this.purposeCode = JsonNullable.of(purposeCode); + return this; + } + + /** + * Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. + * Required for the PayTo scheme, optional for all others + */ + public GoCardlessOptions withPurposeCode(JsonNullable purposeCode) { + Utils.checkNotNull(purposeCode, "purposeCode"); + this.purposeCode = purposeCode; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoCardlessOptions other = (GoCardlessOptions) o; + return + Utils.enhancedDeepEquals(this.purposeCode, other.purposeCode); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + purposeCode); + } + + @Override + public String toString() { + return Utils.toString(GoCardlessOptions.class, + "purposeCode", purposeCode); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable purposeCode = JsonNullable.undefined(); + + private Builder() { + // force use of static builder() method + } + + + /** + * Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. + * Required for the PayTo scheme, optional for all others + */ + public Builder purposeCode(PurposeCode purposeCode) { + Utils.checkNotNull(purposeCode, "purposeCode"); + this.purposeCode = JsonNullable.of(purposeCode); + return this; + } + + /** + * Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. + * Required for the PayTo scheme, optional for all others + */ + public Builder purposeCode(JsonNullable purposeCode) { + Utils.checkNotNull(purposeCode, "purposeCode"); + this.purposeCode = purposeCode; + return this; + } + + public GoCardlessOptions build() { + + return new GoCardlessOptions( + purposeCode); + } + + } +} diff --git a/src/main/java/com/gr4vy/sdk/models/components/PurposeCode.java b/src/main/java/com/gr4vy/sdk/models/components/PurposeCode.java new file mode 100644 index 00000000..78d2823c --- /dev/null +++ b/src/main/java/com/gr4vy/sdk/models/components/PurposeCode.java @@ -0,0 +1,167 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package com.gr4vy.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class PurposeCode { + + public static final PurposeCode MORTGAGE = new PurposeCode("mortgage"); + public static final PurposeCode UTILITY = new PurposeCode("utility"); + public static final PurposeCode LOAN = new PurposeCode("loan"); + public static final PurposeCode DEPENDANT_SUPPORT = new PurposeCode("dependant_support"); + public static final PurposeCode GAMBLING = new PurposeCode("gambling"); + public static final PurposeCode RETAIL = new PurposeCode("retail"); + public static final PurposeCode SALARY = new PurposeCode("salary"); + public static final PurposeCode PERSONAL = new PurposeCode("personal"); + public static final PurposeCode GOVERNMENT = new PurposeCode("government"); + public static final PurposeCode PENSION = new PurposeCode("pension"); + public static final PurposeCode TAX = new PurposeCode("tax"); + public static final PurposeCode OTHER = new PurposeCode("other"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private PurposeCode(String value) { + this.value = value; + } + + /** + * Returns a PurposeCode with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as PurposeCode + */ + @JsonCreator + public static PurposeCode of(String value) { + synchronized (PurposeCode.class) { + return values.computeIfAbsent(value, v -> new PurposeCode(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + PurposeCode other = (PurposeCode) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "PurposeCode [value=" + value + "]"; + } + + // return an array just like an enum + public static PurposeCode[] values() { + synchronized (PurposeCode.class) { + return values.values().toArray(new PurposeCode[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("mortgage", MORTGAGE); + map.put("utility", UTILITY); + map.put("loan", LOAN); + map.put("dependant_support", DEPENDANT_SUPPORT); + map.put("gambling", GAMBLING); + map.put("retail", RETAIL); + map.put("salary", SALARY); + map.put("personal", PERSONAL); + map.put("government", GOVERNMENT); + map.put("pension", PENSION); + map.put("tax", TAX); + map.put("other", OTHER); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("mortgage", PurposeCodeEnum.MORTGAGE); + map.put("utility", PurposeCodeEnum.UTILITY); + map.put("loan", PurposeCodeEnum.LOAN); + map.put("dependant_support", PurposeCodeEnum.DEPENDANT_SUPPORT); + map.put("gambling", PurposeCodeEnum.GAMBLING); + map.put("retail", PurposeCodeEnum.RETAIL); + map.put("salary", PurposeCodeEnum.SALARY); + map.put("personal", PurposeCodeEnum.PERSONAL); + map.put("government", PurposeCodeEnum.GOVERNMENT); + map.put("pension", PurposeCodeEnum.PENSION); + map.put("tax", PurposeCodeEnum.TAX); + map.put("other", PurposeCodeEnum.OTHER); + return map; + } + + + public enum PurposeCodeEnum { + + MORTGAGE("mortgage"), + UTILITY("utility"), + LOAN("loan"), + DEPENDANT_SUPPORT("dependant_support"), + GAMBLING("gambling"), + RETAIL("retail"), + SALARY("salary"), + PERSONAL("personal"), + GOVERNMENT("government"), + PENSION("pension"), + TAX("tax"), + OTHER("other"),; + + private final String value; + + private PurposeCodeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/com/gr4vy/sdk/models/components/TransactionConnectionOptions.java b/src/main/java/com/gr4vy/sdk/models/components/TransactionConnectionOptions.java index 1202736e..c65127cb 100644 --- a/src/main/java/com/gr4vy/sdk/models/components/TransactionConnectionOptions.java +++ b/src/main/java/com/gr4vy/sdk/models/components/TransactionConnectionOptions.java @@ -185,6 +185,13 @@ public class TransactionConnectionOptions { @JsonProperty("givingblock-givingblock") private JsonNullable givingblockGivingblock; + /** + * Custom options to be passed to the `gocardless-gocardless` connector. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("gocardless-gocardless") + private JsonNullable gocardlessGocardless; + /** * Custom options to be passed to the `latitude-latitude` connector. */ @@ -337,6 +344,7 @@ public TransactionConnectionOptions( @JsonProperty("gem-gem") JsonNullable gemGem, @JsonProperty("gem-gemds") JsonNullable gemGemds, @JsonProperty("givingblock-givingblock") JsonNullable givingblockGivingblock, + @JsonProperty("gocardless-gocardless") JsonNullable gocardlessGocardless, @JsonProperty("latitude-latitude") JsonNullable latitudeLatitude, @JsonProperty("latitude-latitudeds") JsonNullable latitudeLatitudeds, @JsonProperty("mattilda-tapi") JsonNullable mattildaTapi, @@ -379,6 +387,7 @@ public TransactionConnectionOptions( Utils.checkNotNull(gemGem, "gemGem"); Utils.checkNotNull(gemGemds, "gemGemds"); Utils.checkNotNull(givingblockGivingblock, "givingblockGivingblock"); + Utils.checkNotNull(gocardlessGocardless, "gocardlessGocardless"); Utils.checkNotNull(latitudeLatitude, "latitudeLatitude"); Utils.checkNotNull(latitudeLatitudeds, "latitudeLatitudeds"); Utils.checkNotNull(mattildaTapi, "mattildaTapi"); @@ -421,6 +430,7 @@ public TransactionConnectionOptions( this.gemGem = gemGem; this.gemGemds = gemGemds; this.givingblockGivingblock = givingblockGivingblock; + this.gocardlessGocardless = gocardlessGocardless; this.latitudeLatitude = latitudeLatitude; this.latitudeLatitudeds = latitudeLatitudeds; this.mattildaTapi = mattildaTapi; @@ -455,7 +465,8 @@ public TransactionConnectionOptions() { JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), - JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined()); + JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), + JsonNullable.undefined()); } /** @@ -675,6 +686,15 @@ public JsonNullable givingblockGivingblock() { return (JsonNullable) givingblockGivingblock; } + /** + * Custom options to be passed to the `gocardless-gocardless` connector. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public JsonNullable gocardlessGocardless() { + return (JsonNullable) gocardlessGocardless; + } + /** * Custom options to be passed to the `latitude-latitude` connector. */ @@ -1276,6 +1296,24 @@ public TransactionConnectionOptions withGivingblockGivingblock(JsonNullable gocardlessGocardless) { + Utils.checkNotNull(gocardlessGocardless, "gocardlessGocardless"); + this.gocardlessGocardless = gocardlessGocardless; + return this; + } + /** * Custom options to be passed to the `latitude-latitude` connector. */ @@ -1634,6 +1672,7 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.gemGem, other.gemGem) && Utils.enhancedDeepEquals(this.gemGemds, other.gemGemds) && Utils.enhancedDeepEquals(this.givingblockGivingblock, other.givingblockGivingblock) && + Utils.enhancedDeepEquals(this.gocardlessGocardless, other.gocardlessGocardless) && Utils.enhancedDeepEquals(this.latitudeLatitude, other.latitudeLatitude) && Utils.enhancedDeepEquals(this.latitudeLatitudeds, other.latitudeLatitudeds) && Utils.enhancedDeepEquals(this.mattildaTapi, other.mattildaTapi) && @@ -1665,12 +1704,13 @@ public int hashCode() { cybersourceIdeal, cybersourceKcp, dlocalNequi, dlocalUpi, fiservCard, forterAntiFraud, gemGem, gemGemds, givingblockGivingblock, - latitudeLatitude, latitudeLatitudeds, mattildaTapi, - mattildaTapifintechs, monatoSpei, mockCard, - nuveiCard, nuveiIdeal, nuveiPse, - oxxoOxxo, paypalPaypal, paypalPaypalpaylater, - powertranzCard, stripeCard, travelhubCard, - trustlyTrustly, wpayEverydaypay, wpayPayto); + gocardlessGocardless, latitudeLatitude, latitudeLatitudeds, + mattildaTapi, mattildaTapifintechs, monatoSpei, + mockCard, nuveiCard, nuveiIdeal, + nuveiPse, oxxoOxxo, paypalPaypal, + paypalPaypalpaylater, powertranzCard, stripeCard, + travelhubCard, trustlyTrustly, wpayEverydaypay, + wpayPayto); } @Override @@ -1700,6 +1740,7 @@ public String toString() { "gemGem", gemGem, "gemGemds", gemGemds, "givingblockGivingblock", givingblockGivingblock, + "gocardlessGocardless", gocardlessGocardless, "latitudeLatitude", latitudeLatitude, "latitudeLatitudeds", latitudeLatitudeds, "mattildaTapi", mattildaTapi, @@ -1771,6 +1812,8 @@ public final static class Builder { private JsonNullable givingblockGivingblock = JsonNullable.undefined(); + private JsonNullable gocardlessGocardless = JsonNullable.undefined(); + private JsonNullable latitudeLatitude = JsonNullable.undefined(); private JsonNullable latitudeLatitudeds = JsonNullable.undefined(); @@ -2270,6 +2313,25 @@ public Builder givingblockGivingblock(JsonNullable } + /** + * Custom options to be passed to the `gocardless-gocardless` connector. + */ + public Builder gocardlessGocardless(GoCardlessOptions gocardlessGocardless) { + Utils.checkNotNull(gocardlessGocardless, "gocardlessGocardless"); + this.gocardlessGocardless = JsonNullable.of(gocardlessGocardless); + return this; + } + + /** + * Custom options to be passed to the `gocardless-gocardless` connector. + */ + public Builder gocardlessGocardless(JsonNullable gocardlessGocardless) { + Utils.checkNotNull(gocardlessGocardless, "gocardlessGocardless"); + this.gocardlessGocardless = gocardlessGocardless; + return this; + } + + /** * Custom options to be passed to the `latitude-latitude` connector. */ @@ -2622,12 +2684,13 @@ public TransactionConnectionOptions build() { cybersourceIdeal, cybersourceKcp, dlocalNequi, dlocalUpi, fiservCard, forterAntiFraud, gemGem, gemGemds, givingblockGivingblock, - latitudeLatitude, latitudeLatitudeds, mattildaTapi, - mattildaTapifintechs, monatoSpei, mockCard, - nuveiCard, nuveiIdeal, nuveiPse, - oxxoOxxo, paypalPaypal, paypalPaypalpaylater, - powertranzCard, stripeCard, travelhubCard, - trustlyTrustly, wpayEverydaypay, wpayPayto); + gocardlessGocardless, latitudeLatitude, latitudeLatitudeds, + mattildaTapi, mattildaTapifintechs, monatoSpei, + mockCard, nuveiCard, nuveiIdeal, + nuveiPse, oxxoOxxo, paypalPaypal, + paypalPaypalpaylater, powertranzCard, stripeCard, + travelhubCard, trustlyTrustly, wpayEverydaypay, + wpayPayto); } } From 43048d17321d353361fadd36d1b88c705d218362 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Thu, 22 Jan 2026 11:48:07 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow