1 <?php
2
3 /* --------------------------------------------------------------
4 AddonValueContainerInterface.inc.php 2015-11-20 gm
5 Gambio GmbH
6 http://www.gambio.de
7 Copyright (c) 2015 Gambio GmbH
8 Released under the GNU General Public License (Version 2)
9 [http://www.gnu.org/licenses/gpl-2.0.html]
10 --------------------------------------------------------------
11 */
12
13 /**
14 * Interface AddonValueContainerInterface
15 *
16 * @category System
17 * @package AddonValue
18 * @subpackage Interfaces
19 */
20 interface AddonValueContainerInterface
21 {
22 /**
23 * Returns the addon value container ID.
24 *
25 * @return int Addon value container ID.
26 */
27 public function getAddonValueContainerId();
28
29
30 /**
31 * Returns a specific addon value by providing its key.
32 *
33 * @param StringType $key Addon key.
34 *
35 * @return string
36 */
37 public function getAddonValue(StringType $key);
38
39
40 /**
41 * Returns all the addon values as a KeyValueCollection.
42 *
43 * @return KeyValueCollection Addons key value collection.
44 */
45 public function getAddonValues();
46
47
48 /**
49 * Sets the value of a specific addon key.
50 *
51 * @param StringType $key The addon key to be processed.
52 * @param StringType $value The new value of the addon entry.
53 */
54 public function setAddonValue(StringType $key, StringType $value);
55
56
57 /**
58 * Merges the existing addon values with new ones.
59 *
60 * @param KeyValueCollection $addonValues Contains the new addon values to be merged with the existing ones.
61 */
62 public function addAddonValues(KeyValueCollection $addonValues);
63
64
65 /**
66 * Deletes a specific addon value entry by key.
67 *
68 * @param StringType $key Addon key.
69 */
70 public function deleteAddonValue(StringType $key);
71 }