1 <?php
2
3 /* --------------------------------------------------------------
4 OrderRepositoryInterface.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 OrderRepositoryInterface
15 *
16 * @category System
17 * @package Order
18 * @subpackage Interfaces
19 */
20 interface OrderRepositoryInterface
21 {
22 /**
23 * Creates a new order with no values in the database and returns it containing just the ID.
24 *
25 * @return OrderInterface Crated order.
26 */
27 public function createNew();
28
29
30 /**
31 * Saves an Order to the database.
32 *
33 * @param OrderInterface $order Stored order.
34 */
35 public function store(OrderInterface $order);
36
37
38 /**
39 * Returns an order by given ID.
40 *
41 * @param IdType $orderId Order ID.
42 *
43 * @return OrderInterface Fetched order.
44 */
45 public function getById(IdType $orderId);
46
47
48 /**
49 * Deletes an order by the ID.
50 *
51 * @param IdType $orderId Order ID.
52 *
53 * @return OrderRepositoryInterface Same instance for method chaining.
54 */
55 public function deleteById(IdType $orderId);
56 }