Completed
Push — master ( d10f54...00ced4 )
by
unknown
05:32
created

AbstractPropertyDefinition::getModifiers()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
ccs 0
cts 0
cp 0
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php declare(strict_types = 1);
2
/**
3
 * Created by PhpStorm.
4
 * User: root
5
 * Date: 02.08.16
6
 * Time: 0:46.
7
 */
8
namespace samsonframework\container\definition;
9
10
use samsonframework\container\definition\reference\ReferenceInterface;
11
use samsonframework\container\definition\reference\UndefinedReference;
12
13
/**
14
 * Class AbstractPropertyDefinition
15
 *
16
 * @author Ruslan Molodyko <[email protected]>
17
 */
18
abstract class AbstractPropertyDefinition extends AbstractDefinition
19
{
20
    /** @var ReferenceInterface */
21
    protected $dependency;
22
23
    /** {@inheritdoc} */
24 23
    public function __construct(AbstractDefinition $parentDefinition = null)
25
    {
26 23
        parent::__construct($parentDefinition);
27
28
        // For each new dependency classes set undefined reference as dependency has not resolved yet
29
        // Undefined reference equivalent to null reference
30 23
        $this->dependency = new UndefinedReference();
31 23
    }
32
33
    /**
34
     * @param ReferenceInterface $dependency
35
     * @return AbstractPropertyDefinition
36
     */
37 4
    public function setDependency(ReferenceInterface $dependency): AbstractPropertyDefinition
38
    {
39 4
        $this->dependency = $dependency;
40
41 4
        return $this;
42
    }
43
44
    /**
45
     * @return ReferenceInterface
46
     */
47 16
    public function getDependency(): ReferenceInterface
48
    {
49 16
        return $this->dependency;
50
    }
51
}
52