<?php


class Item implements \JsonSerializable
{
    private $code;	
    private $name;	
    private $barCode;	
    private $value;	
    private $amount;	
    private $categoryID;	
    private $categoryName;
    private $isGift;
    private $sellerName;
    private $sellerDocument;
    private $isMarketPlace;
    private $shippingCompany;

    public function jsonSerialize(): mixed
    {
        $obj = clone $this;
        $keys = get_object_vars($obj);
        foreach ($keys as $key => $value) {
            if ($value===null || $value==='') {
                unset($obj->{$key});
            }
        }

        return get_object_vars($obj);
    }    

    /**
     * Get the value of code
     */ 
    public function getCode()
    {
        return $this->code;
    }

    /**
     * Set the value of code
     *
     * @return  self
     */ 
    public function setCode($code)
    {
        $this->code = $code;

        return $this;
    }

    /**
     * Get the value of name
     */ 
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set the value of name
     *
     * @return  self
     */ 
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get the value of barCode
     */ 
    public function getBarCode()
    {
        return $this->barCode;
    }

    /**
     * Set the value of barCode
     *
     * @return  self
     */ 
    public function setBarCode($barCode)
    {
        $this->barCode = $barCode;

        return $this;
    }

    /**
     * Get the value of value
     */ 
    public function getValue()
    {
        return $this->value;
    }

    /**
     * Set the value of value
     *
     * @return  self
     */ 
    public function setValue($value)
    {
        $this->value = $value;

        return $this;
    }

    /**
     * Get the value of amount
     */ 
    public function getAmount()
    {
        return $this->amount;
    }

    /**
     * Set the value of amount
     *
     * @return  self
     */ 
    public function setAmount($amount)
    {
        $this->amount = $amount;

        return $this;
    }

    /**
     * Get the value of categoryID
     */ 
    public function getCategoryID()
    {
        return $this->categoryID;
    }

    /**
     * Set the value of categoryID
     *
     * @return  self
     */ 
    public function setCategoryID($categoryID)
    {
        $this->categoryID = $categoryID;

        return $this;
    }

    /**
     * Get the value of categoryName
     */ 
    public function getCategoryName()
    {
        return $this->categoryName;
    }

    /**
     * Set the value of categoryName
     *
     * @return  self
     */ 
    public function setCategoryName($categoryName)
    {
        $this->categoryName = $categoryName;

        return $this;
    }

    /**
     * Get the value of isGift
     */ 
    public function getIsGift()
    {
        return $this->isGift;
    }

    /**
     * Set the value of isGift
     *
     * @return  self
     */ 
    public function setIsGift($isGift)
    {
        $this->isGift = $isGift;

        return $this;
    }

    /**
     * Get the value of sellerName
     */ 
    public function getSellerName()
    {
        return $this->sellerName;
    }

    /**
     * Set the value of sellerName
     *
     * @return  self
     */ 
    public function setSellerName($sellerName)
    {
        $this->sellerName = $sellerName;

        return $this;
    }

    /**
     * Get the value of sellerDocument
     */ 
    public function getSellerDocument()
    {
        return $this->sellerDocument;
    }

    /**
     * Set the value of sellerDocument
     *
     * @return  self
     */ 
    public function setSellerDocument($sellerDocument)
    {
        $this->sellerDocument = $sellerDocument;

        return $this;
    }

    /**
     * Get the value of isMarketPlace
     */ 
    public function getIsMarketPlace()
    {
        return $this->isMarketPlace;
    }

    /**
     * Set the value of isMarketPlace
     *
     * @return  self
     */ 
    public function setIsMarketPlace($isMarketPlace)
    {
        $this->isMarketPlace = $isMarketPlace;

        return $this;
    }

    /**
     * Get the value of shippingCompany
     */ 
    public function getShippingCompany()
    {
        return $this->shippingCompany;
    }

    /**
     * Set the value of shippingCompany
     *
     * @return  self
     */ 
    public function setShippingCompany($shippingCompany)
    {
        $this->shippingCompany = $shippingCompany;

        return $this;
    }
}