All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.sphere.sdk.payments.PaymentDraftDsl Maven / Gradle / Ivy

/*
This class has been generated by class io.sphere.sdk.annotations.processors.ResourceDraftValueAnnotationProcessor
induced by the annotation io.sphere.sdk.annotations.ResourceDraftValue.
in the source class io.sphere.sdk.payments.PaymentDraft.

*/
package io.sphere.sdk.payments;

import javax.annotation.Nullable;
import io.sphere.sdk.models.*;
import java.util.*;
import io.sphere.sdk.utils.*;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.sphere.sdk.payments.PaymentDraftBuilder;


public final class PaymentDraftDsl extends io.sphere.sdk.models.Base implements PaymentDraft {
    @Nullable()
    private     final io.sphere.sdk.models.Reference customer;
    @Nullable()
    private     final java.lang.String externalId;
    @Nullable()
    private     final java.lang.String interfaceId;
    private     final javax.money.MonetaryAmount amountPlanned;
    @Nullable()
    private     final javax.money.MonetaryAmount amountAuthorized;
    @Nullable()
    private     final java.time.ZonedDateTime authorizedUntil;
    @Nullable()
    private     final javax.money.MonetaryAmount amountPaid;
    @Nullable()
    private     final javax.money.MonetaryAmount amountRefunded;
    @Nullable()
    private     final io.sphere.sdk.payments.PaymentMethodInfo paymentMethodInfo;
    @Nullable()
    private     final io.sphere.sdk.types.CustomFieldsDraft custom;
    @Nullable()
    private     final io.sphere.sdk.payments.PaymentStatus paymentStatus;
    @Nullable()
    private     final java.util.List transactions;
    @Nullable()
    private     final java.util.List interfaceInteractions;

    @JsonCreator()
    PaymentDraftDsl(final javax.money.MonetaryAmount amountAuthorized, final javax.money.MonetaryAmount amountPaid, final javax.money.MonetaryAmount amountPlanned, final javax.money.MonetaryAmount amountRefunded, final java.time.ZonedDateTime authorizedUntil, final io.sphere.sdk.types.CustomFieldsDraft custom, final io.sphere.sdk.models.Reference customer, final java.lang.String externalId, final java.lang.String interfaceId, final java.util.List interfaceInteractions, final io.sphere.sdk.payments.PaymentMethodInfo paymentMethodInfo, final io.sphere.sdk.payments.PaymentStatus paymentStatus, final java.util.List transactions) {
        
        this.amountAuthorized = amountAuthorized;
        this.amountPaid = amountPaid;
        this.amountPlanned = amountPlanned;
        this.amountRefunded = amountRefunded;
        this.authorizedUntil = authorizedUntil;
        this.custom = custom;
        this.customer = customer;
        this.externalId = externalId;
        this.interfaceId = interfaceId;
        this.interfaceInteractions = interfaceInteractions;
        this.paymentMethodInfo = paymentMethodInfo;
        this.paymentStatus = paymentStatus;
        this.transactions = transactions;
        
}
    
    
    @Nullable()
    public javax.money.MonetaryAmount getAmountAuthorized() {
        return amountAuthorized;
}
    
    @Nullable()
    public javax.money.MonetaryAmount getAmountPaid() {
        return amountPaid;
}
    
    public javax.money.MonetaryAmount getAmountPlanned() {
        return amountPlanned;
}
    
    @Nullable()
    public javax.money.MonetaryAmount getAmountRefunded() {
        return amountRefunded;
}
    
    @Nullable()
    public java.time.ZonedDateTime getAuthorizedUntil() {
        return authorizedUntil;
}
    
    @Nullable()
    public io.sphere.sdk.types.CustomFieldsDraft getCustom() {
        return custom;
}
    
    @Nullable()
    public io.sphere.sdk.models.Reference getCustomer() {
        return customer;
}
    
    @Nullable()
    public java.lang.String getExternalId() {
        return externalId;
}
    
    @Nullable()
    public java.lang.String getInterfaceId() {
        return interfaceId;
}
    
    @Nullable()
    public java.util.List getInterfaceInteractions() {
        return interfaceInteractions;
}
    
    @Nullable()
    public io.sphere.sdk.payments.PaymentMethodInfo getPaymentMethodInfo() {
        return paymentMethodInfo;
}
    
    @Nullable()
    public io.sphere.sdk.payments.PaymentStatus getPaymentStatus() {
        return paymentStatus;
}
    
    @Nullable()
    public java.util.List getTransactions() {
        return transactions;
}
    
    public PaymentDraftDsl withCustomer(@Nullable() final io.sphere.sdk.models.Referenceable customer) {
        return newBuilder().customer(Optional.ofNullable(customer).map(Referenceable::toReference).orElse(null)).build();
}
    
    public PaymentDraftDsl withExternalId(@Nullable() final java.lang.String externalId) {
        return newBuilder().externalId(externalId).build();
}
    
    public PaymentDraftDsl withInterfaceId(@Nullable() final java.lang.String interfaceId) {
        return newBuilder().interfaceId(interfaceId).build();
}
    
    public PaymentDraftDsl withAmountPlanned(final javax.money.MonetaryAmount amountPlanned) {
        return newBuilder().amountPlanned(amountPlanned).build();
}
    
    public PaymentDraftDsl withAmountAuthorized(@Nullable() final javax.money.MonetaryAmount amountAuthorized) {
        return newBuilder().amountAuthorized(amountAuthorized).build();
}
    
    public PaymentDraftDsl withAuthorizedUntil(@Nullable() final java.time.ZonedDateTime authorizedUntil) {
        return newBuilder().authorizedUntil(authorizedUntil).build();
}
    
    public PaymentDraftDsl withAmountPaid(@Nullable() final javax.money.MonetaryAmount amountPaid) {
        return newBuilder().amountPaid(amountPaid).build();
}
    
    public PaymentDraftDsl withAmountRefunded(@Nullable() final javax.money.MonetaryAmount amountRefunded) {
        return newBuilder().amountRefunded(amountRefunded).build();
}
    
    public PaymentDraftDsl withPaymentMethodInfo(@Nullable() final io.sphere.sdk.payments.PaymentMethodInfo paymentMethodInfo) {
        return newBuilder().paymentMethodInfo(paymentMethodInfo).build();
}
    
    public PaymentDraftDsl withCustom(@Nullable() final io.sphere.sdk.types.CustomFieldsDraft custom) {
        return newBuilder().custom(custom).build();
}
    
    public PaymentDraftDsl withPaymentStatus(@Nullable() final io.sphere.sdk.payments.PaymentStatus paymentStatus) {
        return newBuilder().paymentStatus(paymentStatus).build();
}
    
    public PaymentDraftDsl withTransactions(@Nullable() final java.util.List transactions) {
        return newBuilder().transactions(transactions).build();
}
    
    public PaymentDraftDsl withInterfaceInteractions(@Nullable() final java.util.List interfaceInteractions) {
        return newBuilder().interfaceInteractions(interfaceInteractions).build();
}
    
    private PaymentDraftBuilder newBuilder() {
        return new PaymentDraftBuilder(amountAuthorized, amountPaid, amountPlanned, amountRefunded, authorizedUntil, custom, customer, externalId, interfaceId, interfaceInteractions, paymentMethodInfo, paymentStatus, transactions);
}
    
    public static PaymentDraftDsl of(final javax.money.MonetaryAmount amountPlanned) {
        return new PaymentDraftDsl(null, null, amountPlanned, null, null, null, null, null, null, null, null, null, null);
}
    
    public static PaymentDraftDsl of(final PaymentDraft template) {
        return new PaymentDraftDsl(template.getAmountAuthorized(), template.getAmountPaid(), template.getAmountPlanned(), template.getAmountRefunded(), template.getAuthorizedUntil(), template.getCustom(), template.getCustomer(), template.getExternalId(), template.getInterfaceId(), template.getInterfaceInteractions(), template.getPaymentMethodInfo(), template.getPaymentStatus(), template.getTransactions());
}
    
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy