<?php

namespace Lc\SovBundle\Container\Ticket;

use App\Entity\Ticket\TicketMessage;
use Lc\SovBundle\Builder\Ticket\TicketMessageBuilder;
use Lc\SovBundle\Factory\Ticket\TicketMessageFactory;
use Lc\SovBundle\Repository\Ticket\TicketMessageRepositoryQuery;
use Lc\SovBundle\Repository\Ticket\TicketMessageStore;

class TicketMessageContainer
{
    protected TicketMessageFactory $factory;
    protected TicketMessageRepositoryQuery $repositoryQuery;
    protected TicketMessageStore $store;
    protected TicketMessageBuilder $builder;

    public function __construct(
            TicketMessageFactory $factory,
            TicketMessageRepositoryQuery $repositoryQuery,
            TicketMessageStore $store,
            TicketMessageBuilder $builder
    ) {
        $this->factory = $factory;
        $this->repositoryQuery = $repositoryQuery;
        $this->store = $store;
        $this->builder = $builder;
    }

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

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

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

    public function getBuilder(): TicketMessageBuilder
    {
        return $this->builder;
    }
}
