1 <?php
2
3 /* --------------------------------------------------------------
4 OrderItemAttributeRepositoryFactoryInterface.inc.php 2015-10-27 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 OrderItemAttributeRepositoryFactoryInterface
15 *
16 * @category System
17 * @package Order
18 * @subpackage Interfaces
19 */
20 interface OrderItemAttributeRepositoryFactoryInterface
21 {
22 /**
23 * Creates an order item attribute repository by the given class name.
24 *
25 * @param string $className Name of the attribute class.
26 *
27 * @return OrderItemAttributeRepositoryInterface Order item attribute repository instance.
28 */
29 public function createRepositoryByAttributeClass($className);
30
31
32 /**
33 * Creates an order item attribute repository by the given object type.
34 *
35 * @param OrderItemAttributeInterface $itemAttribute Order item attribute.
36 *
37 * @return OrderItemAttributeRepositoryInterface Order item attribute repository instance.
38 */
39 public function createRepositoryByAttributeObject(OrderItemAttributeInterface $itemAttribute);
40
41
42 /**
43 * Creates an array which contain all repository of type OrderItemAttributeRepositoryInterface.
44 *
45 * @return OrderItemAttributeRepositoryInterface[]
46 */
47 public function createRepositoryArray();
48 }