<?php

namespace Myvetshop\Module\Clinique\Generated\Jane\Insight\Model;

class OrdersGetResponse200ItemProductsItem extends \ArrayObject
{
    /**
     * @var array
     */
    protected $initialized = [];

    public function isInitialized($property): bool
    {
        return array_key_exists($property, $this->initialized);
    }
    /**
     * @var int
     */
    protected $id;
    /**
     * @var string|null
     */
    protected $supplierCode;
    /**
     * @var string|null
     */
    protected $name;
    /**
     * @var string|null
     */
    protected $format;
    /**
     * @var string|null
     */
    protected $category;
    /**
     * @var string|null
     */
    protected $manufacturer;
    /**
     * @var int
     */
    protected $quantity;
    /**
     * Total price of the product considering the quantity (taxes excluded)
     *
     * @var string
     */
    protected $totalPriceTaxExcl;
    /**
     * Total price of the product considering the quantity (taxes included)
     *
     * @var string
     */
    protected $totalPriceTaxIncl;

    /**
     * @return int
     */
    public function getId(): int
    {
        return $this->id;
    }

    /**
     * @param int $id
     *
     * @return self
     */
    public function setId(int $id): self
    {
        $this->initialized['id'] = true;
        $this->id = $id;

        return $this;
    }

    /**
     * @return string|null
     */
    public function getSupplierCode(): ?string
    {
        return $this->supplierCode;
    }

    /**
     * @param string|null $supplierCode
     *
     * @return self
     */
    public function setSupplierCode(?string $supplierCode): self
    {
        $this->initialized['supplierCode'] = true;
        $this->supplierCode = $supplierCode;

        return $this;
    }

    /**
     * @return string|null
     */
    public function getName(): ?string
    {
        return $this->name;
    }

    /**
     * @param string|null $name
     *
     * @return self
     */
    public function setName(?string $name): self
    {
        $this->initialized['name'] = true;
        $this->name = $name;

        return $this;
    }

    /**
     * @return string|null
     */
    public function getFormat(): ?string
    {
        return $this->format;
    }

    /**
     * @param string|null $format
     *
     * @return self
     */
    public function setFormat(?string $format): self
    {
        $this->initialized['format'] = true;
        $this->format = $format;

        return $this;
    }

    /**
     * @return string|null
     */
    public function getCategory(): ?string
    {
        return $this->category;
    }

    /**
     * @param string|null $category
     *
     * @return self
     */
    public function setCategory(?string $category): self
    {
        $this->initialized['category'] = true;
        $this->category = $category;

        return $this;
    }

    /**
     * @return string|null
     */
    public function getManufacturer(): ?string
    {
        return $this->manufacturer;
    }

    /**
     * @param string|null $manufacturer
     *
     * @return self
     */
    public function setManufacturer(?string $manufacturer): self
    {
        $this->initialized['manufacturer'] = true;
        $this->manufacturer = $manufacturer;

        return $this;
    }

    /**
     * @return int
     */
    public function getQuantity(): int
    {
        return $this->quantity;
    }

    /**
     * @param int $quantity
     *
     * @return self
     */
    public function setQuantity(int $quantity): self
    {
        $this->initialized['quantity'] = true;
        $this->quantity = $quantity;

        return $this;
    }

    /**
     * Total price of the product considering the quantity (taxes excluded)
     *
     * @return string
     */
    public function getTotalPriceTaxExcl(): string
    {
        return $this->totalPriceTaxExcl;
    }

    /**
     * Total price of the product considering the quantity (taxes excluded)
     *
     * @param string $totalPriceTaxExcl
     *
     * @return self
     */
    public function setTotalPriceTaxExcl(string $totalPriceTaxExcl): self
    {
        $this->initialized['totalPriceTaxExcl'] = true;
        $this->totalPriceTaxExcl = $totalPriceTaxExcl;

        return $this;
    }

    /**
     * Total price of the product considering the quantity (taxes included)
     *
     * @return string
     */
    public function getTotalPriceTaxIncl(): string
    {
        return $this->totalPriceTaxIncl;
    }

    /**
     * Total price of the product considering the quantity (taxes included)
     *
     * @param string $totalPriceTaxIncl
     *
     * @return self
     */
    public function setTotalPriceTaxIncl(string $totalPriceTaxIncl): self
    {
        $this->initialized['totalPriceTaxIncl'] = true;
        $this->totalPriceTaxIncl = $totalPriceTaxIncl;

        return $this;
    }
}
