DMS\Bundle\FilterBundle\Loader\ContainerAwareLoader::getFilterForRule PHP Method

getFilterForRule() public method

Attempts to load Filter from Container or hands off to parent loader.
public getFilterForRule ( Rule $rule ) : BaseFilter
$rule DMS\Filter\Rules\Rule
return DMS\Filter\Filters\BaseFilter
    public function getFilterForRule(Rule $rule)
    {
        $filterIdentifier = $rule->getFilter();
        if ($this->container === null || !$this->container->has($filterIdentifier)) {
            return parent::getFilterForRule($rule);
        }
        return $this->container->get($filterIdentifier);
    }

Usage Example

 public function testGetFilterForRuleCascade()
 {
     $this->container->expects($this->once())->method('has')->will($this->returnValue(false));
     $this->container->expects($this->never())->method('get');
     $filter = $this->loader->getFilterForRule(new StripTags());
     $this->assertInstanceOf('\\DMS\\Filter\\Filters\\StripTags', $filter);
 }