<?php declare(strict_types=1);

namespace App\Engine\VisitorsNotification;

use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity]
class VisitorsNotification
{

    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column(type: 'integer')]
    private ?int $id = null;
    #[ORM\Column(type: 'integer')]
    private int $priority = 0;
    #[ORM\Column(type: 'string')]
    private string $title = "";
    #[ORM\Column(type: 'text')]
    private string $text = "";
    #[ORM\Column(type: 'boolean')]
    private bool $enabled = true;
    #[ORM\Column(type: 'string', enumType: LocationEnum::class)]
    private LocationEnum $location = LocationEnum::Homepage;
    #[ORM\Column(type: 'string', enumType: TypeEnum::class)]
    private TypeEnum $type = TypeEnum::Info;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getPriority(): int
    {
        return $this->priority;
    }

    public function setPriority(int $priority): self
    {
        $this->priority = $priority;
        return $this;
    }

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

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

    public function getText(): string
    {
        return $this->text;
    }

    public function setText(?string $text): self
    {
        $this->text = $text ?? "";
        return $this;
    }

    public function getEnabled(): bool
    {
        return $this->enabled;
    }

    public function setEnabled(bool $enabled): self
    {
        $this->enabled = $enabled;
        return $this;
    }

    public function getLocation(): LocationEnum
    {
        return $this->location;
    }

    public function setLocation(LocationEnum $location): self
    {
        $this->location = $location;
        return $this;
    }

    public function getType(): TypeEnum
    {
        return $this->type;
    }

    public function setType(TypeEnum $type): self
    {
        $this->type = $type;
        return $this;
    }

}