1 <?php
2
3 /* --------------------------------------------------------------
4 OrderObjectServiceInterface.php 2015-11-03 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 OrderObjectServiceInterface
15 *
16 * @category System
17 * @package Order
18 * @subpackage Interfaces
19 */
20 interface OrderObjectServiceInterface
21 {
22 /**
23 * Creates and returns an order item object.
24 *
25 * @param StringType $name Name of the order item object to be created.
26 *
27 * @return OrderItem New order item object.
28 */
29 public function createOrderItemObject(StringType $name);
30
31
32 /**
33 * Creates and returns an order item attribute object.
34 *
35 * @param StringType $name Name of the order item object attribute to be created.
36 * @param StringType $value Value of the order item object attribute to be created.
37 *
38 * @return OrderItemAttribute New order item attribute object.
39 */
40 public function createOrderItemAttributeObject(StringType $name, StringType $value);
41
42
43 /**
44 * Creates and returns an order item property object.
45 *
46 * @param StringType $name Name of the order item object property to be created.
47 * @param StringType $value Value of the order item object property to be created.
48 *
49 * @return OrderItemProperty New order item property object.
50 */
51 public function createOrderItemPropertyObject(StringType $name, StringType $value);
52
53
54 /**
55 * Creates and returns an order total object.
56 *
57 * @param StringType $title Title of the order total to be created.
58 * @param DecimalType $value value of the order total to be created.
59 * @param StringType $valueText Value text of the order total to be created.
60 * @param StringType $class Class of the order total to be created.
61 * @param IntType $sortOrder Sort order of the order total to be created.
62 *
63 * @return OrderTotal New order total object.
64 */
65 public function createOrderTotalObject(StringType $title,
66 DecimalType $value,
67 StringType $valueText = null,
68 StringType $class = null,
69 IntType $sortOrder = null);
70
71
72 /**
73 * Creates and returns a stored order item object.
74 *
75 * @param IdType $orderItemId Order item ID of the order item to be stored.
76 *
77 * @return StoredOrderItem New stored order item object.
78 */
79 public function createStoredOrderItemObject(IdType $orderItemId);
80
81
82 /**
83 * Creates and returns a stored order item attribute object.
84 *
85 * @param IdType $orderItemAttributeId Order item attribute ID of the order item attribute to be stored.
86 *
87 * @return StoredOrderItemAttribute New stored order item attribute object.
88 */
89 public function createStoredOrderItemAttributeObject(IdType $orderItemAttributeId);
90
91
92 /**
93 * Creates and returns a stored order item property object.
94 *
95 * @param IdType $orderItemPropertyId Order property ID of the order item property to be stored.
96 *
97 * @return StoredOrderItemProperty New stored order item property object.
98 */
99 public function createStoredOrderItemPropertyObject(IdType $orderItemPropertyId);
100
101
102 /**
103 * Creates and returns a stored order total object.
104 *
105 * @param IdType $orderTotalId Order total ID of the order total to be stored.
106 *
107 * @return StoredOrderTotal New stored order total object
108 */
109 public function createStoredOrderTotalObject(IdType $orderTotalId);
110 }