Completed
Push — master ( fa0d52...fef7a6 )
by Arne
01:59
created

VaultConfiguration::setVaultAdapter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace Archivr;
4
5
class VaultConfiguration
6
{
7
    /**
8
     * An arbitrary user-defined title that helps to identity a vault by some user-specific information.
9
     *
10
     * @var string
11
     */
12
    protected $title;
13
14
    /**
15
     * Identifier for the vault adapter to use.
16
     *
17
     * @var string
18
     */
19
    protected $storageDriver;
20
21
    /**
22
     * Identifier for the lock adapter to use.
23
     *
24
     * @var string
25
     */
26
    protected $lockAdapter;
27
28
    /**
29
     * Map with additional storageDriver- or lockAdapter-specific settings.
30
     *
31
     * @var array
32
     */
33
    protected $settings;
34
35
    public function __construct(string $storageDriver, string $lockAdapter)
36
    {
37
        $this->storageDriver = $storageDriver;
38
        $this->lockAdapter = $lockAdapter;
39
40
        $this->setTitle($storageDriver);
41
    }
42
43
    public function getTitle(): string
44
    {
45
        return $this->title;
46
    }
47
48
    public function setTitle(string $title): VaultConfiguration
49
    {
50
        $this->title = $title;
51
52
        return $this;
53
    }
54
55
    public function getStorageDriver(): string
56
    {
57
        return $this->storageDriver;
58
    }
59
60
    public function setStorageDriver(string $storageDriver): VaultConfiguration
61
    {
62
        $this->storageDriver = $storageDriver;
63
64
        return $this;
65
    }
66
67
    public function getLockAdapter(): string
68
    {
69
        return $this->lockAdapter;
70
    }
71
72
    public function setLockAdapter(string $lockAdapter): VaultConfiguration
73
    {
74
        $this->lockAdapter = $lockAdapter;
75
76
        return $this;
77
    }
78
79
    public function getSettings(): array
80
    {
81
        return $this->settings;
82
    }
83
84
    public function getSetting(string $name)
85
    {
86
        return isset($this->settings[$name]) ? $this->settings[$name] : null;
87
    }
88
89
    public function setSettings(array $settings): VaultConfiguration
90
    {
91
        $this->settings = $settings;
92
93
        return $this;
94
    }
95
96
    public function setSetting(string $name, $value): VaultConfiguration
97
    {
98
        $this->settings[$name] = $value;
99
100
        return $this;
101
    }
102
}
103