/**
  * @param QueryBuilder $queryBuilder
  * @param string       $dqlAlias
  *
  * @return string
  */
 public function modify(QueryBuilder $queryBuilder, $dqlAlias)
 {
     $filter = $this->parent->modify($queryBuilder, $dqlAlias);
     if (empty($filter)) {
         return '';
     }
     return (string) $queryBuilder->expr()->not($filter);
 }
 /**
  * Modifies the QueryBuilder according to the passed Specification.
  * Will also set the condition for this query if needed.
  *
  * @param QueryBuilder           $queryBuilder
  * @param SpecificationInterface $specification
  *
  * @internal param string $dqlAlias
  */
 private function modifyQueryBuilder(QueryBuilder $queryBuilder, SpecificationInterface $specification)
 {
     $condition = $specification->modify($queryBuilder, $this->dqlAlias);
     if (empty($condition)) {
         return;
     }
     $queryBuilder->where($condition);
 }
 public function modify(QueryBuilder $queryBuilder, $dqlAlias)
 {
     call_user_func_array([$queryBuilder, $this->type], [$this->specification->modify($queryBuilder, $dqlAlias)]);
 }