vendor/api-platform/core/src/Metadata/ApiResource.php line 1058

Open in your IDE?
  1. <?php
  2. /*
  3. * This file is part of the API Platform project.
  4. *
  5. * (c) Kévin Dunglas <dunglas@gmail.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. declare(strict_types=1);
  11. namespace ApiPlatform\Metadata;
  12. use ApiPlatform\Metadata\GraphQl\Operation as GraphQlOperation;
  13. /**
  14. * Resource metadata attribute.
  15. *
  16. * @Annotation
  17. *
  18. * @author Antoine Bluchet <soyuka@gmail.com>
  19. */
  20. #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)]
  21. class ApiResource
  22. {
  23. use WithResourceTrait;
  24. protected $operations;
  25. protected $uriTemplate;
  26. protected $shortName;
  27. protected $description;
  28. /**
  29. * @var string|string[]|null
  30. */
  31. protected $types;
  32. /**
  33. * @var array|mixed|string|null
  34. */
  35. protected $formats;
  36. /**
  37. * @var array|mixed|string|null
  38. */
  39. protected $inputFormats;
  40. /**
  41. * @var array|mixed|string|null
  42. */
  43. protected $outputFormats;
  44. /**
  45. * @var array<string, Link>|array<string, array>|string[]|string|null
  46. */
  47. protected $uriVariables;
  48. protected $routePrefix;
  49. protected $defaults;
  50. protected $requirements;
  51. protected $options;
  52. protected $stateless;
  53. protected $sunset;
  54. protected $acceptPatch;
  55. protected $status;
  56. protected $host;
  57. protected $schemes;
  58. protected $condition;
  59. protected $controller;
  60. protected $class;
  61. protected $urlGenerationStrategy;
  62. protected $deprecationReason;
  63. protected $cacheHeaders;
  64. protected $normalizationContext;
  65. protected $denormalizationContext;
  66. /**
  67. * @var string[]|null
  68. */
  69. protected $hydraContext;
  70. protected $openapiContext;
  71. protected $validationContext;
  72. /**
  73. * @var string[]
  74. */
  75. protected $filters;
  76. protected $elasticsearch;
  77. /**
  78. * @var array|bool|mixed|null
  79. */
  80. protected $mercure;
  81. /**
  82. * @var bool|mixed|null
  83. */
  84. protected $messenger;
  85. protected $input;
  86. protected $output;
  87. protected $order;
  88. protected $fetchPartial;
  89. protected $forceEager;
  90. protected $paginationClientEnabled;
  91. protected $paginationClientItemsPerPage;
  92. protected $paginationClientPartial;
  93. protected $paginationViaCursor;
  94. protected $paginationEnabled;
  95. protected $paginationFetchJoinCollection;
  96. protected $paginationUseOutputWalkers;
  97. protected $paginationItemsPerPage;
  98. protected $paginationMaximumItemsPerPage;
  99. protected $paginationPartial;
  100. protected $paginationType;
  101. protected $security;
  102. protected $securityMessage;
  103. protected $securityPostDenormalize;
  104. protected $securityPostDenormalizeMessage;
  105. protected $securityPostValidation;
  106. protected $securityPostValidationMessage;
  107. protected $compositeIdentifier;
  108. protected $exceptionToStatus;
  109. protected $queryParameterValidationEnabled;
  110. protected $graphQlOperations;
  111. /**
  112. * @var string|callable|null
  113. */
  114. protected $provider;
  115. /**
  116. * @var string|callable|null
  117. */
  118. protected $processor;
  119. protected $extraProperties;
  120. /**
  121. * @param string|string[]|null $types The RDF types of this resource
  122. * @param mixed|null $operations
  123. * @param array|string|null $formats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
  124. * @param array|string|null $inputFormats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
  125. * @param array|string|null $outputFormats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
  126. * @param mixed|null $uriVariables
  127. * @param string|null $routePrefix https://api-platform.com/docs/core/operations/#prefixing-all-routes-of-all-operations
  128. * @param string|null $sunset https://api-platform.com/docs/core/deprecations/#setting-the-sunset-http-header-to-indicate-when-a-resource-or-an-operation-will-be-removed
  129. * @param string|null $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
  130. * @param array|null $cacheHeaders https://api-platform.com/docs/core/performance/#setting-custom-http-cache-headers
  131. * @param array|null $normalizationContext https://api-platform.com/docs/core/serialization/#using-serialization-groups
  132. * @param array|null $denormalizationContext https://api-platform.com/docs/core/serialization/#using-serialization-groups
  133. * @param string[]|null $hydraContext https://api-platform.com/docs/core/extending-jsonld-context/#hydra
  134. * @param array|null $openapiContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
  135. * @param array|null $validationContext https://api-platform.com/docs/core/validation/#using-validation-groups
  136. * @param string[]|null $filters https://api-platform.com/docs/core/filters/#doctrine-orm-and-mongodb-odm-filters
  137. * @param bool|null $elasticsearch https://api-platform.com/docs/core/elasticsearch/
  138. * @param mixed|null $mercure https://api-platform.com/docs/core/mercure
  139. * @param mixed|null $messenger https://api-platform.com/docs/core/messenger/#dispatching-a-resource-through-the-message-bus
  140. * @param mixed|null $input https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
  141. * @param mixed|null $output https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
  142. * @param array|null $order https://api-platform.com/docs/core/default-order/#overriding-default-order
  143. * @param bool|null $fetchPartial https://api-platform.com/docs/core/performance/#fetch-partial
  144. * @param bool|null $forceEager https://api-platform.com/docs/core/performance/#force-eager
  145. * @param bool|null $paginationClientEnabled https://api-platform.com/docs/core/pagination/#for-a-specific-resource-1
  146. * @param bool|null $paginationClientItemsPerPage https://api-platform.com/docs/core/pagination/#for-a-specific-resource-3
  147. * @param bool|null $paginationClientPartial https://api-platform.com/docs/core/pagination/#for-a-specific-resource-6
  148. * @param array|null $paginationViaCursor https://api-platform.com/docs/core/pagination/#cursor-based-pagination
  149. * @param bool|null $paginationEnabled https://api-platform.com/docs/core/pagination/#for-a-specific-resource
  150. * @param bool|null $paginationFetchJoinCollection https://api-platform.com/docs/core/pagination/#controlling-the-behavior-of-the-doctrine-orm-paginator
  151. * @param int|null $paginationItemsPerPage https://api-platform.com/docs/core/pagination/#changing-the-number-of-items-per-page
  152. * @param int|null $paginationMaximumItemsPerPage https://api-platform.com/docs/core/pagination/#changing-maximum-items-per-page
  153. * @param bool|null $paginationPartial https://api-platform.com/docs/core/performance/#partial-pagination
  154. * @param string|null $paginationType https://api-platform.com/docs/core/graphql/#using-the-page-based-pagination
  155. * @param string|null $security https://api-platform.com/docs/core/security
  156. * @param string|null $securityMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
  157. * @param string|null $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
  158. * @param string|null $securityPostDenormalizeMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
  159. * @param string $securityPostValidation https://api-platform.com/docs/core/security/#executing-access-control-rules-after-validtion
  160. * @param string $securityPostValidationMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
  161. * @param string|callable|null $provider
  162. * @param string|callable|null $processor
  163. */
  164. public function __construct(
  165. string $uriTemplate = null,
  166. string $shortName = null,
  167. string $description = null,
  168. $types = null,
  169. $operations = null,
  170. $formats = null,
  171. $inputFormats = null,
  172. $outputFormats = null,
  173. $uriVariables = null,
  174. string $routePrefix = null,
  175. array $defaults = null,
  176. array $requirements = null,
  177. array $options = null,
  178. bool $stateless = null,
  179. string $sunset = null,
  180. string $acceptPatch = null,
  181. int $status = null,
  182. string $host = null,
  183. array $schemes = null,
  184. string $condition = null,
  185. string $controller = null,
  186. string $class = null,
  187. int $urlGenerationStrategy = null,
  188. string $deprecationReason = null,
  189. array $cacheHeaders = null,
  190. array $normalizationContext = null,
  191. array $denormalizationContext = null,
  192. array $hydraContext = null,
  193. array $openapiContext = null,
  194. array $validationContext = null,
  195. array $filters = null,
  196. bool $elasticsearch = null,
  197. $mercure = null,
  198. $messenger = null,
  199. $input = null,
  200. $output = null,
  201. array $order = null,
  202. bool $fetchPartial = null,
  203. bool $forceEager = null,
  204. bool $paginationClientEnabled = null,
  205. bool $paginationClientItemsPerPage = null,
  206. bool $paginationClientPartial = null,
  207. array $paginationViaCursor = null,
  208. bool $paginationEnabled = null,
  209. bool $paginationFetchJoinCollection = null,
  210. bool $paginationUseOutputWalkers = null,
  211. int $paginationItemsPerPage = null,
  212. int $paginationMaximumItemsPerPage = null,
  213. bool $paginationPartial = null,
  214. string $paginationType = null,
  215. string $security = null,
  216. string $securityMessage = null,
  217. string $securityPostDenormalize = null,
  218. string $securityPostDenormalizeMessage = null,
  219. string $securityPostValidation = null,
  220. string $securityPostValidationMessage = null,
  221. bool $compositeIdentifier = null,
  222. array $exceptionToStatus = null,
  223. bool $queryParameterValidationEnabled = null,
  224. array $graphQlOperations = null,
  225. $provider = null,
  226. $processor = null,
  227. array $extraProperties = []
  228. ) {
  229. $this->operations = null === $operations ? null : new Operations($operations);
  230. $this->uriTemplate = $uriTemplate;
  231. $this->shortName = $shortName;
  232. $this->description = $description;
  233. $this->types = null === $types ? null : (array) $types;
  234. $this->formats = $formats;
  235. $this->inputFormats = $inputFormats;
  236. $this->outputFormats = $outputFormats;
  237. $this->uriVariables = $uriVariables;
  238. $this->routePrefix = $routePrefix;
  239. $this->defaults = $defaults;
  240. $this->requirements = $requirements;
  241. $this->options = $options;
  242. $this->stateless = $stateless;
  243. $this->sunset = $sunset;
  244. $this->acceptPatch = $acceptPatch;
  245. $this->status = $status;
  246. $this->host = $host;
  247. $this->schemes = $schemes;
  248. $this->condition = $condition;
  249. $this->controller = $controller;
  250. $this->class = $class;
  251. $this->urlGenerationStrategy = $urlGenerationStrategy;
  252. $this->deprecationReason = $deprecationReason;
  253. $this->cacheHeaders = $cacheHeaders;
  254. $this->normalizationContext = $normalizationContext;
  255. $this->denormalizationContext = $denormalizationContext;
  256. $this->hydraContext = $hydraContext;
  257. $this->openapiContext = $openapiContext;
  258. $this->validationContext = $validationContext;
  259. $this->filters = $filters;
  260. $this->elasticsearch = $elasticsearch;
  261. $this->mercure = $mercure;
  262. $this->messenger = $messenger;
  263. $this->input = $input;
  264. $this->output = $output;
  265. $this->order = $order;
  266. $this->fetchPartial = $fetchPartial;
  267. $this->forceEager = $forceEager;
  268. $this->paginationClientEnabled = $paginationClientEnabled;
  269. $this->paginationClientItemsPerPage = $paginationClientItemsPerPage;
  270. $this->paginationClientPartial = $paginationClientPartial;
  271. $this->paginationViaCursor = $paginationViaCursor;
  272. $this->paginationEnabled = $paginationEnabled;
  273. $this->paginationFetchJoinCollection = $paginationFetchJoinCollection;
  274. $this->paginationUseOutputWalkers = $paginationUseOutputWalkers;
  275. $this->paginationItemsPerPage = $paginationItemsPerPage;
  276. $this->paginationMaximumItemsPerPage = $paginationMaximumItemsPerPage;
  277. $this->paginationPartial = $paginationPartial;
  278. $this->paginationType = $paginationType;
  279. $this->security = $security;
  280. $this->securityMessage = $securityMessage;
  281. $this->securityPostDenormalize = $securityPostDenormalize;
  282. $this->securityPostDenormalizeMessage = $securityPostDenormalizeMessage;
  283. $this->securityPostValidation = $securityPostValidation;
  284. $this->securityPostValidationMessage = $securityPostValidationMessage;
  285. $this->compositeIdentifier = $compositeIdentifier;
  286. $this->exceptionToStatus = $exceptionToStatus;
  287. $this->queryParameterValidationEnabled = $queryParameterValidationEnabled;
  288. $this->graphQlOperations = $graphQlOperations;
  289. $this->provider = $provider;
  290. $this->processor = $processor;
  291. $this->extraProperties = $extraProperties;
  292. }
  293. public function getOperations(): ?Operations
  294. {
  295. return $this->operations;
  296. }
  297. public function withOperations(Operations $operations): self
  298. {
  299. $self = clone $this;
  300. $self->operations = $operations;
  301. return $self;
  302. }
  303. public function getUriTemplate(): ?string
  304. {
  305. return $this->uriTemplate;
  306. }
  307. public function withUriTemplate(string $uriTemplate): self
  308. {
  309. $self = clone $this;
  310. $self->uriTemplate = $uriTemplate;
  311. return $self;
  312. }
  313. public function getShortName(): ?string
  314. {
  315. return $this->shortName;
  316. }
  317. public function withShortName(string $shortName): self
  318. {
  319. $self = clone $this;
  320. $self->shortName = $shortName;
  321. return $self;
  322. }
  323. public function getDescription(): ?string
  324. {
  325. return $this->description;
  326. }
  327. public function withDescription(string $description): self
  328. {
  329. $self = clone $this;
  330. $self->description = $description;
  331. return $self;
  332. }
  333. public function getTypes(): ?array
  334. {
  335. return $this->types;
  336. }
  337. /**
  338. * @param string[]|string $types
  339. */
  340. public function withTypes($types): self
  341. {
  342. $self = clone $this;
  343. $self->types = (array) $types;
  344. return $self;
  345. }
  346. /**
  347. * @return array|mixed|string|null
  348. */
  349. public function getFormats()
  350. {
  351. return $this->formats;
  352. }
  353. /**
  354. * @param mixed|null $formats
  355. */
  356. public function withFormats($formats): self
  357. {
  358. $self = clone $this;
  359. $self->formats = $formats;
  360. return $self;
  361. }
  362. /**
  363. * @return array|mixed|string|null
  364. */
  365. public function getInputFormats()
  366. {
  367. return $this->inputFormats;
  368. }
  369. /**
  370. * @param mixed|null $inputFormats
  371. */
  372. public function withInputFormats($inputFormats): self
  373. {
  374. $self = clone $this;
  375. $self->inputFormats = $inputFormats;
  376. return $self;
  377. }
  378. /**
  379. * @return array|mixed|string|null
  380. */
  381. public function getOutputFormats()
  382. {
  383. return $this->outputFormats;
  384. }
  385. /**
  386. * @param mixed|null $outputFormats
  387. */
  388. public function withOutputFormats($outputFormats): self
  389. {
  390. $self = clone $this;
  391. $self->outputFormats = $outputFormats;
  392. return $self;
  393. }
  394. /**
  395. * @return array<string, Link>|array<string, array>|string[]|string|null
  396. */
  397. public function getUriVariables()
  398. {
  399. return $this->uriVariables;
  400. }
  401. /**
  402. * @param array<string, Link>|array<string, array>|string[]|string|null $uriVariables
  403. */
  404. public function withUriVariables($uriVariables): self
  405. {
  406. $self = clone $this;
  407. $self->uriVariables = $uriVariables;
  408. return $self;
  409. }
  410. public function getRoutePrefix(): ?string
  411. {
  412. return $this->routePrefix;
  413. }
  414. public function withRoutePrefix(string $routePrefix): self
  415. {
  416. $self = clone $this;
  417. $self->routePrefix = $routePrefix;
  418. return $self;
  419. }
  420. public function getDefaults(): ?array
  421. {
  422. return $this->defaults;
  423. }
  424. public function withDefaults(array $defaults): self
  425. {
  426. $self = clone $this;
  427. $self->defaults = $defaults;
  428. return $self;
  429. }
  430. public function getRequirements(): ?array
  431. {
  432. return $this->requirements;
  433. }
  434. public function withRequirements(array $requirements): self
  435. {
  436. $self = clone $this;
  437. $self->requirements = $requirements;
  438. return $self;
  439. }
  440. public function getOptions(): ?array
  441. {
  442. return $this->options;
  443. }
  444. public function withOptions(array $options): self
  445. {
  446. $self = clone $this;
  447. $self->options = $options;
  448. return $self;
  449. }
  450. public function getStateless(): ?bool
  451. {
  452. return $this->stateless;
  453. }
  454. public function withStateless(bool $stateless): self
  455. {
  456. $self = clone $this;
  457. $self->stateless = $stateless;
  458. return $self;
  459. }
  460. public function getSunset(): ?string
  461. {
  462. return $this->sunset;
  463. }
  464. public function withSunset(string $sunset): self
  465. {
  466. $self = clone $this;
  467. $self->sunset = $sunset;
  468. return $self;
  469. }
  470. public function getAcceptPatch(): ?string
  471. {
  472. return $this->acceptPatch;
  473. }
  474. public function withAcceptPatch(string $acceptPatch): self
  475. {
  476. $self = clone $this;
  477. $self->acceptPatch = $acceptPatch;
  478. return $self;
  479. }
  480. public function getStatus()
  481. {
  482. return $this->status;
  483. }
  484. public function withStatus($status): self
  485. {
  486. $self = clone $this;
  487. $self->status = $status;
  488. return $self;
  489. }
  490. public function getHost(): ?string
  491. {
  492. return $this->host;
  493. }
  494. public function withHost(string $host): self
  495. {
  496. $self = clone $this;
  497. $self->host = $host;
  498. return $self;
  499. }
  500. public function getSchemes(): ?array
  501. {
  502. return $this->schemes;
  503. }
  504. public function withSchemes(array $schemes): self
  505. {
  506. $self = clone $this;
  507. $self->schemes = $schemes;
  508. return $self;
  509. }
  510. public function getCondition(): ?string
  511. {
  512. return $this->condition;
  513. }
  514. public function withCondition(string $condition): self
  515. {
  516. $self = clone $this;
  517. $self->condition = $condition;
  518. return $self;
  519. }
  520. public function getController(): ?string
  521. {
  522. return $this->controller;
  523. }
  524. public function withController(string $controller): self
  525. {
  526. $self = clone $this;
  527. $self->controller = $controller;
  528. return $self;
  529. }
  530. public function getClass(): ?string
  531. {
  532. return $this->class;
  533. }
  534. public function withClass(string $class): self
  535. {
  536. $self = clone $this;
  537. $self->class = $class;
  538. return $self;
  539. }
  540. public function getUrlGenerationStrategy(): ?int
  541. {
  542. return $this->urlGenerationStrategy;
  543. }
  544. public function withUrlGenerationStrategy(int $urlGenerationStrategy): self
  545. {
  546. $self = clone $this;
  547. $self->urlGenerationStrategy = $urlGenerationStrategy;
  548. return $self;
  549. }
  550. public function getDeprecationReason(): ?string
  551. {
  552. return $this->deprecationReason;
  553. }
  554. public function withDeprecationReason(string $deprecationReason): self
  555. {
  556. $self = clone $this;
  557. $self->deprecationReason = $deprecationReason;
  558. return $self;
  559. }
  560. public function getCacheHeaders(): ?array
  561. {
  562. return $this->cacheHeaders;
  563. }
  564. public function withCacheHeaders(array $cacheHeaders): self
  565. {
  566. $self = clone $this;
  567. $self->cacheHeaders = $cacheHeaders;
  568. return $self;
  569. }
  570. public function getNormalizationContext(): ?array
  571. {
  572. return $this->normalizationContext;
  573. }
  574. public function withNormalizationContext(array $normalizationContext): self
  575. {
  576. $self = clone $this;
  577. $self->normalizationContext = $normalizationContext;
  578. return $self;
  579. }
  580. public function getDenormalizationContext(): ?array
  581. {
  582. return $this->denormalizationContext;
  583. }
  584. public function withDenormalizationContext(array $denormalizationContext): self
  585. {
  586. $self = clone $this;
  587. $self->denormalizationContext = $denormalizationContext;
  588. return $self;
  589. }
  590. /**
  591. * @return string[]|null
  592. */
  593. public function getHydraContext(): ?array
  594. {
  595. return $this->hydraContext;
  596. }
  597. public function withHydraContext(array $hydraContext): self
  598. {
  599. $self = clone $this;
  600. $self->hydraContext = $hydraContext;
  601. return $self;
  602. }
  603. public function getOpenapiContext(): ?array
  604. {
  605. return $this->openapiContext;
  606. }
  607. public function withOpenapiContext(array $openapiContext): self
  608. {
  609. $self = clone $this;
  610. $self->openapiContext = $openapiContext;
  611. return $self;
  612. }
  613. public function getValidationContext(): ?array
  614. {
  615. return $this->validationContext;
  616. }
  617. public function withValidationContext(array $validationContext): self
  618. {
  619. $self = clone $this;
  620. $self->validationContext = $validationContext;
  621. return $self;
  622. }
  623. /**
  624. * @return string[]|null
  625. */
  626. public function getFilters(): ?array
  627. {
  628. return $this->filters;
  629. }
  630. public function withFilters(array $filters): self
  631. {
  632. $self = clone $this;
  633. $self->filters = $filters;
  634. return $self;
  635. }
  636. public function getElasticsearch(): ?bool
  637. {
  638. return $this->elasticsearch;
  639. }
  640. public function withElasticsearch(bool $elasticsearch): self
  641. {
  642. $self = clone $this;
  643. $self->elasticsearch = $elasticsearch;
  644. return $self;
  645. }
  646. /**
  647. * @return array|bool|mixed|null
  648. */
  649. public function getMercure()
  650. {
  651. return $this->mercure;
  652. }
  653. public function withMercure($mercure): self
  654. {
  655. $self = clone $this;
  656. $self->mercure = $mercure;
  657. return $self;
  658. }
  659. public function getMessenger()
  660. {
  661. return $this->messenger;
  662. }
  663. public function withMessenger($messenger): self
  664. {
  665. $self = clone $this;
  666. $self->messenger = $messenger;
  667. return $self;
  668. }
  669. public function getInput()
  670. {
  671. return $this->input;
  672. }
  673. public function withInput($input): self
  674. {
  675. $self = clone $this;
  676. $self->input = $input;
  677. return $self;
  678. }
  679. public function getOutput()
  680. {
  681. return $this->output;
  682. }
  683. public function withOutput($output): self
  684. {
  685. $self = clone $this;
  686. $self->output = $output;
  687. return $self;
  688. }
  689. public function getOrder(): ?array
  690. {
  691. return $this->order;
  692. }
  693. public function withOrder(array $order): self
  694. {
  695. $self = clone $this;
  696. $self->order = $order;
  697. return $self;
  698. }
  699. public function getFetchPartial(): ?bool
  700. {
  701. return $this->fetchPartial;
  702. }
  703. public function withFetchPartial(bool $fetchPartial): self
  704. {
  705. $self = clone $this;
  706. $self->fetchPartial = $fetchPartial;
  707. return $self;
  708. }
  709. public function getForceEager(): ?bool
  710. {
  711. return $this->forceEager;
  712. }
  713. public function withForceEager(bool $forceEager): self
  714. {
  715. $self = clone $this;
  716. $self->forceEager = $forceEager;
  717. return $self;
  718. }
  719. public function getPaginationClientEnabled(): ?bool
  720. {
  721. return $this->paginationClientEnabled;
  722. }
  723. public function withPaginationClientEnabled(bool $paginationClientEnabled): self
  724. {
  725. $self = clone $this;
  726. $self->paginationClientEnabled = $paginationClientEnabled;
  727. return $self;
  728. }
  729. public function getPaginationClientItemsPerPage(): ?bool
  730. {
  731. return $this->paginationClientItemsPerPage;
  732. }
  733. public function withPaginationClientItemsPerPage(bool $paginationClientItemsPerPage): self
  734. {
  735. $self = clone $this;
  736. $self->paginationClientItemsPerPage = $paginationClientItemsPerPage;
  737. return $self;
  738. }
  739. public function getPaginationClientPartial(): ?bool
  740. {
  741. return $this->paginationClientPartial;
  742. }
  743. public function withPaginationClientPartial(bool $paginationClientPartial): self
  744. {
  745. $self = clone $this;
  746. $self->paginationClientPartial = $paginationClientPartial;
  747. return $self;
  748. }
  749. public function getPaginationViaCursor(): ?array
  750. {
  751. return $this->paginationViaCursor;
  752. }
  753. public function withPaginationViaCursor(array $paginationViaCursor): self
  754. {
  755. $self = clone $this;
  756. $self->paginationViaCursor = $paginationViaCursor;
  757. return $self;
  758. }
  759. public function getPaginationEnabled(): ?bool
  760. {
  761. return $this->paginationEnabled;
  762. }
  763. public function withPaginationEnabled(bool $paginationEnabled): self
  764. {
  765. $self = clone $this;
  766. $self->paginationEnabled = $paginationEnabled;
  767. return $self;
  768. }
  769. public function getPaginationFetchJoinCollection(): ?bool
  770. {
  771. return $this->paginationFetchJoinCollection;
  772. }
  773. public function withPaginationFetchJoinCollection(bool $paginationFetchJoinCollection): self
  774. {
  775. $self = clone $this;
  776. $self->paginationFetchJoinCollection = $paginationFetchJoinCollection;
  777. return $self;
  778. }
  779. public function getPaginationUseOutputWalkers(): ?bool
  780. {
  781. return $this->paginationUseOutputWalkers;
  782. }
  783. public function withPaginationUseOutputWalkers(bool $paginationUseOutputWalkers): self
  784. {
  785. $self = clone $this;
  786. $self->paginationUseOutputWalkers = $paginationUseOutputWalkers;
  787. return $self;
  788. }
  789. public function getPaginationItemsPerPage(): ?int
  790. {
  791. return $this->paginationItemsPerPage;
  792. }
  793. public function withPaginationItemsPerPage(int $paginationItemsPerPage): self
  794. {
  795. $self = clone $this;
  796. $self->paginationItemsPerPage = $paginationItemsPerPage;
  797. return $self;
  798. }
  799. public function getPaginationMaximumItemsPerPage(): ?int
  800. {
  801. return $this->paginationMaximumItemsPerPage;
  802. }
  803. public function withPaginationMaximumItemsPerPage(int $paginationMaximumItemsPerPage): self
  804. {
  805. $self = clone $this;
  806. $self->paginationMaximumItemsPerPage = $paginationMaximumItemsPerPage;
  807. return $self;
  808. }
  809. public function getPaginationPartial(): ?bool
  810. {
  811. return $this->paginationPartial;
  812. }
  813. public function withPaginationPartial(bool $paginationPartial): self
  814. {
  815. $self = clone $this;
  816. $self->paginationPartial = $paginationPartial;
  817. return $self;
  818. }
  819. public function getPaginationType(): ?string
  820. {
  821. return $this->paginationType;
  822. }
  823. public function withPaginationType(string $paginationType): self
  824. {
  825. $self = clone $this;
  826. $self->paginationType = $paginationType;
  827. return $self;
  828. }
  829. public function getSecurity(): ?string
  830. {
  831. return $this->security;
  832. }
  833. public function withSecurity(string $security): self
  834. {
  835. $self = clone $this;
  836. $self->security = $security;
  837. return $self;
  838. }
  839. public function getSecurityMessage(): ?string
  840. {
  841. return $this->securityMessage;
  842. }
  843. public function withSecurityMessage(string $securityMessage): self
  844. {
  845. $self = clone $this;
  846. $self->securityMessage = $securityMessage;
  847. return $self;
  848. }
  849. public function getSecurityPostDenormalize(): ?string
  850. {
  851. return $this->securityPostDenormalize;
  852. }
  853. public function withSecurityPostDenormalize(string $securityPostDenormalize): self
  854. {
  855. $self = clone $this;
  856. $self->securityPostDenormalize = $securityPostDenormalize;
  857. return $self;
  858. }
  859. public function getSecurityPostDenormalizeMessage(): ?string
  860. {
  861. return $this->securityPostDenormalizeMessage;
  862. }
  863. public function withSecurityPostDenormalizeMessage(string $securityPostDenormalizeMessage): self
  864. {
  865. $self = clone $this;
  866. $self->securityPostDenormalizeMessage = $securityPostDenormalizeMessage;
  867. return $self;
  868. }
  869. public function getSecurityPostValidation(): ?string
  870. {
  871. return $this->securityPostValidation;
  872. }
  873. public function withSecurityPostValidation(string $securityPostValidation = null): self
  874. {
  875. $self = clone $this;
  876. $self->securityPostValidation = $securityPostValidation;
  877. return $self;
  878. }
  879. public function getSecurityPostValidationMessage(): ?string
  880. {
  881. return $this->securityPostValidationMessage;
  882. }
  883. public function withSecurityPostValidationMessage(string $securityPostValidationMessage = null): self
  884. {
  885. $self = clone $this;
  886. $self->securityPostValidationMessage = $securityPostValidationMessage;
  887. return $self;
  888. }
  889. public function getExceptionToStatus(): ?array
  890. {
  891. return $this->exceptionToStatus;
  892. }
  893. public function withExceptionToStatus(array $exceptionToStatus): self
  894. {
  895. $self = clone $this;
  896. $self->exceptionToStatus = $exceptionToStatus;
  897. return $self;
  898. }
  899. public function getQueryParameterValidationEnabled(): ?bool
  900. {
  901. return $this->queryParameterValidationEnabled;
  902. }
  903. public function withQueryParameterValidationEnabled(bool $queryParameterValidationEnabled): self
  904. {
  905. $self = clone $this;
  906. $self->queryParameterValidationEnabled = $queryParameterValidationEnabled;
  907. return $self;
  908. }
  909. /**
  910. * @return GraphQlOperation[]
  911. */
  912. public function getGraphQlOperations(): ?array
  913. {
  914. return $this->graphQlOperations;
  915. }
  916. public function withGraphQlOperations(array $graphQlOperations): self
  917. {
  918. $self = clone $this;
  919. $self->graphQlOperations = $graphQlOperations;
  920. return $self;
  921. }
  922. /**
  923. * @return string|callable|null
  924. */
  925. public function getProcessor()
  926. {
  927. return $this->processor;
  928. }
  929. public function withProcessor($processor): self
  930. {
  931. $self = clone $this;
  932. $self->processor = $processor;
  933. return $self;
  934. }
  935. /**
  936. * @return string|callable|null
  937. */
  938. public function getProvider()
  939. {
  940. return $this->provider;
  941. }
  942. public function withProvider($provider): self
  943. {
  944. $self = clone $this;
  945. $self->provider = $provider;
  946. return $self;
  947. }
  948. public function getExtraProperties(): array
  949. {
  950. return $this->extraProperties;
  951. }
  952. public function withExtraProperties(array $extraProperties): self
  953. {
  954. $self = clone $this;
  955. $self->extraProperties = $extraProperties;
  956. return $self;
  957. }
  958. }