1 <?php
2
3 /* --------------------------------------------------------------
4 CategoryReadServiceInterface.inc.php 2015-11-23 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 CategoryReadServiceInterface
15 *
16 * This interface defines methods for retrieving data of a particular category and a collection of specific categories.
17 *
18 * @category System
19 * @package Category
20 * @subpackage Interfaces
21 */
22 interface CategoryReadServiceInterface
23 {
24 /**
25 * Returns a StoredCategory object with the provided category ID.
26 *
27 * @param IdType $categoryId ID of the category.
28 *
29 * @return StoredCategoryInterface A StoredCategory object, depending on the provided category ID.
30 */
31 public function getCategoryById(IdType $categoryId);
32
33
34 /**
35 * Returns a CategoryListItemCollection.
36 *
37 * @param LanguageCode $languageCode The language code for the wanted language.
38 * @param IdType|null $parentId The parent ID of the categories.
39 * @param IdType|null $customerStatusLimit Customer status ID to decide the allowance.
40 *
41 * @return CategoryListItemCollection A Category list item collection.
42 */
43 public function getCategoryList(LanguageCode $languageCode,
44 IdType $parentId = null,
45 IdType $customerStatusLimit = null);
46
47
48 /**
49 * Returns an active CategoryListItemCollection of active categories.
50 *
51 * @param LanguageCode $languageCode The language code for the wanted language.
52 * @param IdType|null $parentId The parent ID of the categories.
53 * @param IdType|null $customerStatusLimit Customer status ID to decide the allowance.
54 *
55 * @return CategoryListItemCollection An CategoryListItemCollection of active categories.
56 */
57 public function getActiveCategoryList(LanguageCode $languageCode,
58 IdType $parentId = null,
59 IdType $customerStatusLimit = null);
60 }
61