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

EdgesBuilder::associationKey()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
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