*/ #[ORM\Column(name: 'columns', type: Types::JSON, nullable: false)] #[Assert\Count(min: 1)] #[Assert\NotNull] private array $columns = []; /** * @var array */ #[ORM\Column(name: 'options', type: Types::JSON, nullable: false)] #[Assert\NotNull] private array $options = []; public function getId(): ?int { return $this->id; } public function setTitle(?string $title): void { $this->title = $title; } public function getTitle(): ?string { return $this->title; } public function setRenderer(string $renderer): void { $this->renderer = $renderer; } public function getRenderer(): string { return $this->renderer; } public function getLanguage(): ?string { return $this->language; } public function setLanguage(?string $language): void { $this->language = $language; } /** * @return array */ public function getColumns(): array { return $this->columns; } /** * @param array|null $columns */ public function setColumns(?array $columns): void { $this->columns = $columns ?? []; } /** * @return array */ public function getOptions(): array { return $this->options; } /** * @param array $options */ public function setOptions(?array $options): void { $this->options = $options ?? []; } public function __toString(): string { return $this->title ?? 'New'; } public function __clone() { if ($this->id) { $this->id = null; } } }