vendor/api-platform/core/src/Metadata/GraphQl/Operation.php line 143

  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\GraphQl;
  12. use ApiPlatform\Metadata\Link;
  13. use ApiPlatform\Metadata\Operation as AbstractOperation;
  14. use ApiPlatform\State\OptionsInterface;
  15. class Operation extends AbstractOperation
  16. {
  17.     /**
  18.      * @param Link[]|null $links
  19.      * @param array{
  20.      *     class?: string|null,
  21.      *     name?: string,
  22.      * }|string|false|null $input {@see https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation}
  23.      * @param array{
  24.      *     class?: string|null,
  25.      *     name?: string,
  26.      * }|string|false|null $output {@see https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation}
  27.      * @param string|array|bool|null $mercure   {@see https://api-platform.com/docs/core/mercure}
  28.      * @param string|bool|null       $messenger {@see https://api-platform.com/docs/core/messenger/#dispatching-a-resource-through-the-message-bus}
  29.      * @param string|callable|null   $provider  {@see https://api-platform.com/docs/core/state-providers/#state-providers}
  30.      * @param string|callable|null   $processor {@see https://api-platform.com/docs/core/state-processors/#state-processors}
  31.      */
  32.     public function __construct(
  33.         protected ?string $resolver null,
  34.         protected ?array $args null,
  35.         protected ?array $extraArgs null,
  36.         protected ?array $links null,
  37.         string $shortName null,
  38.         string $class null,
  39.         bool $paginationEnabled null,
  40.         string $paginationType null,
  41.         int $paginationItemsPerPage null,
  42.         int $paginationMaximumItemsPerPage null,
  43.         bool $paginationPartial null,
  44.         bool $paginationClientEnabled null,
  45.         bool $paginationClientItemsPerPage null,
  46.         bool $paginationClientPartial null,
  47.         bool $paginationFetchJoinCollection null,
  48.         bool $paginationUseOutputWalkers null,
  49.         array $order null,
  50.         string $description null,
  51.         array $normalizationContext null,
  52.         array $denormalizationContext null,
  53.         bool $collectDenormalizationErrors null,
  54.         string $security null,
  55.         string $securityMessage null,
  56.         string $securityPostDenormalize null,
  57.         string $securityPostDenormalizeMessage null,
  58.         string $securityPostValidation null,
  59.         string $securityPostValidationMessage null,
  60.         string $deprecationReason null,
  61.         array $filters null,
  62.         array $validationContext null,
  63.         $input null,
  64.         $output null,
  65.         $mercure null,
  66.         $messenger null,
  67.         bool $elasticsearch null,
  68.         int $urlGenerationStrategy null,
  69.         bool $read null,
  70.         bool $deserialize null,
  71.         bool $validate null,
  72.         bool $write null,
  73.         bool $serialize null,
  74.         bool $fetchPartial null,
  75.         bool $forceEager null,
  76.         int $priority null,
  77.         string $name null,
  78.         $provider null,
  79.         $processor null,
  80.         OptionsInterface $stateOptions null,
  81.         array $extraProperties = []
  82.     ) {
  83.         parent::__construct(
  84.             shortName$shortName,
  85.             class: $class,
  86.             paginationEnabled$paginationEnabled,
  87.             paginationType$paginationType,
  88.             paginationItemsPerPage$paginationItemsPerPage,
  89.             paginationMaximumItemsPerPage$paginationMaximumItemsPerPage,
  90.             paginationPartial$paginationPartial,
  91.             paginationClientEnabled$paginationClientEnabled,
  92.             paginationClientItemsPerPage$paginationClientItemsPerPage,
  93.             paginationClientPartial$paginationClientPartial,
  94.             paginationFetchJoinCollection$paginationFetchJoinCollection,
  95.             paginationUseOutputWalkers$paginationUseOutputWalkers,
  96.             order$order,
  97.             description$description,
  98.             normalizationContext$normalizationContext,
  99.             denormalizationContext$denormalizationContext,
  100.             collectDenormalizationErrors$collectDenormalizationErrors,
  101.             security$security,
  102.             securityMessage$securityMessage,
  103.             securityPostDenormalize$securityPostDenormalize,
  104.             securityPostDenormalizeMessage$securityPostDenormalizeMessage,
  105.             securityPostValidation$securityPostValidation,
  106.             securityPostValidationMessage$securityPostValidationMessage,
  107.             deprecationReason$deprecationReason,
  108.             filters$filters,
  109.             validationContext$validationContext,
  110.             input$input,
  111.             output$output,
  112.             mercure$mercure,
  113.             messenger$messenger,
  114.             elasticsearch$elasticsearch,
  115.             urlGenerationStrategy$urlGenerationStrategy,
  116.             read$read,
  117.             deserialize$deserialize,
  118.             validate$validate,
  119.             write$write,
  120.             serialize$serialize,
  121.             fetchPartial$fetchPartial,
  122.             forceEager$forceEager,
  123.             priority$priority,
  124.             name$name,
  125.             provider$provider,
  126.             processor$processor,
  127.             stateOptions$stateOptions,
  128.             extraProperties$extraProperties
  129.         );
  130.     }
  131.     public function getResolver(): ?string
  132.     {
  133.         return $this->resolver;
  134.     }
  135.     public function withResolver(string $resolver null): self
  136.     {
  137.         $self = clone $this;
  138.         $self->resolver $resolver;
  139.         return $self;
  140.     }
  141.     public function getArgs(): ?array
  142.     {
  143.         return $this->args;
  144.     }
  145.     public function withArgs(array $args null): self
  146.     {
  147.         $self = clone $this;
  148.         $self->args $args;
  149.         return $self;
  150.     }
  151.     public function getExtraArgs(): ?array
  152.     {
  153.         return $this->extraArgs;
  154.     }
  155.     public function withExtraArgs(array $extraArgs null): self
  156.     {
  157.         $self = clone $this;
  158.         $self->extraArgs $extraArgs;
  159.         return $self;
  160.     }
  161.     /**
  162.      * @return Link[]|null
  163.      */
  164.     public function getLinks(): ?array
  165.     {
  166.         return $this->links;
  167.     }
  168.     /**
  169.      * @param Link[] $links
  170.      */
  171.     public function withLinks(array $links): self
  172.     {
  173.         $self = clone $this;
  174.         $self->links $links;
  175.         return $self;
  176.     }
  177. }