Passed
Push — master ( d7c3ec...93a960 )
by Aimeos
03:37
created

Base::getController()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
/**
4
 * @license LGPLv3, https://opensource.org/licenses/LGPL-3.0
5
 * @copyright Aimeos (aimeos.org), 2015-2022
6
 * @package Controller
7
 * @subpackage Jobs
8
 */
9
10
11
namespace Aimeos\Controller\Jobs\Common\Decorator;
12
13
14
/**
15
 * Provides common methods for controller decorators.
16
 *
17
 * @package Controller
18
 * @subpackage Jobs
19
 */
20
abstract class Base
21
	extends \Aimeos\Controller\Jobs\Base
22
	implements \Aimeos\Controller\Jobs\Common\Decorator\Iface
23
{
24
	private $controller;
25
26
27
	/**
28
	 * Initializes a new controller decorator object.
29
	 *
30
	 * @param \Aimeos\Controller\Jobs\Iface $controller Controller object
31
	 * @param \Aimeos\MShop\Context\Item\Iface $context Context object with required objects
32
	 * @param \Aimeos\Bootstrap $aimeos \Aimeos\Bootstrap object
33
	 */
34
	public function __construct( \Aimeos\Controller\Jobs\Iface $controller,
35
		\Aimeos\MShop\Context\Item\Iface $context, \Aimeos\Bootstrap $aimeos )
36
	{
37
		parent::__construct( $context, $aimeos );
38
39
		$this->controller = $controller;
40
	}
41
42
43
	/**
44
	 * Passes unknown methods to wrapped objects.
45
	 *
46
	 * @param string $name Name of the method
47
	 * @param array $param List of method parameter
48
	 * @return mixed Returns the value of the called method
49
	 * @throws \Aimeos\Controller\Jobs\Exception If method call failed
50
	 */
51
	public function __call( string $name, array $param )
52
	{
53
		return call_user_func_array( array( $this->controller, $name ), $param );
54
	}
55
56
57
	/**
58
	 * Returns the localized name of the job.
59
	 *
60
	 * @return string Name of the job
61
	 */
62
	public function getName() : string
63
	{
64
		return $this->controller->getName();
65
	}
66
67
68
	/**
69
	 * Returns the localized description of the job.
70
	 *
71
	 * @return string Description of the job
72
	 */
73
	public function getDescription() : string
74
	{
75
		return $this->controller->getDescription();
76
	}
77
78
79
	/**
80
	 * Executes the job.
81
	 *
82
	 * @throws \Aimeos\Controller\Jobs\Exception If an error occurs
83
	 */
84
	public function run()
85
	{
86
		$this->controller->run();
87
	}
88
89
90
	/**
91
	 * Returns the job controller
92
	 *
93
	 * @return \Aimeos\Controller\Jobs\Iface Job controller object
94
	 */
95
	protected function getController() : \Aimeos\Controller\Jobs\Iface
96
	{
97
		return $this->controller;
98
	}
99
}
100