1 <?php
2
3 /* --------------------------------------------------------------
4 CategoryFactoryInterface.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 /**
15 * Interface CategoryFactoryInterface
16 *
17 * This interface defines methods for creating Category and StoredCategory objects with its CategorySettings dependency.
18 *
19 * @category System
20 * @package Category
21 * @subpackage Interfaces
22 */
23 interface CategoryFactoryInterface
24 {
25 /**
26 * Creates and returns a new instance of a category object.
27 *
28 * @return Category
29 */
30 public function createCategory();
31
32
33 /**
34 * Creates and returns a new instance of a stored category object.
35 *
36 * @param IdType $categoryId Category ID.
37 *
38 * @return StoredCategory
39 */
40 public function createStoredCategory(IdType $categoryId);
41
42
43 /**
44 * Creates and returns a new instance of a category settings object.
45 *
46 * @return CategorySettings
47 */
48 public function createCategorySettings();
49 }