vendor/api-platform/core/src/Metadata/GetCollection.php line 20

  1. <?php
  2. /*
  3.  * This file is part of the API Platform project.
  4.  *
  5.  * (c) Kévin Dunglas <[email protected]>
  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\OpenApi\Model\Operation as OpenApiOperation;
  13. use ApiPlatform\State\OptionsInterface;
  14. #[\Attribute(\Attribute::TARGET_CLASS \Attribute::IS_REPEATABLE)]
  15. final class GetCollection extends HttpOperation implements CollectionOperationInterface
  16. {
  17.     public function __construct(
  18.         string $uriTemplate null,
  19.         array $types null,
  20.         $formats null,
  21.         $inputFormats null,
  22.         $outputFormats null,
  23.         $uriVariables null,
  24.         string $routePrefix null,
  25.         string $routeName null,
  26.         array $defaults null,
  27.         array $requirements null,
  28.         array $options null,
  29.         bool $stateless null,
  30.         string $sunset null,
  31.         string $acceptPatch null,
  32.         $status null,
  33.         string $host null,
  34.         array $schemes null,
  35.         string $condition null,
  36.         string $controller null,
  37.         array $cacheHeaders null,
  38.         array $paginationViaCursor null,
  39.         array $hydraContext null,
  40.         array $openapiContext null,
  41.         bool|OpenApiOperation $openapi null,
  42.         array $exceptionToStatus null,
  43.         bool $queryParameterValidationEnabled null,
  44.         string $shortName null,
  45.         string $class null,
  46.         bool $paginationEnabled null,
  47.         string $paginationType null,
  48.         int $paginationItemsPerPage null,
  49.         int $paginationMaximumItemsPerPage null,
  50.         bool $paginationPartial null,
  51.         bool $paginationClientEnabled null,
  52.         bool $paginationClientItemsPerPage null,
  53.         bool $paginationClientPartial null,
  54.         bool $paginationFetchJoinCollection null,
  55.         bool $paginationUseOutputWalkers null,
  56.         array $order null,
  57.         string $description null,
  58.         array $normalizationContext null,
  59.         array $denormalizationContext null,
  60.         bool $collectDenormalizationErrors null,
  61.         string $security null,
  62.         string $securityMessage null,
  63.         string $securityPostDenormalize null,
  64.         string $securityPostDenormalizeMessage null,
  65.         string $securityPostValidation null,
  66.         string $securityPostValidationMessage null,
  67.         string $deprecationReason null,
  68.         array $filters null,
  69.         array $validationContext null,
  70.         $input null,
  71.         $output null,
  72.         $mercure null,
  73.         $messenger null,
  74.         bool $elasticsearch null,
  75.         int $urlGenerationStrategy null,
  76.         bool $read null,
  77.         bool $deserialize null,
  78.         bool $validate null,
  79.         bool $write null,
  80.         bool $serialize null,
  81.         bool $fetchPartial null,
  82.         bool $forceEager null,
  83.         int $priority null,
  84.         string $name null,
  85.         $provider null,
  86.         $processor null,
  87.         OptionsInterface $stateOptions null,
  88.         array $extraProperties = [],
  89.         private ?string $itemUriTemplate null,
  90.     ) {
  91.         parent::__construct(
  92.             uriTemplate$uriTemplate,
  93.             types$types,
  94.             formats$formats,
  95.             inputFormats$inputFormats,
  96.             outputFormats$outputFormats,
  97.             uriVariables$uriVariables,
  98.             routePrefix$routePrefix,
  99.             routeName$routeName,
  100.             defaults$defaults,
  101.             requirements$requirements,
  102.             options$options,
  103.             stateless$stateless,
  104.             sunset$sunset,
  105.             acceptPatch$acceptPatch,
  106.             status$status,
  107.             host$host,
  108.             schemes$schemes,
  109.             condition$condition,
  110.             controller$controller,
  111.             cacheHeaders$cacheHeaders,
  112.             paginationViaCursor$paginationViaCursor,
  113.             hydraContext$hydraContext,
  114.             openapiContext$openapiContext,
  115.             openapi$openapi,
  116.             exceptionToStatus$exceptionToStatus,
  117.             queryParameterValidationEnabled$queryParameterValidationEnabled,
  118.             shortName$shortName,
  119.             class: $class,
  120.             paginationEnabled$paginationEnabled,
  121.             paginationType$paginationType,
  122.             paginationItemsPerPage$paginationItemsPerPage,
  123.             paginationMaximumItemsPerPage$paginationMaximumItemsPerPage,
  124.             paginationPartial$paginationPartial,
  125.             paginationClientEnabled$paginationClientEnabled,
  126.             paginationClientItemsPerPage$paginationClientItemsPerPage,
  127.             paginationClientPartial$paginationClientPartial,
  128.             paginationFetchJoinCollection$paginationFetchJoinCollection,
  129.             paginationUseOutputWalkers$paginationUseOutputWalkers,
  130.             order$order,
  131.             description$description,
  132.             normalizationContext$normalizationContext,
  133.             denormalizationContext$denormalizationContext,
  134.             collectDenormalizationErrors$collectDenormalizationErrors,
  135.             security$security,
  136.             securityMessage$securityMessage,
  137.             securityPostDenormalize$securityPostDenormalize,
  138.             securityPostDenormalizeMessage$securityPostDenormalizeMessage,
  139.             securityPostValidation$securityPostValidation,
  140.             securityPostValidationMessage$securityPostValidationMessage,
  141.             deprecationReason$deprecationReason,
  142.             filters$filters,
  143.             validationContext$validationContext,
  144.             input$input,
  145.             output$output,
  146.             mercure$mercure,
  147.             messenger$messenger,
  148.             elasticsearch$elasticsearch,
  149.             urlGenerationStrategy$urlGenerationStrategy,
  150.             read$read,
  151.             deserialize$deserialize,
  152.             validate$validate,
  153.             write$write,
  154.             serialize$serialize,
  155.             fetchPartial$fetchPartial,
  156.             forceEager$forceEager,
  157.             priority$priority,
  158.             name$name,
  159.             provider$provider,
  160.             processor$processor,
  161.             extraProperties$extraProperties,
  162.             stateOptions$stateOptions,
  163.         );
  164.     }
  165.     public function getItemUriTemplate(): ?string
  166.     {
  167.         return $this->itemUriTemplate;
  168.     }
  169.     public function withItemUriTemplate(string $itemUriTemplate): self
  170.     {
  171.         $self = clone $this;
  172.         $self->itemUriTemplate $itemUriTemplate;
  173.         return $self;
  174.     }
  175. }