Passed
Push — master ( 8f5c19...94d09c )
by Aimeos
06:53
created

Base::context()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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