final public function whereAll(callable $conditionCallback)
    {
        $definition = new SpecificationDefinition($this->class, $this->memberExpressionParser);
        $conditionCallback($definition);

        if ($definition->hasCondition()) {
            $this->append($definition->getCondition());
        }

        return $this;
    }
final public function whereAll(callable $conditionCallback)
    {
        $definition = new SpecificationDefinition($this->class, $this->memberExpressionParser);
        $conditionCallback($definition);

        if ($definition->hasCondition()) {
            $this->append($definition->getCondition());
        }

        return $this;
    }
final public function whereAll ( callable $ conditionCallback ) { $ definition = new SpecificationDefinition ( $ this -> class , $ this -> memberExpressionParser ) ; $ conditionCallback ( $ definition ) ; if ( $ definition -> hasCondition ( ) ) { $ this -> append ( $ definition -> getCondition ( ) ) ; } return $ this ; }
Defines a condition that is satisfied when ALL of the
conditions within the callback are satisfied.

Example:
<code>
->whereAll(function (SpecificationDefinition $match) {
$match->where('prop', '>', 50);
$match->where('flag', '=', true);
})
</code>

@param callable $conditionCallback

@return static
Defines a condition that is satisfied when ALL of the conditions within the callback are satisfied .