euromedica-client/lib/Model/ProductDto.php

1748 lines
45 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* ProductDto
*
* PHP version 8.1
*
* @category Class
* @package Europharmacy\EuromedicaClient
* @author OpenAPI Generator team
* @link https://openapi-generator.tech
*/
/**
* Euromedica Two Web Api
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: v1
* Contact: development@europharmacy.gr
* Generated by: https://openapi-generator.tech
* Generator version: 7.20.0
*/
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
namespace Europharmacy\EuromedicaClient\Model;
use \ArrayAccess;
use \Europharmacy\EuromedicaClient\ObjectSerializer;
/**
* ProductDto Class Doc Comment
*
* @category Class
* @package Europharmacy\EuromedicaClient
* @author OpenAPI Generator team
* @link https://openapi-generator.tech
* @implements \ArrayAccess<string, mixed>
*/
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<string, string|null>
* @psalm-var array<string, string|null>
*/
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));
}
}