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

io.sphere.sdk.inventories.InventoryEntryImpl Maven / Gradle / Ivy

The newest version!
package io.sphere.sdk.inventories;

import com.fasterxml.jackson.annotation.JsonCreator;
import io.sphere.sdk.channels.Channel;
import io.sphere.sdk.models.DefaultModelImpl;
import io.sphere.sdk.models.Reference;

import java.time.Instant;
import java.util.Optional;

final class InventoryEntryImpl extends DefaultModelImpl implements InventoryEntry {
    private final String sku;
    private final Optional> supplyChannel;
    private final long quantityOnStock;
    private final long availableQuantity;
    private final Optional restockableInDays;
    private final Optional expectedDelivery;

    @JsonCreator
    public InventoryEntryImpl(final String id, final long version, final Instant createdAt, final Instant lastModifiedAt, final long availableQuantity, final String sku, final Optional> supplyChannel, final long quantityOnStock, final Optional restockableInDays, final Optional expectedDelivery) {
        super(id, version, createdAt, lastModifiedAt);
        this.availableQuantity = availableQuantity;
        this.sku = sku;
        this.supplyChannel = supplyChannel;
        this.quantityOnStock = quantityOnStock;
        this.restockableInDays = restockableInDays;
        this.expectedDelivery = expectedDelivery;
    }

    @Override
    public long getAvailableQuantity() {
        return availableQuantity;
    }

    @Override
    public Optional getExpectedDelivery() {
        return expectedDelivery;
    }

    @Override
    public long getQuantityOnStock() {
        return quantityOnStock;
    }

    @Override
    public Optional getRestockableInDays() {
        return restockableInDays;
    }

    @Override
    public String getSku() {
        return sku;
    }

    @Override
    public Optional> getSupplyChannel() {
        return supplyChannel;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy