Passed
Push — master ( 8b5ce5...b7fcc1 )
by Sebastian
12:08
created

CannedCountries::at()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 10
c 1
b 0
f 0
1
<?php
2
/**
3
 * @package Localization
4
 * @subpackage Countries
5
 */
6
7
declare(strict_types=1);
8
9
namespace AppLocalize\Localization\Countries;
10
11
use AppLocalize\Localization_Country_AT;
12
use AppLocalize\Localization_Country_CA;
13
use AppLocalize\Localization_Country_DE;
14
use AppLocalize\Localization_Country_ES;
15
use AppLocalize\Localization_Country_FR;
16
use AppLocalize\Localization_Country_IT;
17
use AppLocalize\Localization_Country_MX;
18
use AppLocalize\Localization_Country_PL;
19
use AppLocalize\Localization_Country_UK;
20
use AppLocalize\Localization_Country_US;
21
use AppUtils\ClassHelper;
22
23
/**
24
 * Canned list of known countries for easy access.
25
 *
26
 * Use {@see CountryCollection::choose()} to access this.
27
 *
28
 * @package Localization
29
 * @subpackage Countries
30
 */
31
class CannedCountries
32
{
33
    private CountryCollection $collection;
34
35
    public function __construct()
36
    {
37
        $this->collection = CountryCollection::getInstance();
38
    }
39
40
    public function de() : Localization_Country_DE
41
    {
42
        return ClassHelper::requireObjectInstanceOf(
43
            Localization_Country_DE::class,
44
            $this->collection->getByID(Localization_Country_DE::ISO_CODE)
45
        );
46
    }
47
48
    public function us() : Localization_Country_US
49
    {
50
        return ClassHelper::requireObjectInstanceOf(
51
            Localization_Country_US::class,
52
            $this->collection->getByID(Localization_Country_US::ISO_CODE)
53
        );
54
    }
55
56
    public function ca() : Localization_Country_CA
57
    {
58
        return ClassHelper::requireObjectInstanceOf(
59
            Localization_Country_CA::class,
60
            $this->collection->getByID(Localization_Country_CA::ISO_CODE)
61
        );
62
    }
63
64
    public function es() : Localization_Country_ES
65
    {
66
        return ClassHelper::requireObjectInstanceOf(
67
            Localization_Country_ES::class,
68
            $this->collection->getByID(Localization_Country_ES::ISO_CODE)
69
        );
70
    }
71
72
    public function fr() : Localization_Country_FR
73
    {
74
        return ClassHelper::requireObjectInstanceOf(
75
            Localization_Country_FR::class,
76
            $this->collection->getByID(Localization_Country_FR::ISO_CODE)
77
        );
78
    }
79
80
    public function it() : Localization_Country_IT
81
    {
82
        return ClassHelper::requireObjectInstanceOf(
83
            Localization_Country_IT::class,
84
            $this->collection->getByID(Localization_Country_IT::ISO_CODE)
85
        );
86
    }
87
88
    public function uk() : Localization_Country_UK
89
    {
90
        return ClassHelper::requireObjectInstanceOf(
91
            Localization_Country_UK::class,
92
            $this->collection->getByID(Localization_Country_UK::ISO_CODE)
93
        );
94
    }
95
96
    public function mx() : Localization_Country_MX
97
    {
98
        return ClassHelper::requireObjectInstanceOf(
99
            Localization_Country_MX::class,
100
            $this->collection->getByID(Localization_Country_MX::ISO_CODE)
101
        );
102
    }
103
104
    public function at() : Localization_Country_AT
105
    {
106
        return ClassHelper::requireObjectInstanceOf(
107
            Localization_Country_AT::class,
108
            $this->collection->getByID(Localization_Country_AT::ISO_CODE)
109
        );
110
    }
111
112
    public function pl() : Localization_Country_PL
113
    {
114
        return ClassHelper::requireObjectInstanceOf(
115
            Localization_Country_PL::class,
116
            $this->collection->getByID(Localization_Country_PL::ISO_CODE)
117
        );
118
    }
119
}
120