1 <?php
2 /* --------------------------------------------------------------
3 CustomerCountryReaderInterface.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 CustomerCountryZoneReaderInterface
14 *
15 * @category System
16 * @package Customer
17 * @subpackage Interfaces
18 */
19 interface CustomerCountryZoneReaderInterface
20 {
21
22 /**
23 * Method to find a country zone with a given name if it exists else it will return null
24 *
25 * @param CustomerCountryZoneNameInterface $countryZoneName
26 *
27 * @return CustomerCountryZone|null
28 * @throws InvalidArgumentException if $p_countryZoneName is not a string
29 */
30 public function findByName(CustomerCountryZoneNameInterface $countryZoneName);
31
32
33 /**
34 * Method to find a country zone with a given ID if it exists else it will return null
35 *
36 * @param IdType $countryZoneId
37 *
38 * @return CustomerCountryZone|null
39 * @throws InvalidArgumentException if $p_countryZoneName is not a string
40 */
41 public function findById(IdType $countryZoneId);
42
43
44 /**
45 * Method to find a country zone with a given country ID if it exists else it will return an empty array
46 *
47 * @param IdType $countryId
48 *
49 * @return array of CustomerCountryZone objects|empty array
50 * @throws InvalidArgumentException
51 */
52 public function findCountryZonesByCountryId(IdType $countryId);
53 }