<?php

namespace Lc\CaracoleBundle\Container\Config;

use Lc\CaracoleBundle\Factory\Config\TaxRateFactory;
use Lc\CaracoleBundle\Repository\Config\TaxRateRepositoryQuery;
use Lc\CaracoleBundle\Repository\Config\TaxRateStore;

class TaxRateContainer
{
    protected TaxRateFactory $factory;
    protected TaxRateRepositoryQuery $repositoryQuery;
    protected TaxRateStore $store;

    public function __construct(
            TaxRateFactory $factory,
            TaxRateRepositoryQuery $repositoryQuery,
            TaxRateStore $store
    ) {
        $this->factory = $factory;
        $this->repositoryQuery = $repositoryQuery;
        $this->store = $store;
    }

    public function getFactory(): TaxRateFactory
    {
        return $this->factory;
    }

    public function getRepositoryQuery(): TaxRateRepositoryQuery
    {
        return $this->repositoryQuery;
    }

    public function getStore(): TaxRateStore
    {
        $this->store->resetContext();

        return $this->store;
    }
}