ldc-arcadia-kiota-openapi-c.../client/Models/PaginationMeta.php

185 lines
6.1 KiB
PHP

<?php
namespace Uwil\ArcadiaKiotaOpenApiClient\Models;
use Microsoft\Kiota\Abstractions\Serialization\AdditionalDataHolder;
use Microsoft\Kiota\Abstractions\Serialization\Parsable;
use Microsoft\Kiota\Abstractions\Serialization\ParseNode;
use Microsoft\Kiota\Abstractions\Serialization\SerializationWriter;
/**
* Métadonnées de pagination.
*/
class PaginationMeta implements AdditionalDataHolder, Parsable
{
/**
* @var array<string, mixed>|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 PaginationLinks|null $links Liens de navigation HATEOAS pour la pagination.
*/
private ?PaginationLinks $links = null;
/**
* @var int|null $page Index de la page courante (1-based).
*/
private ?int $page = null;
/**
* @var int|null $pageSize Nombre d'éléments par page.
*/
private ?int $pageSize = null;
/**
* @var int|null $totalItems Nombre total d'éléments correspondant aux filtres.
*/
private ?int $totalItems = null;
/**
* @var int|null $totalPages Nombre total de pages disponibles.
*/
private ?int $totalPages = null;
/**
* Instantiates a new PaginationMeta 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 PaginationMeta
*/
public static function createFromDiscriminatorValue(ParseNode $parseNode): PaginationMeta {
return new PaginationMeta();
}
/**
* 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<string, mixed>|null
*/
public function getAdditionalData(): ?array {
return $this->additionalData;
}
/**
* The deserialization information for the current model
* @return array<string, callable(ParseNode): void>
*/
public function getFieldDeserializers(): array {
$o = $this;
return [
'links' => fn(ParseNode $n) => $o->setLinks($n->getObjectValue([PaginationLinks::class, 'createFromDiscriminatorValue'])),
'page' => fn(ParseNode $n) => $o->setPage($n->getIntegerValue()),
'pageSize' => fn(ParseNode $n) => $o->setPageSize($n->getIntegerValue()),
'totalItems' => fn(ParseNode $n) => $o->setTotalItems($n->getIntegerValue()),
'totalPages' => fn(ParseNode $n) => $o->setTotalPages($n->getIntegerValue()),
];
}
/**
* Gets the links property value. Liens de navigation HATEOAS pour la pagination.
* @return PaginationLinks|null
*/
public function getLinks(): ?PaginationLinks {
return $this->links;
}
/**
* Gets the page property value. Index de la page courante (1-based).
* @return int|null
*/
public function getPage(): ?int {
return $this->page;
}
/**
* Gets the pageSize property value. Nombre d'éléments par page.
* @return int|null
*/
public function getPageSize(): ?int {
return $this->pageSize;
}
/**
* Gets the totalItems property value. Nombre total d'éléments correspondant aux filtres.
* @return int|null
*/
public function getTotalItems(): ?int {
return $this->totalItems;
}
/**
* Gets the totalPages property value. Nombre total de pages disponibles.
* @return int|null
*/
public function getTotalPages(): ?int {
return $this->totalPages;
}
/**
* Serializes information the current object
* @param SerializationWriter $writer Serialization writer to use to serialize this model
*/
public function serialize(SerializationWriter $writer): void {
$writer->writeObjectValue('links', $this->getLinks());
$writer->writeIntegerValue('page', $this->getPage());
$writer->writeIntegerValue('pageSize', $this->getPageSize());
$writer->writeIntegerValue('totalItems', $this->getTotalItems());
$writer->writeIntegerValue('totalPages', $this->getTotalPages());
$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<string,mixed> $value Value to set for the AdditionalData property.
*/
public function setAdditionalData(?array $value): void {
$this->additionalData = $value;
}
/**
* Sets the links property value. Liens de navigation HATEOAS pour la pagination.
* @param PaginationLinks|null $value Value to set for the links property.
*/
public function setLinks(?PaginationLinks $value): void {
$this->links = $value;
}
/**
* Sets the page property value. Index de la page courante (1-based).
* @param int|null $value Value to set for the page property.
*/
public function setPage(?int $value): void {
$this->page = $value;
}
/**
* Sets the pageSize property value. Nombre d'éléments par page.
* @param int|null $value Value to set for the pageSize property.
*/
public function setPageSize(?int $value): void {
$this->pageSize = $value;
}
/**
* Sets the totalItems property value. Nombre total d'éléments correspondant aux filtres.
* @param int|null $value Value to set for the totalItems property.
*/
public function setTotalItems(?int $value): void {
$this->totalItems = $value;
}
/**
* Sets the totalPages property value. Nombre total de pages disponibles.
* @param int|null $value Value to set for the totalPages property.
*/
public function setTotalPages(?int $value): void {
$this->totalPages = $value;
}
}