public function onLogicalExpression($expressionType, $left, $right)
    {
        $type = $this->unpackExpressionType($expressionType);
        switch ($type) {
            case ExpressionType::AND_LOGICAL:
                return $this->prepareBinaryExpression(self::LOGICAL_AND, $left, $right);
            case ExpressionType::OR_LOGICAL:
                return $this->prepareBinaryExpression(self::LOGICAL_OR, $left, $right);
            default:
                throw new \InvalidArgumentException('onLogicalExpression');
        }
    }
public function onLogicalExpression($expressionType, $left, $right)
    {
        $type = $this->unpackExpressionType($expressionType);
        switch ($type) {
            case ExpressionType::AND_LOGICAL:
                return $this->prepareBinaryExpression(self::LOGICAL_AND, $left, $right);
            case ExpressionType::OR_LOGICAL:
                return $this->prepareBinaryExpression(self::LOGICAL_OR, $left, $right);
            default:
                throw new \InvalidArgumentException('onLogicalExpression');
        }
    }
public function onLogicalExpression ( $ expressionType , $ left , $ right ) { $ type = $ this -> unpackExpressionType ( $ expressionType ) ; switch ( $ type ) { case ExpressionType :: AND_LOGICAL : return $ this -> prepareBinaryExpression ( self :: LOGICAL_AND , $ left , $ right ) ; case ExpressionType :: OR_LOGICAL : return $ this -> prepareBinaryExpression ( self :: LOGICAL_OR , $ left , $ right ) ; default : throw new \ InvalidArgumentException ( 'onLogicalExpression' ) ; } }
Call-back for logical expression.

@param ExpressionType $expressionType The type of logical expression
@param string         $left           The left expression
@param string         $right          The left expression

@return string
Call - back for logical expression .