*/ class ProductDto implements ModelInterface, ArrayAccess, \JsonSerializable { public const DISCRIMINATOR = null; /** * The original name of the model. * * @var string */ protected static $openAPIModelName = 'ProductDto'; /** * Array of property to type mappings. Used for (de)serialization * * @var string[] */ protected static $openAPITypes = [ 'uniq_id' => 'string', 'product_name' => 'string', 'retail_price' => 'float', 'whole_price' => 'float', 'vat' => 'float', 'suggest_price' => 'float', 'eshop_price' => 'float', 'ref_price' => 'float', 'eshop_discount' => 'float', 'stock' => 'float', 'reserved_stock' => 'float', 'available_stock' => 'float', 'robot_stock' => 'float', 'barcode' => 'string', 'barcode_list' => 'string[]', 'oikos_id' => 'string', 'owner_id' => 'string', 'main_categ_id' => 'string', 'categ_id' => 'string', 'sub_categ_id' => 'string', 'per_cat_id' => 'string', 'per_cat2_id' => 'string', 'per_cat3_id' => 'string', 'mock_id' => 'string', 'mock_name' => 'string', 'measurement_unit' => 'string', 'measurement_value' => 'string', 'weight' => 'float', 'color' => 'string', 'shelf' => 'string', 'position' => 'string', 'last_supplier' => 'string', 'web_visible' => 'bool', 'img_url' => 'string', 'is_med' => 'bool', 'last_upd' => '\DateTime' ]; /** * Array of property to format mappings. Used for (de)serialization * * @var string[] * @phpstan-var array * @psalm-var array */ protected static $openAPIFormats = [ 'uniq_id' => null, 'product_name' => null, 'retail_price' => 'double', 'whole_price' => 'double', 'vat' => 'double', 'suggest_price' => 'double', 'eshop_price' => 'double', 'ref_price' => 'double', 'eshop_discount' => 'double', 'stock' => 'double', 'reserved_stock' => 'double', 'available_stock' => 'double', 'robot_stock' => 'double', 'barcode' => null, 'barcode_list' => null, 'oikos_id' => null, 'owner_id' => null, 'main_categ_id' => null, 'categ_id' => null, 'sub_categ_id' => null, 'per_cat_id' => null, 'per_cat2_id' => null, 'per_cat3_id' => null, 'mock_id' => null, 'mock_name' => null, 'measurement_unit' => null, 'measurement_value' => null, 'weight' => 'double', 'color' => null, 'shelf' => null, 'position' => null, 'last_supplier' => null, 'web_visible' => null, 'img_url' => null, 'is_med' => null, 'last_upd' => 'date-time' ]; /** * Array of nullable properties. Used for (de)serialization * * @var boolean[] */ protected static array $openAPINullables = [ 'uniq_id' => true, 'product_name' => true, 'retail_price' => false, 'whole_price' => false, 'vat' => false, 'suggest_price' => false, 'eshop_price' => false, 'ref_price' => false, 'eshop_discount' => false, 'stock' => false, 'reserved_stock' => false, 'available_stock' => false, 'robot_stock' => false, 'barcode' => true, 'barcode_list' => true, 'oikos_id' => true, 'owner_id' => true, 'main_categ_id' => true, 'categ_id' => true, 'sub_categ_id' => true, 'per_cat_id' => true, 'per_cat2_id' => true, 'per_cat3_id' => true, 'mock_id' => true, 'mock_name' => true, 'measurement_unit' => true, 'measurement_value' => true, 'weight' => false, 'color' => true, 'shelf' => true, 'position' => true, 'last_supplier' => true, 'web_visible' => false, 'img_url' => true, 'is_med' => false, 'last_upd' => false ]; /** * If a nullable field gets set to null, insert it here * * @var boolean[] */ protected array $openAPINullablesSetToNull = []; /** * Array of property to type mappings. Used for (de)serialization * * @return array */ public static function openAPITypes() { return self::$openAPITypes; } /** * Array of property to format mappings. Used for (de)serialization * * @return array */ public static function openAPIFormats() { return self::$openAPIFormats; } /** * Array of nullable properties * * @return array */ protected static function openAPINullables(): array { return self::$openAPINullables; } /** * Array of nullable field names deliberately set to null * * @return boolean[] */ private function getOpenAPINullablesSetToNull(): array { return $this->openAPINullablesSetToNull; } /** * Setter - Array of nullable field names deliberately set to null * * @param boolean[] $openAPINullablesSetToNull */ private function setOpenAPINullablesSetToNull(array $openAPINullablesSetToNull): void { $this->openAPINullablesSetToNull = $openAPINullablesSetToNull; } /** * Checks if a property is nullable * * @param string $property * @return bool */ public static function isNullable(string $property): bool { return self::openAPINullables()[$property] ?? false; } /** * Checks if a nullable property is set to null. * * @param string $property * @return bool */ public function isNullableSetToNull(string $property): bool { return in_array($property, $this->getOpenAPINullablesSetToNull(), true); } /** * Array of attributes where the key is the local name, * and the value is the original name * * @var string[] */ protected static $attributeMap = [ 'uniq_id' => 'uniqId', 'product_name' => 'productName', 'retail_price' => 'retailPrice', 'whole_price' => 'wholePrice', 'vat' => 'vat', 'suggest_price' => 'suggestPrice', 'eshop_price' => 'eshopPrice', 'ref_price' => 'refPrice', 'eshop_discount' => 'eshopDiscount', 'stock' => 'stock', 'reserved_stock' => 'reservedStock', 'available_stock' => 'availableStock', 'robot_stock' => 'robotStock', 'barcode' => 'barcode', 'barcode_list' => 'barcodeList', 'oikos_id' => 'oikosId', 'owner_id' => 'ownerId', 'main_categ_id' => 'mainCategId', 'categ_id' => 'categId', 'sub_categ_id' => 'subCategId', 'per_cat_id' => 'perCatId', 'per_cat2_id' => 'perCat2Id', 'per_cat3_id' => 'perCat3Id', 'mock_id' => 'mockId', 'mock_name' => 'mockName', 'measurement_unit' => 'measurementUnit', 'measurement_value' => 'measurementValue', 'weight' => 'weight', 'color' => 'color', 'shelf' => 'shelf', 'position' => 'position', 'last_supplier' => 'lastSupplier', 'web_visible' => 'webVisible', 'img_url' => 'imgUrl', 'is_med' => 'isMed', 'last_upd' => 'lastUpd' ]; /** * Array of attributes to setter functions (for deserialization of responses) * * @var string[] */ protected static $setters = [ 'uniq_id' => 'setUniqId', 'product_name' => 'setProductName', 'retail_price' => 'setRetailPrice', 'whole_price' => 'setWholePrice', 'vat' => 'setVat', 'suggest_price' => 'setSuggestPrice', 'eshop_price' => 'setEshopPrice', 'ref_price' => 'setRefPrice', 'eshop_discount' => 'setEshopDiscount', 'stock' => 'setStock', 'reserved_stock' => 'setReservedStock', 'available_stock' => 'setAvailableStock', 'robot_stock' => 'setRobotStock', 'barcode' => 'setBarcode', 'barcode_list' => 'setBarcodeList', 'oikos_id' => 'setOikosId', 'owner_id' => 'setOwnerId', 'main_categ_id' => 'setMainCategId', 'categ_id' => 'setCategId', 'sub_categ_id' => 'setSubCategId', 'per_cat_id' => 'setPerCatId', 'per_cat2_id' => 'setPerCat2Id', 'per_cat3_id' => 'setPerCat3Id', 'mock_id' => 'setMockId', 'mock_name' => 'setMockName', 'measurement_unit' => 'setMeasurementUnit', 'measurement_value' => 'setMeasurementValue', 'weight' => 'setWeight', 'color' => 'setColor', 'shelf' => 'setShelf', 'position' => 'setPosition', 'last_supplier' => 'setLastSupplier', 'web_visible' => 'setWebVisible', 'img_url' => 'setImgUrl', 'is_med' => 'setIsMed', 'last_upd' => 'setLastUpd' ]; /** * Array of attributes to getter functions (for serialization of requests) * * @var string[] */ protected static $getters = [ 'uniq_id' => 'getUniqId', 'product_name' => 'getProductName', 'retail_price' => 'getRetailPrice', 'whole_price' => 'getWholePrice', 'vat' => 'getVat', 'suggest_price' => 'getSuggestPrice', 'eshop_price' => 'getEshopPrice', 'ref_price' => 'getRefPrice', 'eshop_discount' => 'getEshopDiscount', 'stock' => 'getStock', 'reserved_stock' => 'getReservedStock', 'available_stock' => 'getAvailableStock', 'robot_stock' => 'getRobotStock', 'barcode' => 'getBarcode', 'barcode_list' => 'getBarcodeList', 'oikos_id' => 'getOikosId', 'owner_id' => 'getOwnerId', 'main_categ_id' => 'getMainCategId', 'categ_id' => 'getCategId', 'sub_categ_id' => 'getSubCategId', 'per_cat_id' => 'getPerCatId', 'per_cat2_id' => 'getPerCat2Id', 'per_cat3_id' => 'getPerCat3Id', 'mock_id' => 'getMockId', 'mock_name' => 'getMockName', 'measurement_unit' => 'getMeasurementUnit', 'measurement_value' => 'getMeasurementValue', 'weight' => 'getWeight', 'color' => 'getColor', 'shelf' => 'getShelf', 'position' => 'getPosition', 'last_supplier' => 'getLastSupplier', 'web_visible' => 'getWebVisible', 'img_url' => 'getImgUrl', 'is_med' => 'getIsMed', 'last_upd' => 'getLastUpd' ]; /** * Array of attributes where the key is the local name, * and the value is the original name * * @return array */ public static function attributeMap() { return self::$attributeMap; } /** * Array of attributes to setter functions (for deserialization of responses) * * @return array */ public static function setters() { return self::$setters; } /** * Array of attributes to getter functions (for serialization of requests) * * @return array */ public static function getters() { return self::$getters; } /** * The original name of the model. * * @return string */ public function getModelName() { return self::$openAPIModelName; } /** * Associative array for storing property values * * @var mixed[] */ protected $container = []; /** * Constructor * * @param mixed[]|null $data Associated array of property values * initializing the model */ public function __construct(?array $data = null) { $this->setIfExists('uniq_id', $data ?? [], null); $this->setIfExists('product_name', $data ?? [], null); $this->setIfExists('retail_price', $data ?? [], null); $this->setIfExists('whole_price', $data ?? [], null); $this->setIfExists('vat', $data ?? [], null); $this->setIfExists('suggest_price', $data ?? [], null); $this->setIfExists('eshop_price', $data ?? [], null); $this->setIfExists('ref_price', $data ?? [], null); $this->setIfExists('eshop_discount', $data ?? [], null); $this->setIfExists('stock', $data ?? [], null); $this->setIfExists('reserved_stock', $data ?? [], null); $this->setIfExists('available_stock', $data ?? [], null); $this->setIfExists('robot_stock', $data ?? [], null); $this->setIfExists('barcode', $data ?? [], null); $this->setIfExists('barcode_list', $data ?? [], null); $this->setIfExists('oikos_id', $data ?? [], null); $this->setIfExists('owner_id', $data ?? [], null); $this->setIfExists('main_categ_id', $data ?? [], null); $this->setIfExists('categ_id', $data ?? [], null); $this->setIfExists('sub_categ_id', $data ?? [], null); $this->setIfExists('per_cat_id', $data ?? [], null); $this->setIfExists('per_cat2_id', $data ?? [], null); $this->setIfExists('per_cat3_id', $data ?? [], null); $this->setIfExists('mock_id', $data ?? [], null); $this->setIfExists('mock_name', $data ?? [], null); $this->setIfExists('measurement_unit', $data ?? [], null); $this->setIfExists('measurement_value', $data ?? [], null); $this->setIfExists('weight', $data ?? [], null); $this->setIfExists('color', $data ?? [], null); $this->setIfExists('shelf', $data ?? [], null); $this->setIfExists('position', $data ?? [], null); $this->setIfExists('last_supplier', $data ?? [], null); $this->setIfExists('web_visible', $data ?? [], null); $this->setIfExists('img_url', $data ?? [], null); $this->setIfExists('is_med', $data ?? [], null); $this->setIfExists('last_upd', $data ?? [], null); } /** * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the * $this->openAPINullablesSetToNull array * * @param string $variableName * @param array $fields * @param mixed $defaultValue */ private function setIfExists(string $variableName, array $fields, $defaultValue): void { if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { $this->openAPINullablesSetToNull[] = $variableName; } $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** * Show all the invalid properties with reasons. * * @return array invalid properties with reasons */ public function listInvalidProperties() { $invalidProperties = []; return $invalidProperties; } /** * Validate all the properties in the model * return true if all passed * * @return bool True if all properties are valid */ public function valid() { return count($this->listInvalidProperties()) === 0; } /** * Gets uniq_id * * @return string|null */ public function getUniqId() { return $this->container['uniq_id']; } /** * Sets uniq_id * * @param string|null $uniq_id Μοναδικός κωδικός είδους * * @return self */ public function setUniqId($uniq_id) { if (is_null($uniq_id)) { array_push($this->openAPINullablesSetToNull, 'uniq_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('uniq_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['uniq_id'] = $uniq_id; return $this; } /** * Gets product_name * * @return string|null */ public function getProductName() { return $this->container['product_name']; } /** * Sets product_name * * @param string|null $product_name Τίτλος είδους * * @return self */ public function setProductName($product_name) { if (is_null($product_name)) { array_push($this->openAPINullablesSetToNull, 'product_name'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('product_name', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['product_name'] = $product_name; return $this; } /** * Gets retail_price * * @return float|null */ public function getRetailPrice() { return $this->container['retail_price']; } /** * Sets retail_price * * @param float|null $retail_price Λιανική τιμή * * @return self */ public function setRetailPrice($retail_price) { if (is_null($retail_price)) { throw new \InvalidArgumentException('non-nullable retail_price cannot be null'); } $this->container['retail_price'] = $retail_price; return $this; } /** * Gets whole_price * * @return float|null */ public function getWholePrice() { return $this->container['whole_price']; } /** * Sets whole_price * * @param float|null $whole_price Χονδρική τιμή * * @return self */ public function setWholePrice($whole_price) { if (is_null($whole_price)) { throw new \InvalidArgumentException('non-nullable whole_price cannot be null'); } $this->container['whole_price'] = $whole_price; return $this; } /** * Gets vat * * @return float|null */ public function getVat() { return $this->container['vat']; } /** * Sets vat * * @param float|null $vat Φπα είδους * * @return self */ public function setVat($vat) { if (is_null($vat)) { throw new \InvalidArgumentException('non-nullable vat cannot be null'); } $this->container['vat'] = $vat; return $this; } /** * Gets suggest_price * * @return float|null */ public function getSuggestPrice() { return $this->container['suggest_price']; } /** * Sets suggest_price * * @param float|null $suggest_price Τιμή καταλόγου * * @return self */ public function setSuggestPrice($suggest_price) { if (is_null($suggest_price)) { throw new \InvalidArgumentException('non-nullable suggest_price cannot be null'); } $this->container['suggest_price'] = $suggest_price; return $this; } /** * Gets eshop_price * * @return float|null */ public function getEshopPrice() { return $this->container['eshop_price']; } /** * Sets eshop_price * * @param float|null $eshop_price Τιμή eshop * * @return self */ public function setEshopPrice($eshop_price) { if (is_null($eshop_price)) { throw new \InvalidArgumentException('non-nullable eshop_price cannot be null'); } $this->container['eshop_price'] = $eshop_price; return $this; } /** * Gets ref_price * * @return float|null */ public function getRefPrice() { return $this->container['ref_price']; } /** * Sets ref_price * * @param float|null $ref_price Τιμή Αναφοράς - Για φάρμακα * * @return self */ public function setRefPrice($ref_price) { if (is_null($ref_price)) { throw new \InvalidArgumentException('non-nullable ref_price cannot be null'); } $this->container['ref_price'] = $ref_price; return $this; } /** * Gets eshop_discount * * @return float|null */ public function getEshopDiscount() { return $this->container['eshop_discount']; } /** * Sets eshop_discount * * @param float|null $eshop_discount * * @return self */ public function setEshopDiscount($eshop_discount) { if (is_null($eshop_discount)) { throw new \InvalidArgumentException('non-nullable eshop_discount cannot be null'); } $this->container['eshop_discount'] = $eshop_discount; return $this; } /** * Gets stock * * @return float|null */ public function getStock() { return $this->container['stock']; } /** * Sets stock * * @param float|null $stock Απόθεμα Φαρμακείου * * @return self */ public function setStock($stock) { if (is_null($stock)) { throw new \InvalidArgumentException('non-nullable stock cannot be null'); } $this->container['stock'] = $stock; return $this; } /** * Gets reserved_stock * * @return float|null */ public function getReservedStock() { return $this->container['reserved_stock']; } /** * Sets reserved_stock * * @param float|null $reserved_stock Δεσμευμένο απόθεμα * * @return self */ public function setReservedStock($reserved_stock) { if (is_null($reserved_stock)) { throw new \InvalidArgumentException('non-nullable reserved_stock cannot be null'); } $this->container['reserved_stock'] = $reserved_stock; return $this; } /** * Gets available_stock * * @return float|null */ public function getAvailableStock() { return $this->container['available_stock']; } /** * Sets available_stock * * @param float|null $available_stock Διαθέσιμο Απόθεμα * * @return self */ public function setAvailableStock($available_stock) { if (is_null($available_stock)) { throw new \InvalidArgumentException('non-nullable available_stock cannot be null'); } $this->container['available_stock'] = $available_stock; return $this; } /** * Gets robot_stock * * @return float|null */ public function getRobotStock() { return $this->container['robot_stock']; } /** * Sets robot_stock * * @param float|null $robot_stock robot_stock * * @return self */ public function setRobotStock($robot_stock) { if (is_null($robot_stock)) { throw new \InvalidArgumentException('non-nullable robot_stock cannot be null'); } $this->container['robot_stock'] = $robot_stock; return $this; } /** * Gets barcode * * @return string|null */ public function getBarcode() { return $this->container['barcode']; } /** * Sets barcode * * @param string|null $barcode barcode * * @return self */ public function setBarcode($barcode) { if (is_null($barcode)) { array_push($this->openAPINullablesSetToNull, 'barcode'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('barcode', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['barcode'] = $barcode; return $this; } /** * Gets barcode_list * * @return string[]|null */ public function getBarcodeList() { return $this->container['barcode_list']; } /** * Sets barcode_list * * @param string[]|null $barcode_list barcode_list * * @return self */ public function setBarcodeList($barcode_list) { if (is_null($barcode_list)) { array_push($this->openAPINullablesSetToNull, 'barcode_list'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('barcode_list', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['barcode_list'] = $barcode_list; return $this; } /** * Gets oikos_id * * @return string|null */ public function getOikosId() { return $this->container['oikos_id']; } /** * Sets oikos_id * * @param string|null $oikos_id Τιμή καταλόγου * * @return self */ public function setOikosId($oikos_id) { if (is_null($oikos_id)) { array_push($this->openAPINullablesSetToNull, 'oikos_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('oikos_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['oikos_id'] = $oikos_id; return $this; } /** * Gets owner_id * * @return string|null */ public function getOwnerId() { return $this->container['owner_id']; } /** * Sets owner_id * * @param string|null $owner_id owner_id * * @return self */ public function setOwnerId($owner_id) { if (is_null($owner_id)) { array_push($this->openAPINullablesSetToNull, 'owner_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('owner_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['owner_id'] = $owner_id; return $this; } /** * Gets main_categ_id * * @return string|null */ public function getMainCategId() { return $this->container['main_categ_id']; } /** * Sets main_categ_id * * @param string|null $main_categ_id main_categ_id * * @return self */ public function setMainCategId($main_categ_id) { if (is_null($main_categ_id)) { array_push($this->openAPINullablesSetToNull, 'main_categ_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('main_categ_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['main_categ_id'] = $main_categ_id; return $this; } /** * Gets categ_id * * @return string|null */ public function getCategId() { return $this->container['categ_id']; } /** * Sets categ_id * * @param string|null $categ_id categ_id * * @return self */ public function setCategId($categ_id) { if (is_null($categ_id)) { array_push($this->openAPINullablesSetToNull, 'categ_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('categ_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['categ_id'] = $categ_id; return $this; } /** * Gets sub_categ_id * * @return string|null */ public function getSubCategId() { return $this->container['sub_categ_id']; } /** * Sets sub_categ_id * * @param string|null $sub_categ_id sub_categ_id * * @return self */ public function setSubCategId($sub_categ_id) { if (is_null($sub_categ_id)) { array_push($this->openAPINullablesSetToNull, 'sub_categ_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('sub_categ_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['sub_categ_id'] = $sub_categ_id; return $this; } /** * Gets per_cat_id * * @return string|null */ public function getPerCatId() { return $this->container['per_cat_id']; } /** * Sets per_cat_id * * @param string|null $per_cat_id per_cat_id * * @return self */ public function setPerCatId($per_cat_id) { if (is_null($per_cat_id)) { array_push($this->openAPINullablesSetToNull, 'per_cat_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('per_cat_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['per_cat_id'] = $per_cat_id; return $this; } /** * Gets per_cat2_id * * @return string|null */ public function getPerCat2Id() { return $this->container['per_cat2_id']; } /** * Sets per_cat2_id * * @param string|null $per_cat2_id per_cat2_id * * @return self */ public function setPerCat2Id($per_cat2_id) { if (is_null($per_cat2_id)) { array_push($this->openAPINullablesSetToNull, 'per_cat2_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('per_cat2_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['per_cat2_id'] = $per_cat2_id; return $this; } /** * Gets per_cat3_id * * @return string|null */ public function getPerCat3Id() { return $this->container['per_cat3_id']; } /** * Sets per_cat3_id * * @param string|null $per_cat3_id per_cat3_id * * @return self */ public function setPerCat3Id($per_cat3_id) { if (is_null($per_cat3_id)) { array_push($this->openAPINullablesSetToNull, 'per_cat3_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('per_cat3_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['per_cat3_id'] = $per_cat3_id; return $this; } /** * Gets mock_id * * @return string|null */ public function getMockId() { return $this->container['mock_id']; } /** * Sets mock_id * * @param string|null $mock_id Κωδικός Παραλλαγής * * @return self */ public function setMockId($mock_id) { if (is_null($mock_id)) { array_push($this->openAPINullablesSetToNull, 'mock_id'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('mock_id', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['mock_id'] = $mock_id; return $this; } /** * Gets mock_name * * @return string|null */ public function getMockName() { return $this->container['mock_name']; } /** * Sets mock_name * * @param string|null $mock_name Όνομα Παραλλαγής * * @return self */ public function setMockName($mock_name) { if (is_null($mock_name)) { array_push($this->openAPINullablesSetToNull, 'mock_name'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('mock_name', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['mock_name'] = $mock_name; return $this; } /** * Gets measurement_unit * * @return string|null */ public function getMeasurementUnit() { return $this->container['measurement_unit']; } /** * Sets measurement_unit * * @param string|null $measurement_unit { \"\", \"\"}, { \"Size\", \"Μέγεθος\" } , {\"Mass\" , \"Όγκος (ml)\" }, {\"Pieces\" , \"Τεμάχια\" }, { \"Weight\", \"Βάρος (kg)\" } * * @return self */ public function setMeasurementUnit($measurement_unit) { if (is_null($measurement_unit)) { array_push($this->openAPINullablesSetToNull, 'measurement_unit'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('measurement_unit', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['measurement_unit'] = $measurement_unit; return $this; } /** * Gets measurement_value * * @return string|null */ public function getMeasurementValue() { return $this->container['measurement_value']; } /** * Sets measurement_value * * @param string|null $measurement_value * * @return self */ public function setMeasurementValue($measurement_value) { if (is_null($measurement_value)) { array_push($this->openAPINullablesSetToNull, 'measurement_value'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('measurement_value', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['measurement_value'] = $measurement_value; return $this; } /** * Gets weight * * @return float|null */ public function getWeight() { return $this->container['weight']; } /** * Sets weight * * @param float|null $weight Βάρος * * @return self */ public function setWeight($weight) { if (is_null($weight)) { throw new \InvalidArgumentException('non-nullable weight cannot be null'); } $this->container['weight'] = $weight; return $this; } /** * Gets color * * @return string|null */ public function getColor() { return $this->container['color']; } /** * Sets color * * @param string|null $color Χρώμα * * @return self */ public function setColor($color) { if (is_null($color)) { array_push($this->openAPINullablesSetToNull, 'color'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('color', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['color'] = $color; return $this; } /** * Gets shelf * * @return string|null */ public function getShelf() { return $this->container['shelf']; } /** * Sets shelf * * @param string|null $shelf Ράφι * * @return self */ public function setShelf($shelf) { if (is_null($shelf)) { array_push($this->openAPINullablesSetToNull, 'shelf'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('shelf', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['shelf'] = $shelf; return $this; } /** * Gets position * * @return string|null */ public function getPosition() { return $this->container['position']; } /** * Sets position * * @param string|null $position Θέση * * @return self */ public function setPosition($position) { if (is_null($position)) { array_push($this->openAPINullablesSetToNull, 'position'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('position', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['position'] = $position; return $this; } /** * Gets last_supplier * * @return string|null */ public function getLastSupplier() { return $this->container['last_supplier']; } /** * Sets last_supplier * * @param string|null $last_supplier last_supplier * * @return self */ public function setLastSupplier($last_supplier) { if (is_null($last_supplier)) { array_push($this->openAPINullablesSetToNull, 'last_supplier'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('last_supplier', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['last_supplier'] = $last_supplier; return $this; } /** * Gets web_visible * * @return bool|null */ public function getWebVisible() { return $this->container['web_visible']; } /** * Sets web_visible * * @param bool|null $web_visible Αν θα εμφανίζεται το site * * @return self */ public function setWebVisible($web_visible) { if (is_null($web_visible)) { throw new \InvalidArgumentException('non-nullable web_visible cannot be null'); } $this->container['web_visible'] = $web_visible; return $this; } /** * Gets img_url * * @return string|null */ public function getImgUrl() { return $this->container['img_url']; } /** * Sets img_url * * @param string|null $img_url img_url * * @return self */ public function setImgUrl($img_url) { if (is_null($img_url)) { array_push($this->openAPINullablesSetToNull, 'img_url'); } else { $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); $index = array_search('img_url', $nullablesSetToNull); if ($index !== FALSE) { unset($nullablesSetToNull[$index]); $this->setOpenAPINullablesSetToNull($nullablesSetToNull); } } $this->container['img_url'] = $img_url; return $this; } /** * Gets is_med * * @return bool|null */ public function getIsMed() { return $this->container['is_med']; } /** * Sets is_med * * @param bool|null $is_med is_med * * @return self */ public function setIsMed($is_med) { if (is_null($is_med)) { throw new \InvalidArgumentException('non-nullable is_med cannot be null'); } $this->container['is_med'] = $is_med; return $this; } /** * Gets last_upd * * @return \DateTime|null */ public function getLastUpd() { return $this->container['last_upd']; } /** * Sets last_upd * * @param \DateTime|null $last_upd last_upd * * @return self */ public function setLastUpd($last_upd) { if (is_null($last_upd)) { throw new \InvalidArgumentException('non-nullable last_upd cannot be null'); } $this->container['last_upd'] = $last_upd; return $this; } /** * Returns true if offset exists. False otherwise. * * @param integer|string $offset Offset * * @return boolean */ public function offsetExists(mixed $offset): bool { return isset($this->container[$offset]); } /** * Gets offset. * * @param integer|string $offset Offset * * @return mixed|null */ #[\ReturnTypeWillChange] public function offsetGet(mixed $offset) { return $this->container[$offset] ?? null; } /** * Sets value based on offset. * * @param int|null $offset Offset * @param mixed $value Value to be set * * @return void */ public function offsetSet($offset, $value): void { if (is_null($offset)) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } /** * Unsets offset. * * @param integer|string $offset Offset * * @return void */ public function offsetUnset(mixed $offset): void { unset($this->container[$offset]); } /** * Serializes the object to a value that can be serialized natively by json_encode(). * @link https://www.php.net/manual/en/jsonserializable.jsonserialize.php * * @return mixed Returns data which can be serialized by json_encode(), which is a value * of any type other than a resource. */ #[\ReturnTypeWillChange] public function jsonSerialize() { return ObjectSerializer::sanitizeForSerialization($this); } /** * Gets the string presentation of the object * * @return string */ public function __toString() { return json_encode( ObjectSerializer::sanitizeForSerialization($this), JSON_PRETTY_PRINT ); } /** * Gets a header-safe presentation of the object * * @return string */ public function toHeaderValue() { return json_encode(ObjectSerializer::sanitizeForSerialization($this)); } }