|null $additionalData Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. */ private ?array $additionalData = null; /** * @var array|null $additives The additives property */ private ?array $additives = null; /** * @var IncoAllegations|null $allegations Allégations associées au produit (santé, nutrition, etc.). */ private ?IncoAllegations $allegations = null; /** * @var array|null $allergens The allergens property */ private ?array $allergens = null; /** * @var IncoBrand|null $brand Marque associée à la fiche produit INCO. */ private ?IncoBrand $brand = null; /** * @var DateTime|null $createdAt The createdAt property */ private ?DateTime $createdAt = null; /** * @var string|null $description The description property */ private ?string $description = null; /** * @var string|null $incoCompoId The incoCompoId property */ private ?string $incoCompoId = null; /** * @var string|null $incoId The incoId property */ private ?string $incoId = null; /** * @var IncoIngredients|null $ingredients Liste structurée des ingrédients groupés par section. */ private ?IncoIngredients $ingredients = null; /** * @var bool|null $isSeasonal The isSeasonal property */ private ?bool $isSeasonal = null; /** * @var string|null $label The label property */ private ?string $label = null; /** * @var string|null $name The name property */ private ?string $name = null; /** * @var IncoNutriscore|null $nutriscore The nutriscore property */ private ?IncoNutriscore $nutriscore = null; /** * @var IncoPortionAmount|null $portions The portions property */ private ?IncoPortionAmount $portions = null; /** * @var string|null $preparationAdvices The preparationAdvices property */ private ?string $preparationAdvices = null; /** * @var string|null $sellArguments The sellArguments property */ private ?string $sellArguments = null; /** * @var string|null $sellFamilly The sellFamilly property */ private ?string $sellFamilly = null; /** * @var IncoStorageCondition|null $storageCondition The storageCondition property */ private ?IncoStorageCondition $storageCondition = null; /** * @var string|null $tips The tips property */ private ?string $tips = null; /** * @var DateTime|null $updatedAt The updatedAt property */ private ?DateTime $updatedAt = null; /** * @var IncoWeight|null $weight The weight property */ private ?IncoWeight $weight = null; /** * Instantiates a new Inco and sets the default values. */ public function __construct() { $this->setAdditionalData([]); } /** * Creates a new instance of the appropriate class based on discriminator value * @param ParseNode $parseNode The parse node to use to read the discriminator value and create the object * @return Inco */ public static function createFromDiscriminatorValue(ParseNode $parseNode): Inco { return new Inco(); } /** * Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. * @return array|null */ public function getAdditionalData(): ?array { return $this->additionalData; } /** * Gets the additives property value. The additives property * @return array|null */ public function getAdditives(): ?array { return $this->additives; } /** * Gets the allegations property value. Allégations associées au produit (santé, nutrition, etc.). * @return IncoAllegations|null */ public function getAllegations(): ?IncoAllegations { return $this->allegations; } /** * Gets the allergens property value. The allergens property * @return array|null */ public function getAllergens(): ?array { return $this->allergens; } /** * Gets the brand property value. Marque associée à la fiche produit INCO. * @return IncoBrand|null */ public function getBrand(): ?IncoBrand { return $this->brand; } /** * Gets the createdAt property value. The createdAt property * @return DateTime|null */ public function getCreatedAt(): ?DateTime { return $this->createdAt; } /** * Gets the description property value. The description property * @return string|null */ public function getDescription(): ?string { return $this->description; } /** * The deserialization information for the current model * @return array */ public function getFieldDeserializers(): array { $o = $this; return [ 'additives' => fn(ParseNode $n) => $o->setAdditives($n->getCollectionOfObjectValues([IncoAdditive::class, 'createFromDiscriminatorValue'])), 'allegations' => fn(ParseNode $n) => $o->setAllegations($n->getObjectValue([IncoAllegations::class, 'createFromDiscriminatorValue'])), 'allergens' => function (ParseNode $n) { $val = $n->getCollectionOfPrimitiveValues(); if (is_array($val)) { TypeUtils::validateCollectionValues($val, 'string'); } /** @var array|null $val */ $this->setAllergens($val); }, 'brand' => fn(ParseNode $n) => $o->setBrand($n->getObjectValue([IncoBrand::class, 'createFromDiscriminatorValue'])), 'createdAt' => fn(ParseNode $n) => $o->setCreatedAt($n->getDateTimeValue()), 'description' => fn(ParseNode $n) => $o->setDescription($n->getStringValue()), 'incoCompoId' => fn(ParseNode $n) => $o->setIncoCompoId($n->getStringValue()), 'incoId' => fn(ParseNode $n) => $o->setIncoId($n->getStringValue()), 'ingredients' => fn(ParseNode $n) => $o->setIngredients($n->getObjectValue([IncoIngredients::class, 'createFromDiscriminatorValue'])), 'isSeasonal' => fn(ParseNode $n) => $o->setIsSeasonal($n->getBooleanValue()), 'label' => fn(ParseNode $n) => $o->setLabel($n->getStringValue()), 'name' => fn(ParseNode $n) => $o->setName($n->getStringValue()), 'nutriscore' => fn(ParseNode $n) => $o->setNutriscore($n->getObjectValue([IncoNutriscore::class, 'createFromDiscriminatorValue'])), 'portions' => fn(ParseNode $n) => $o->setPortions($n->getObjectValue([IncoPortionAmount::class, 'createFromDiscriminatorValue'])), 'preparationAdvices' => fn(ParseNode $n) => $o->setPreparationAdvices($n->getStringValue()), 'sellArguments' => fn(ParseNode $n) => $o->setSellArguments($n->getStringValue()), 'sellFamilly' => fn(ParseNode $n) => $o->setSellFamilly($n->getStringValue()), 'storageCondition' => fn(ParseNode $n) => $o->setStorageCondition($n->getObjectValue([IncoStorageCondition::class, 'createFromDiscriminatorValue'])), 'tips' => fn(ParseNode $n) => $o->setTips($n->getStringValue()), 'updatedAt' => fn(ParseNode $n) => $o->setUpdatedAt($n->getDateTimeValue()), 'weight' => fn(ParseNode $n) => $o->setWeight($n->getObjectValue([IncoWeight::class, 'createFromDiscriminatorValue'])), ]; } /** * Gets the incoCompoId property value. The incoCompoId property * @return string|null */ public function getIncoCompoId(): ?string { return $this->incoCompoId; } /** * Gets the incoId property value. The incoId property * @return string|null */ public function getIncoId(): ?string { return $this->incoId; } /** * Gets the ingredients property value. Liste structurée des ingrédients groupés par section. * @return IncoIngredients|null */ public function getIngredients(): ?IncoIngredients { return $this->ingredients; } /** * Gets the isSeasonal property value. The isSeasonal property * @return bool|null */ public function getIsSeasonal(): ?bool { return $this->isSeasonal; } /** * Gets the label property value. The label property * @return string|null */ public function getLabel(): ?string { return $this->label; } /** * Gets the name property value. The name property * @return string|null */ public function getName(): ?string { return $this->name; } /** * Gets the nutriscore property value. The nutriscore property * @return IncoNutriscore|null */ public function getNutriscore(): ?IncoNutriscore { return $this->nutriscore; } /** * Gets the portions property value. The portions property * @return IncoPortionAmount|null */ public function getPortions(): ?IncoPortionAmount { return $this->portions; } /** * Gets the preparationAdvices property value. The preparationAdvices property * @return string|null */ public function getPreparationAdvices(): ?string { return $this->preparationAdvices; } /** * Gets the sellArguments property value. The sellArguments property * @return string|null */ public function getSellArguments(): ?string { return $this->sellArguments; } /** * Gets the sellFamilly property value. The sellFamilly property * @return string|null */ public function getSellFamilly(): ?string { return $this->sellFamilly; } /** * Gets the storageCondition property value. The storageCondition property * @return IncoStorageCondition|null */ public function getStorageCondition(): ?IncoStorageCondition { return $this->storageCondition; } /** * Gets the tips property value. The tips property * @return string|null */ public function getTips(): ?string { return $this->tips; } /** * Gets the updatedAt property value. The updatedAt property * @return DateTime|null */ public function getUpdatedAt(): ?DateTime { return $this->updatedAt; } /** * Gets the weight property value. The weight property * @return IncoWeight|null */ public function getWeight(): ?IncoWeight { return $this->weight; } /** * Serializes information the current object * @param SerializationWriter $writer Serialization writer to use to serialize this model */ public function serialize(SerializationWriter $writer): void { $writer->writeCollectionOfObjectValues('additives', $this->getAdditives()); $writer->writeObjectValue('allegations', $this->getAllegations()); $writer->writeCollectionOfPrimitiveValues('allergens', $this->getAllergens()); $writer->writeObjectValue('brand', $this->getBrand()); $writer->writeDateTimeValue('createdAt', $this->getCreatedAt()); $writer->writeStringValue('description', $this->getDescription()); $writer->writeStringValue('incoCompoId', $this->getIncoCompoId()); $writer->writeStringValue('incoId', $this->getIncoId()); $writer->writeObjectValue('ingredients', $this->getIngredients()); $writer->writeBooleanValue('isSeasonal', $this->getIsSeasonal()); $writer->writeStringValue('label', $this->getLabel()); $writer->writeStringValue('name', $this->getName()); $writer->writeObjectValue('nutriscore', $this->getNutriscore()); $writer->writeObjectValue('portions', $this->getPortions()); $writer->writeStringValue('preparationAdvices', $this->getPreparationAdvices()); $writer->writeStringValue('sellArguments', $this->getSellArguments()); $writer->writeStringValue('sellFamilly', $this->getSellFamilly()); $writer->writeObjectValue('storageCondition', $this->getStorageCondition()); $writer->writeStringValue('tips', $this->getTips()); $writer->writeDateTimeValue('updatedAt', $this->getUpdatedAt()); $writer->writeObjectValue('weight', $this->getWeight()); $writer->writeAdditionalData($this->getAdditionalData()); } /** * Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. * @param array $value Value to set for the AdditionalData property. */ public function setAdditionalData(?array $value): void { $this->additionalData = $value; } /** * Sets the additives property value. The additives property * @param array|null $value Value to set for the additives property. */ public function setAdditives(?array $value): void { $this->additives = $value; } /** * Sets the allegations property value. Allégations associées au produit (santé, nutrition, etc.). * @param IncoAllegations|null $value Value to set for the allegations property. */ public function setAllegations(?IncoAllegations $value): void { $this->allegations = $value; } /** * Sets the allergens property value. The allergens property * @param array|null $value Value to set for the allergens property. */ public function setAllergens(?array $value): void { $this->allergens = $value; } /** * Sets the brand property value. Marque associée à la fiche produit INCO. * @param IncoBrand|null $value Value to set for the brand property. */ public function setBrand(?IncoBrand $value): void { $this->brand = $value; } /** * Sets the createdAt property value. The createdAt property * @param DateTime|null $value Value to set for the createdAt property. */ public function setCreatedAt(?DateTime $value): void { $this->createdAt = $value; } /** * Sets the description property value. The description property * @param string|null $value Value to set for the description property. */ public function setDescription(?string $value): void { $this->description = $value; } /** * Sets the incoCompoId property value. The incoCompoId property * @param string|null $value Value to set for the incoCompoId property. */ public function setIncoCompoId(?string $value): void { $this->incoCompoId = $value; } /** * Sets the incoId property value. The incoId property * @param string|null $value Value to set for the incoId property. */ public function setIncoId(?string $value): void { $this->incoId = $value; } /** * Sets the ingredients property value. Liste structurée des ingrédients groupés par section. * @param IncoIngredients|null $value Value to set for the ingredients property. */ public function setIngredients(?IncoIngredients $value): void { $this->ingredients = $value; } /** * Sets the isSeasonal property value. The isSeasonal property * @param bool|null $value Value to set for the isSeasonal property. */ public function setIsSeasonal(?bool $value): void { $this->isSeasonal = $value; } /** * Sets the label property value. The label property * @param string|null $value Value to set for the label property. */ public function setLabel(?string $value): void { $this->label = $value; } /** * Sets the name property value. The name property * @param string|null $value Value to set for the name property. */ public function setName(?string $value): void { $this->name = $value; } /** * Sets the nutriscore property value. The nutriscore property * @param IncoNutriscore|null $value Value to set for the nutriscore property. */ public function setNutriscore(?IncoNutriscore $value): void { $this->nutriscore = $value; } /** * Sets the portions property value. The portions property * @param IncoPortionAmount|null $value Value to set for the portions property. */ public function setPortions(?IncoPortionAmount $value): void { $this->portions = $value; } /** * Sets the preparationAdvices property value. The preparationAdvices property * @param string|null $value Value to set for the preparationAdvices property. */ public function setPreparationAdvices(?string $value): void { $this->preparationAdvices = $value; } /** * Sets the sellArguments property value. The sellArguments property * @param string|null $value Value to set for the sellArguments property. */ public function setSellArguments(?string $value): void { $this->sellArguments = $value; } /** * Sets the sellFamilly property value. The sellFamilly property * @param string|null $value Value to set for the sellFamilly property. */ public function setSellFamilly(?string $value): void { $this->sellFamilly = $value; } /** * Sets the storageCondition property value. The storageCondition property * @param IncoStorageCondition|null $value Value to set for the storageCondition property. */ public function setStorageCondition(?IncoStorageCondition $value): void { $this->storageCondition = $value; } /** * Sets the tips property value. The tips property * @param string|null $value Value to set for the tips property. */ public function setTips(?string $value): void { $this->tips = $value; } /** * Sets the updatedAt property value. The updatedAt property * @param DateTime|null $value Value to set for the updatedAt property. */ public function setUpdatedAt(?DateTime $value): void { $this->updatedAt = $value; } /** * Sets the weight property value. The weight property * @param IncoWeight|null $value Value to set for the weight property. */ public function setWeight(?IncoWeight $value): void { $this->weight = $value; } }