Passed
Push — master ( 1ba30a...8ac47c )
by Luis
01:05 queued 12s
created

EdgesBuilder   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 76
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 18
dl 0
loc 76
ccs 24
cts 24
cp 1
rs 10
c 1
b 0
f 0
wmc 10
1
<?php declare(strict_types=1);
2
/**
3
 * This source file is subject to the license that is bundled with this package in the file LICENSE.
4
 */
5
6
namespace PhUml\Graphviz\Builders;
7
8
use PhUml\Code\ClassDefinition;
9
use PhUml\Code\Codebase;
10
use PhUml\Graphviz\Edge;
11
12
/**
13
 * It discovers associations between classes/interfaces by inspecting
14
 *
15
 * 1. The properties of a class
16
 * 2. The parameters injected through the constructor of a class
17
 *
18
 * It creates edges between the definitions when appropriate
19
 */
20
interface EdgesBuilder
21
{
22
    /** @return Edge[]*/
23
    public function fromProperties(ClassDefinition $class, Codebase $codebase): array;
24
25
    /** @return Edge[] */
26
    public function fromConstructor(ClassDefinition $class, Codebase $codebase): array;
27
}
28