diff --git a/api-java-mixin.raml b/api-java-mixin.raml index ea0c9001be4..342d220d17e 100644 --- a/api-java-mixin.raml +++ b/api-java-mixin.raml @@ -424,7 +424,9 @@ types: return com.commercetools.api.models.common.ReferenceTypeId.PAYMENT; } PaymentDraft: - (java-extends): 'com.commercetools.api.models.CustomizableDraft, com.commercetools.api.models.WithKey' + (java-extends): 'PaymentDraftMixin, com.commercetools.api.models.CustomizableDraft, com.commercetools.api.models.WithKey' + PaymentMethodInfo: + (java-extends): 'PaymentMethodInfoMixin' PaymentPagedQueryResponse: (java-extends): 'com.commercetools.api.models.ResourcePagedQueryResponse' PaymentReference: diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentDraft.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentDraft.java index b00a85507e3..fc6e1d1c241 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentDraft.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentDraft.java @@ -34,7 +34,7 @@ */ @Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") @JsonDeserialize(as = PaymentDraftImpl.class) -public interface PaymentDraft extends com.commercetools.api.models.CustomizableDraft, +public interface PaymentDraft extends PaymentDraftMixin, com.commercetools.api.models.CustomizableDraft, com.commercetools.api.models.WithKey, io.vrap.rmf.base.client.Draft { /** diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentMethodInfo.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentMethodInfo.java index c0b077127a5..c67902b030b 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentMethodInfo.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/payment/PaymentMethodInfo.java @@ -31,7 +31,7 @@ */ @Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") @JsonDeserialize(as = PaymentMethodInfoImpl.class) -public interface PaymentMethodInfo { +public interface PaymentMethodInfo extends PaymentMethodInfoMixin { /** *

Payment service that processes the Payment—for example, a PSP. The combination of paymentInterface and the interfaceId of a Payment is unique.

diff --git a/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentDraftMixin.java b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentDraftMixin.java new file mode 100644 index 00000000000..0a2490d6e9e --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentDraftMixin.java @@ -0,0 +1,27 @@ + +package com.commercetools.api.models.payment; + +import com.commercetools.api.models.WithKey; +import com.commercetools.api.models.type.CustomFields; +import com.commercetools.api.models.type.CustomFieldsDraft; + +public interface PaymentDraftMixin extends WithKey { + + public default PaymentResourceIdentifier toResourceIdentifier() { + if (getKey() != null) + return PaymentResourceIdentifier.builder().key(getKey()).build(); + return null; + } + + public void setCustom(final CustomFieldsDraft custom); + + public default void setCustom(final CustomFields custom) { + this.setCustom(custom.toDraft()); + } + + public void setPaymentMethodInfo(final PaymentMethodInfoDraft paymentMethodInfo); + + public default void setPaymentMethodInfo(final PaymentMethodInfo paymentMethodInfo) { + this.setPaymentMethodInfo(paymentMethodInfo.toDraft()); + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java new file mode 100644 index 00000000000..8ee5d24e0f6 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java @@ -0,0 +1,32 @@ + +package com.commercetools.api.models.payment; + +import com.commercetools.api.models.common.LocalizedString; +import com.commercetools.api.models.payment_method.PaymentMethodToken; +import com.commercetools.api.models.type.CustomFields; + +public interface PaymentMethodInfoMixin { + + public String getPaymentInterface(); + + public String getMethod(); + + public LocalizedString getName(); + + public PaymentMethodToken getToken(); + + public String getInterfaceAccount(); + + public CustomFields getCustom(); + + public default PaymentMethodInfoDraft toDraft() { + return PaymentMethodInfoDraft.builder() + .name(getName()) + .method(getMethod()) + .paymentInterface(getPaymentInterface()) + .token(getToken()) + .interfaceAccount(getInterfaceAccount()) + .custom(getCustom().toDraft()) + .build(); + } +}