NormalizedValue   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 1
cbo 1
dl 0
loc 42
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A getVariantsWithOriginal() 0 7 1
A getOriginal() 0 4 1
1
<?php
2
3
namespace Ionut\Sylar;
4
5
6
class NormalizedValue
7
{
8
    /**
9
     * The original parameter value and the provenience of all the variants.
10
     *
11
     * @var string
12
     */
13
    protected $original;
14
15
    /**
16
     * Variants produced by each filter.
17
     *
18
     * @var NormalizedValueVariant[]
19
     */
20
    public $variants;
21
22
    /**
23
     * @param string $original
24
     * @param array  $variants
25
     */
26
    public function __construct($original, array $variants = [])
27
    {
28
        $this->original = $original;
29
        $this->variants = $variants;
30
    }
31
32
    public function getVariantsWithOriginal()
33
    {
34
        return array_merge(
35
            [new NormalizedValueVariant($this->original)],
36
            $this->variants
37
        );
38
    }
39
40
    /**
41
     * @return string
42
     */
43
    public function getOriginal()
44
    {
45
        return $this->original;
46
    }
47
}