1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\InventoryLowQuantityNotification\Model\ResourceModel\Rss\NotifyStock;
use Magento\Framework\App\ResourceConnection;
use Magento\Framework\DB\Select;
class SelectBuilder
{
/**
* @var ResourceConnection
*/
private $resourceConnection;
/**
* @var ApplyNameAttributeJoin
*/
private $applyNameAttributeJoin;
/**
* @var ApplyStatusAttributeJoin
*/
private $applyStatusAttributeJoin;
/**
* @var ApplyConfigurationCondition
*/
private $applyConfigurationCondition;
/**
* @var ApplyBaseJoins
*/
private $applyBaseJoins;
/**
* @param ResourceConnection $resourceConnection
* @param ApplyBaseJoins $applyBaseJoins
* @param ApplyNameAttributeJoin $applyNameAttributeJoin
* @param ApplyStatusAttributeJoin $applyStatusAttributeJoin
* @param ApplyConfigurationCondition $applyConfigurationCondition
*/
public function __construct(
ResourceConnection $resourceConnection,
ApplyBaseJoins $applyBaseJoins,
ApplyNameAttributeJoin $applyNameAttributeJoin,
ApplyStatusAttributeJoin $applyStatusAttributeJoin,
ApplyConfigurationCondition $applyConfigurationCondition
) {
$this->resourceConnection = $resourceConnection;
$this->applyBaseJoins = $applyBaseJoins;
$this->applyNameAttributeJoin = $applyNameAttributeJoin;
$this->applyStatusAttributeJoin = $applyStatusAttributeJoin;
$this->applyConfigurationCondition = $applyConfigurationCondition;
}
/**
* @param Select $select
*
* @return void
*/
public function build(Select $select)
{
$this->applyBaseJoins->execute($select);
$this->applyNameAttributeJoin->execute($select);
$this->applyStatusAttributeJoin->execute($select);
$this->applyConfigurationCondition->execute($select);
}
}