1 <?php
2
3 /* --------------------------------------------------------------
4 OrderItemFactoryInterface.inc.php 2015-10-28 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 OrderItemFactoryInterface
15 *
16 * @category System
17 * @package Order
18 * @subpackage Interfaces
19 */
20 interface OrderItemFactoryInterface
21 {
22 /**
23 * Creates an OrderItem object.
24 *
25 * @param StringType $name Order item name.
26 *
27 * @return OrderItemInterface New OrderItem instance.
28 */
29 public function createOrderItem(StringType $name);
30
31
32 /**
33 * Creates a StoredOrderItem object.
34 *
35 * @param IdType $orderItemId ID of order item.
36 * @param OrderItemInterface $orderItem (optional) When provided the object values will be used for the
37 * generation of the StoredOrderItemInstance.
38 *
39 * @return StoredOrderItemInterface New StoredOrderItem instance
40 */
41 public function createStoredOrderItem(IdType $orderItemId, OrderItemInterface $orderItem = null);
42 }