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

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