<?php

declare(strict_types=1);

namespace KupShop\ReturnsBundle\Deliveries\Utils;

use KupShop\ContentBundle\Page\BasePage;
use KupShop\ReclamationsBundle\Entity\ReclamationEntity;
use KupShop\ReturnsBundle\Entity\ReturnEntity;

abstract class ReturnDelivery implements ReturnDeliveryInterface
{
    protected string $name;

    protected string $className;

    public string $defaultIcon;

    /**
     * @var BasePage
     */
    protected $page;

    public function __construct()
    {
        $rc = new \ReflectionClass($this);
        $this->className = $rc->getShortName();
    }

    public function getName(): string
    {
        return $this->name;
    }

    public function getClassName(): string
    {
        return $this->className;
    }

    /**
     * @return BasePage
     */
    public function getPage()
    {
        return $this->page;
    }

    public function getIcon(): string
    {
        return $this->defaultIcon;
    }

    public function getBaseLabelData(ReturnEntity|ReclamationEntity $entity): array
    {
        return [];
    }

    public function retrieveDataFromBalikobot(): bool
    {
        return false;
    }

    public function isEnabled(): bool
    {
        return true;
    }
}
