Completed
Pull Request — master (#396)
by Kristof
04:45
created

getRepository()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
3
namespace CultuurNet\UDB3\SavedSearches;
4
5
use CultuurNet\UDB3\SavedSearches\ReadModel\SavedSearchRepositoryInterface;
6
use CultuurNet\UDB3\ValueObject\SapiVersion;
7
8
class SavedSearchReadRepositoryCollection
9
{
10
    /**
11
     * @var SavedSearchRepositoryInterface
12
     */
13
    private $savedSearchRepositories;
14
15
    /**
16
     * @param SapiVersion $sapiVersion
17
     * @param SavedSearchRepositoryInterface $savedSearchRepository
18
     * @return SavedSearchReadRepositoryCollection
19
     */
20
    public function withRepository(
21
        SapiVersion $sapiVersion,
22
        SavedSearchRepositoryInterface $savedSearchRepository
23
    ): SavedSearchReadRepositoryCollection {
24
        $c = clone $this;
25
        $c->savedSearchRepositories[$sapiVersion->toNative()] = $savedSearchRepository;
26
        return $c;
27
    }
28
29
    /**
30
     * @param SapiVersion $sapiVersion
31
     * @return SavedSearchRepositoryInterface|null
32
     */
33
    public function getRepository(SapiVersion $sapiVersion): ?SavedSearchRepositoryInterface
34
    {
35
        if (!isset($this->savedSearchRepositories[$sapiVersion->toNative()])) {
36
            return null;
37
        }
38
39
        return $this->savedSearchRepositories[$sapiVersion->toNative()];
40
    }
41
}
42