Passed
Pull Request — 5.1 (#187)
by
unknown
02:40
created

ScalarReferencePropertyDescriptor   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 3
eloc 6
c 3
b 0
f 0
dl 0
loc 27
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getJsonSerializeCode() 0 3 1
A __construct() 0 9 1
A getReferencedPropertyDescriptor() 0 3 1
1
<?php
2
3
4
namespace TheCodingMachine\TDBM\Utils;
5
6
use Doctrine\DBAL\Schema\Column;
7
use Doctrine\DBAL\Schema\Table;
8
use TheCodingMachine\TDBM\Utils\Annotation\AnnotationParser;
9
10
/**
11
 * This class represents a reference to a AbstractBeanPropertyDescriptor
12
 */
13
class ScalarReferencePropertyDescriptor extends ScalarBeanPropertyDescriptor
14
{
15
    /** @var AbstractBeanPropertyDescriptor */
16
    private $referencedPropertyDescriptor;
17
18
    public function __construct(
19
        Table $table,
20
        Column $column,
21
        NamingStrategyInterface $namingStrategy,
22
        AnnotationParser $annotationParser,
23
        AbstractBeanPropertyDescriptor $referencedPropertyDescriptor
24
    ) {
25
        parent::__construct($table, $column, $namingStrategy, $annotationParser);
26
        $this->referencedPropertyDescriptor = $referencedPropertyDescriptor;
27
    }
28
29
    /**
30
     * @return AbstractBeanPropertyDescriptor
31
     */
32
    public function getReferencedPropertyDescriptor(): AbstractBeanPropertyDescriptor
33
    {
34
        return $this->referencedPropertyDescriptor;
35
    }
36
37
    public function getJsonSerializeCode(): string
38
    {
39
        return $this->referencedPropertyDescriptor->getJsonSerializeCode();
40
    }
41
}
42