<?php

namespace common\logic\PointSale\PointSale\Wrapper;

use common\logic\AbstractContainer;
use common\logic\PointSale\PointSale\Model\PointSale;
use common\logic\PointSale\PointSale\Repository\PointSaleRepository;
use common\logic\PointSale\PointSale\Service\PointSaleBuilder;
use common\logic\PointSale\PointSale\Service\PointSaleSolver;

class PointSaleContainer extends AbstractContainer
{
    public function getEntityFqcn(): string
    {
        return PointSale::class;
    }

    public function getServices(): array
    {
        return [
            PointSaleSolver::class,
            PointSaleRepository::class,
            PointSaleBuilder::class,
        ];
    }

    public function getSolver(): PointSaleSolver
    {
        return PointSaleSolver::getInstance();
    }

    public function getRepository(): PointSaleRepository
    {
        return PointSaleRepository::getInstance();
    }

    public function getBuilder(): PointSaleBuilder
    {
        return PointSaleBuilder::getInstance();
    }
}