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

io.sphere.sdk.carts.CartImpl Maven / Gradle / Ivy

There is a newer version: 2.16.0
Show newest version
package io.sphere.sdk.carts;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.neovisionaries.i18n.CountryCode;
import io.sphere.sdk.customergroups.CustomerGroup;
import io.sphere.sdk.discountcodes.DiscountCodeInfo;
import io.sphere.sdk.models.Address;
import io.sphere.sdk.models.ResourceImpl;
import io.sphere.sdk.models.Reference;
import io.sphere.sdk.types.CustomFields;

import javax.annotation.Nullable;
import javax.money.MonetaryAmount;
import java.time.ZonedDateTime;
import java.util.List;

class CartImpl extends ResourceImpl implements Cart {
    @Nullable
    private final String customerId;
    @Nullable
    private final String customerEmail;
    private final List lineItems;
    private final List customLineItems;
    private final MonetaryAmount totalPrice;
    @Nullable
    private final TaxedPrice taxedPrice;
    private final CartState cartState;
    @Nullable
    private final Address shippingAddress;
    @Nullable
    private final Address billingAddress;
    private final InventoryMode inventoryMode;
    @Nullable
    private final Reference customerGroup;
    @Nullable
    private final CountryCode country;
    @Nullable
    private final CartShippingInfo shippingInfo;
    private final List discountCodes;
    @Nullable
    private final CustomFields custom;
    @Nullable
    private final PaymentInfo paymentInfo;

    @JsonCreator
    CartImpl(final String id, final Long version, final ZonedDateTime createdAt,
             final ZonedDateTime lastModifiedAt, @Nullable final String customerId,
             @Nullable final String customerEmail, final List lineItems,
             final List customLineItems, final MonetaryAmount totalPrice,
             @Nullable final TaxedPrice taxedPrice, final CartState cartState,
             @Nullable final Address shippingAddress, @Nullable final Address billingAddress,
             final InventoryMode inventoryMode, @Nullable final Reference customerGroup,
             @Nullable final CountryCode country, @Nullable final CartShippingInfo shippingInfo,
             final List discountCodes, @Nullable final CustomFields custom, @Nullable final PaymentInfo paymentInfo) {
        super(id, version, createdAt, lastModifiedAt);
        this.customerId = customerId;
        this.customerEmail = customerEmail;
        this.lineItems = lineItems;
        this.customLineItems = customLineItems;
        this.totalPrice = totalPrice;
        this.taxedPrice = taxedPrice;
        this.cartState = cartState;
        this.shippingAddress = shippingAddress;
        this.billingAddress = billingAddress;
        this.inventoryMode = inventoryMode;
        this.customerGroup = customerGroup;
        this.country = country;
        this.shippingInfo = shippingInfo;
        this.discountCodes = discountCodes;
        this.custom = custom;
        this.paymentInfo = paymentInfo;
    }

    @Override
    @Nullable
    public String getCustomerId() {
        return customerId;
    }

    @Override
    @Nullable
    public String getCustomerEmail() {
        return customerEmail;
    }

    @Override
    public List getLineItems() {
        return lineItems;
    }

    @Override
    public List getCustomLineItems() {
        return customLineItems;
    }

    @Override
    public MonetaryAmount getTotalPrice() {
        return totalPrice;
    }

    @Override
    @Nullable
    public TaxedPrice getTaxedPrice() {
        return taxedPrice;
    }

    @Override
    public CartState getCartState() {
        return cartState;
    }

    @Override
    @Nullable
    public Address getShippingAddress() {
        return shippingAddress;
    }

    @Override
    @Nullable
    public Address getBillingAddress() {
        return billingAddress;
    }

    @Override
    public InventoryMode getInventoryMode() {
        return inventoryMode;
    }

    @Override
    @Nullable
    public Reference getCustomerGroup() {
        return customerGroup;
    }

    @Override
    @Nullable
    public CountryCode getCountry() {
        return country;
    }

    @Override
    @Nullable
    public CartShippingInfo getShippingInfo() {
        return shippingInfo;
    }

    @Override
    public List getDiscountCodes() {
        return discountCodes;
    }

    @Override
    @Nullable
    public CustomFields getCustom() {
        return custom;
    }

    @Override
    @Nullable
    public PaymentInfo getPaymentInfo() {
        return paymentInfo;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy