/**
  * filter
  *
  * @param  \ArpSpecification\Entity\Spec\Adapter\QueryBuilderAdapterInterface $adapter
  * @return mixed
  */
 public function filter(QueryBuilderAdapterInterface $adapter)
 {
     $qb = $adapter->getQueryBuilder();
     return $qb->expr()->where($this->spec->filter($adapter));
 }
 /**
  * filter
  *
  * Not applicable for the join as it can ONLY be applied via build()
  *
  * @param  \ArpSpecification\Entity\Spec\Adapter\QueryBuilderAdapterInterface $adapter
  * @throws \BadMethodCallException
  */
 public function filter(QueryBuilderAdapterInterface $adapter)
 {
     return $this->spec->filter($adapter);
 }
 /**
  * filter
  *
  * Apply the specification filtering
  *
  * @param  \ArpSpecification\Entity\Spec\Adapter\QueryBuilderAdapterInterface $adapter
  * @return mixed
  */
 public function filter(QueryBuilderAdapterInterface $adapter)
 {
     // Delegates to contained spec
     return $this->spec->filter($adapter);
 }