<?php

namespace idoit\Module\Pro\Algorithm;

/**
 * Algorithm filter class.
 *
 * @package idoit\Module\Pro\Algorithm
 */
class Filter
{
    private array $cmdbStatus = [];

    private int $priority = 0;

    private int $level = 1;

    private array $relationTypes = [];

    private array $objectTypes = [];

    private bool $filterWarning = false;

    public function setCmdbStatus(array $cmdbStatus): self
    {
        $this->cmdbStatus = $cmdbStatus;

        return $this;
    }

    public function getCmdbStatus(): array
    {
        return $this->cmdbStatus;
    }

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

        return $this;
    }

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

    public function setLevel(int $level): self
    {
        $this->level = $level;

        return $this;
    }

    public function getLevel(): int
    {
        return $this->level;
    }

    public function setRelationTypes(array $relationTypes): self
    {
        $this->relationTypes = $relationTypes;

        return $this;
    }

    public function getRelationTypes(): array
    {
        return $this->relationTypes;
    }

    public function setObjectTypes(array $objectTypes): self
    {
        $this->objectTypes = $objectTypes;

        return $this;
    }

    public function getObjectTypes(): array
    {
        return $this->objectTypes;
    }

    public function setFilterWarning(bool $filterWarning): self
    {
        $this->filterWarning = $filterWarning;

        return $this;
    }

    public function getFilterWarning(): bool
    {
        return $this->filterWarning;
    }
}
