<?php

namespace App\Entity;

use App\Repository\CommandTaskScriptRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: CommandTaskScriptRepository::class)]
class CommandTaskScript extends AbstractEntity
{
    #[ORM\Column(length: 255, nullable: true)]
    private ?string $content = null;

    #[ORM\Column]
    private ?int $executionOrder = null;

    #[ORM\ManyToOne(cascade: ['persist'], inversedBy: 'commandTaskScripts')]
    #[ORM\JoinColumn(nullable: false)]
    private ?CommandTask $commandTask = null;

    #[ORM\Column(length: 255)]
    private ?string $type = null;

    #[ORM\Column(type: Types::ARRAY, nullable: true)]
    private ?array $parameters = null;

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

    public function getContent(): ?string
    {
        return $this->content;
    }

    public function setContent(?string $content): static
    {
        $this->content = $content;

        return $this;
    }

    public function getExecutionOrder(): ?int
    {
        return $this->executionOrder;
    }

    public function setExecutionOrder(int $executionOrder): static
    {
        $this->executionOrder = $executionOrder;

        return $this;
    }

    public function getCommandTask(): ?CommandTask
    {
        return $this->commandTask;
    }

    public function setCommandTask(?CommandTask $commandTask): static
    {
        $this->commandTask = $commandTask;

        return $this;
    }

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

    public function setType(string $type): static
    {
        $this->type = $type;

        return $this;
    }

    public function getParameters(): ?array
    {
        return $this->parameters;
    }

    public function setParameters(?array $parameters): static
    {
        $this->parameters = $parameters;

        return $this;
    }
}
