2014-11-30 04:58:41 -05:00
|
|
|
<?php
|
|
|
|
|
|
2014-11-30 09:56:58 -05:00
|
|
|
namespace Icinga\Module\Businessprocess\Storage;
|
2014-11-30 04:58:41 -05:00
|
|
|
|
|
|
|
|
use Icinga\Data\ConfigObject;
|
2014-11-30 09:56:58 -05:00
|
|
|
use Icinga\Module\Businessprocess\BusinessProcess;
|
2016-12-09 08:03:49 -05:00
|
|
|
use Icinga\Module\Businessprocess\Metadata;
|
2014-11-30 04:58:41 -05:00
|
|
|
|
|
|
|
|
abstract class Storage
|
|
|
|
|
{
|
2016-11-23 04:44:24 -05:00
|
|
|
/**
|
|
|
|
|
* @var ConfigObject
|
|
|
|
|
*/
|
2014-11-30 04:58:41 -05:00
|
|
|
protected $config;
|
|
|
|
|
|
2016-11-23 04:44:24 -05:00
|
|
|
/**
|
|
|
|
|
* Storage constructor.
|
|
|
|
|
* @param ConfigObject $config
|
|
|
|
|
*/
|
2014-11-30 04:58:41 -05:00
|
|
|
public function __construct(ConfigObject $config)
|
|
|
|
|
{
|
|
|
|
|
$this->config = $config;
|
|
|
|
|
$this->init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected function init()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
abstract public function listProcesses();
|
|
|
|
|
|
|
|
|
|
/**
|
2016-11-23 04:44:24 -05:00
|
|
|
* @param $name
|
2014-11-30 04:58:41 -05:00
|
|
|
* @return BusinessProcess
|
|
|
|
|
*/
|
|
|
|
|
abstract public function loadProcess($name);
|
|
|
|
|
|
|
|
|
|
/**
|
2016-11-23 04:44:24 -05:00
|
|
|
* @param BusinessProcess $name
|
|
|
|
|
* @return mixed
|
2014-11-30 04:58:41 -05:00
|
|
|
*/
|
|
|
|
|
abstract public function storeProcess(BusinessProcess $name);
|
2015-03-16 04:08:00 -04:00
|
|
|
|
2016-11-23 04:44:24 -05:00
|
|
|
/**
|
|
|
|
|
* @param $name
|
|
|
|
|
* @return bool Whether the process has been deleted
|
|
|
|
|
*/
|
2015-03-16 04:08:00 -04:00
|
|
|
abstract public function deleteProcess($name);
|
2016-12-09 08:03:49 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string $name
|
|
|
|
|
* @return Metadata
|
|
|
|
|
*/
|
|
|
|
|
abstract public function loadMetadata($name);
|
2014-11-30 04:58:41 -05:00
|
|
|
}
|