1 <?php
2 /* --------------------------------------------------------------
3 UserConfigurationService.inc.php 2015-10-05 gm
4 Gambio GmbH
5 http://www.gambio.de
6 Copyright (c) 2015 Gambio GmbH
7 Released under the GNU General Public License (Version 2)
8 [http://www.gnu.org/licenses/gpl-2.0.html]
9 --------------------------------------------------------------
10 */
11
12 /**
13 * Class UserConfigurationService
14 *
15 * This class is used to persist user specific configurations
16 *
17 * @category System
18 * @package UserConfiguration
19 */
20 class UserConfigurationService implements UserConfigurationServiceInterface
21 {
22 protected $reader;
23 protected $writer;
24
25
26 /**
27 * Constructor
28 *
29 * @param UserConfigurationReader $reader
30 * @param UserConfigurationWriter $writer
31 */
32 public function __construct(UserConfigurationReader $reader, UserConfigurationWriter $writer)
33 {
34 $this->reader = $reader;
35 $this->writer = $writer;
36 }
37
38
39 /**
40 * @override
41 */
42 public function setUserConfiguration(IdType $userId, $configurationKey, $configurationValue)
43 {
44 return $this->writer->setUserConfiguration($userId, $configurationKey, $configurationValue);
45 }
46
47
48 /**
49 * @override
50 */
51 public function getUserConfiguration(IdType $userId, $configurationKey)
52 {
53 return $this->reader->getUserConfiguration($userId, $configurationKey);
54 }
55 }