<?phpnamespace GollumSF\RestDocBundle\Annotation;use Sensio\Bundle\FrameworkExtraBundle\Configuration\ConfigurationAnnotation;/** * @Annotation * @Target({"CLASS", "METHOD"}) */class ApiDescribe extends ConfigurationAnnotation { const ALIAS_NAME = 'gsf_api_describe'; /** @var string */ private $entity; /** @var bool */ private $collection = false; /** @var string[] */ private $serializeGroups = []; /** @var string[] */ private $unserializeGroups = []; /** @var array */ private $request = []; /** @var array */ private $response = []; private $summary = null; ///////////// // Getters // ///////////// public function getEntity(): ?string { return $this->entity; } public function isCollection(): bool { return $this->collection; } public function getSerializeGroups(): array { return $this->serializeGroups; } public function getUnserializeGroups(): array { return $this->unserializeGroups; } public function getRequest(): array { return $this->request; } public function getResponse(): array { return $this->response; } public function getSummary(): ?string { return $this->summary; } public function getAliasName() { return self::ALIAS_NAME; } public function allowArray() { return true; } ///////////// // Setters // ///////////// public function setEntity(?string $entity): self { $this->entity = $entity; return $this; } public function setCollection(bool $collection): self { $this->collection = $collection; return $this; } public function setSerializeGroups($serializeGroups): self { if (!is_array($serializeGroups)) { $serializeGroups = [$serializeGroups]; } $this->serializeGroups = $serializeGroups; return $this; } public function setUnserializeGroups($unserializeGroups): self { if (!is_array($unserializeGroups)) { $unserializeGroups = [$unserializeGroups]; } $this->unserializeGroups = $unserializeGroups; return $this; } public function setRequest(array $request): self { $this->request = $request; return $this; } public function setResponse(array $response): self { $this->response = $response; return $this; } public function setSummary(?string $summary): self { $this->summary = $summary; return $this; } public function setValue(?string $entity): self { $this->entity = $entity; return $this; }}