blob: ffbe14fac843c212d37aa0934cc8897f4b9d8847 (
plain)
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
|
<?php
namespace Icinga\Module\Director\Import\PurgeStrategy;
use Icinga\Module\Director\Objects\SyncRule;
abstract class PurgeStrategy
{
private $rule;
public function __construct(SyncRule $rule)
{
$this->rule = $rule;
}
protected function getSyncRule()
{
return $this->rule;
}
abstract public function listObjectsToPurge();
/**
* @return PurgeStrategy
*/
public static function load($name, SyncRule $rule)
{
$class = __NAMESPACE__ . '\\' . $name . 'PurgeStrategy';
return new $class($rule);
}
}
|