/**
  * Ctor.
  *
  * @param Serializer             $serializer
  * @param array                  $requestParams
  * @param DataTableViewInterface $datatableView
  * @param array                  $disabledCoreSearch
  */
 public function __construct(Serializer $serializer, array $requestParams, DataTableViewInterface $datatableView, $disabledCoreSearch)
 {
     $this->serializer = $serializer;
     $this->requestParams = $requestParams;
     $this->datatableView = $datatableView;
     $this->individualFiltering = $this->datatableView->getOptions()->getIndividualFiltering();
     $this->entity = $this->datatableView->getEntity();
     $this->em = $this->datatableView->getEntityManager();
     $metadata = $this->getMetadata($this->entity);
     $this->tableName = $this->getTableName($metadata);
     $this->rootEntityIdentifier = $this->getIdentifier($metadata);
     $this->qb = $this->em->createQueryBuilder();
     $this->selectColumns = array();
     $this->virtualColumns = $datatableView->getColumnBuilder()->getVirtualColumns();
     $this->joins = array();
     $this->searchColumns = array();
     $this->orderColumns = array();
     $this->callbacks = array();
     $this->columns = $datatableView->getColumnBuilder()->getColumns();
     $this->setLineFormatter();
     $this->setupColumnArrays();
     $this->disabledCoreSearch = $disabledCoreSearch;
 }