/**
  * isSupportedBy
  *
  * Check this specification is supported
  *
  * @param  string  $entityClassName The name of the entity class
  * @return boolean
  */
 public function isSupportedBy($entityClassName)
 {
     return $this->condition->isSupportedBy($entityClassName);
 }
 /**
  * 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));
 }
 /**
  * isSupportedBy
  *
  * Check if this specification is supported by the provided class name
  *
  * @param  string  $className
  * @return boolean
  */
 public function isSupportedBy($className)
 {
     return $this->spec->isSupportedBy($className);
 }
 /**
  * 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);
 }