<?php

namespace Lc\SovBundle\Container\Site;

use App\Entity\Site\News;
use Lc\SovBundle\Definition\Field\Site\NewsFieldDefinition;
use Lc\SovBundle\Factory\Site\NewsFactory;
use Lc\SovBundle\Repository\Site\NewsRepositoryQuery;
use Lc\SovBundle\Repository\Site\NewsStore;

class NewsContainer
{
    protected NewsFactory $factory;
    protected NewsRepositoryQuery $repositoryQuery;
    protected NewsStore $store;
    protected NewsFieldDefinition $fieldDefinition;

    public function __construct(
            NewsFactory $factory,
            NewsRepositoryQuery $repositoryQuery,
            NewsStore $store,
            NewsFieldDefinition $fieldDefinition
    ) {
        $this->factory = $factory;
        $this->repositoryQuery = $repositoryQuery;
        $this->store = $store;
        $this->fieldDefinition = $fieldDefinition;
    }


    public static function getEntityFqcn()
    {
        return News::class;
    }
    public function getFactory(): NewsFactory
    {
        return $this->factory;
    }

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

    public function getStore(): NewsStore
    {
        return $this->store;
    }

    public function getFieldDefinition(): NewsFieldDefinition
    {
        return $this->fieldDefinition;
    }
}
