1 <?php
2 /* --------------------------------------------------------------
3 CustomerReaderInterface.inc.php 2015-02-18 gm
4 Gambio GmbH
5 http://www.gambio.de
6 Copyright (c) 2015 Gambio GmbH
7 Released under the GNU General Public License (Version 2)
8 [http://www.gnu.org/licenses/gpl-2.0.html]
9 --------------------------------------------------------------
10 */
11
12 /**
13 * Interface CustomerReaderInterface
14 *
15 * @category System
16 * @package Customer
17 * @subpackage Interfaces
18 */
19 interface CustomerReaderInterface
20 {
21 /**
22 * Finds a customer by the given ID.
23 *
24 * @param IdType $id Customer's ID.
25 *
26 * @return Customer|null Customer or null if not found.
27 */
28 public function findById(IdType $id);
29
30
31 /**
32 * Finds a registree by email address.
33 *
34 * @param CustomerEmailInterface $email Customer's E-Mail address.
35 *
36 * @return Customer|null Customer or null if not found.
37 */
38 public function findRegistreeByEmail(CustomerEmailInterface $email);
39
40
41 /**
42 * Finds a guest by email address.
43 *
44 * @param CustomerEmailInterface $email Customer's E-Mail address.
45 *
46 * @return Customer|null Customer or null if not found.
47 */
48 public function findGuestByEmail(CustomerEmailInterface $email);
49
50 }