<?php


namespace AutoAdmin\Bundle\Seo\Entity;

use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Embeddable]
class SeoMetadata
{
    #[ORM\Column(type: Types::BOOLEAN, options: ['default' => false])]
    protected bool $noIndex = false;

    #[ORM\Column(type: Types::BOOLEAN, options: ['default' => false])]
    protected bool $noFollow = false;

    #[ORM\Column(type: Types::BOOLEAN, options: ['default' => false])]
    protected bool $hideFromSitemap = false;

    #[ORM\Column(type: Types::STRING, length: 300, nullable: true)]
    protected ?string $canonicalOverride = '';

    #[ORM\Column(type: Types::STRING, length: 255, nullable: true)]
    protected ?string $title = '';

    #[ORM\Column(type: Types::STRING, length: 1000, nullable: true)]
    protected ?string $description = '';

    #[ORM\Column(type: Types::JSON, nullable: true)]
    protected ?array $metas = null;

    public function isNoIndex(): bool
    {
        return $this->noIndex;
    }

    public function setNoIndex(bool $noIndex): void
    {
        $this->noIndex = $noIndex;
    }

    public function isNoFollow(): bool
    {
        return $this->noFollow;
    }

    public function setNoFollow(bool $noFollow): void
    {
        $this->noFollow = $noFollow;
    }

    public function isHideFromSitemap(): bool
    {
        return $this->hideFromSitemap;
    }

    public function setHideFromSitemap(bool $hideFromSitemap): void
    {
        $this->hideFromSitemap = $hideFromSitemap;
    }

    public function getCanonicalOverride(): ?string
    {
        return $this->canonicalOverride;
    }

    public function setCanonicalOverride(?string $canonicalOverride): void
    {
        $this->canonicalOverride = $canonicalOverride;
    }

    public function getTitle(): ?string
    {
        return $this->title;
    }

    public function setTitle(?string $title): void
    {
        $this->title = $title;
    }

    public function getDescription(): ?string
    {
        return $this->description;
    }

    public function setDescription(?string $description): void
    {
        $this->description = $description;
    }

    public function getMetas(): ?array
    {
        return $this->metas;
    }

    public function setMetas(?array $metas): void
    {
        $this->metas = $metas;
    }
}
