src/Doctrine/Query/QueryFactory.php
<?php declare(strict_types=1); namespace Rostenkowski\Doctrine\Query; use Doctrine\ORM\EntityManager;use Doctrine\ORM\Query;use Nette\Utils\Paginator; abstract class QueryFactory implements QueryFactoryInterface{ /** * @var Paginator */ private $paginator; public function create(EntityManager $em): Query { return $this->configure($em); } public function getPaginator(): ?Paginator { return $this->paginator; } abstract protected function configure(EntityManager $em): Query; public function setPaginator(Paginator $paginator) { $this->paginator = $paginator; return $this; } }