Passed
Branch master (0b4ab1)
by Esteban De La Fuente
74:02 queued 50:02
created

SignatureComponent   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Test Coverage

Coverage 58.33%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
c 1
b 0
f 0
dl 0
loc 55
ccs 7
cts 12
cp 0.5833
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A getWorkers() 0 5 1
A getValidatorWorker() 0 3 1
A getGeneratorWorker() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * Derafu: Biblioteca PHP (Núcleo).
7
 * Copyright (C) Derafu <https://www.derafu.org>
8
 *
9
 * Este programa es software libre: usted puede redistribuirlo y/o modificarlo
10
 * bajo los términos de la Licencia Pública General Affero de GNU publicada por
11
 * la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o
12
 * (a su elección) cualquier versión posterior de la misma.
13
 *
14
 * Este programa se distribuye con la esperanza de que sea útil, pero SIN
15
 * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
16
 * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la Licencia Pública
17
 * General Affero de GNU para obtener una información más detallada.
18
 *
19
 * Debería haber recibido una copia de la Licencia Pública General Affero de GNU
20
 * junto a este programa.
21
 *
22
 * En caso contrario, consulte <http://www.gnu.org/licenses/agpl.html>.
23
 */
24
25
namespace Derafu\Lib\Core\Package\Prime\Component\Signature;
26
27
use Derafu\Lib\Core\Foundation\Abstract\AbstractComponent;
28
use Derafu\Lib\Core\Package\Prime\Component\Signature\Contract\GeneratorWorkerInterface;
29
use Derafu\Lib\Core\Package\Prime\Component\Signature\Contract\SignatureComponentInterface;
30
use Derafu\Lib\Core\Package\Prime\Component\Signature\Contract\ValidatorWorkerInterface;
31
32
/**
33
 * Servicio de firma electrónica.
34
 */
35
class SignatureComponent extends AbstractComponent implements SignatureComponentInterface
36
{
37
    /**
38
     * Generador de firmas electrónicas.
39
     *
40
     * @var GeneratorWorkerInterface
41
     */
42
    private GeneratorWorkerInterface $generator;
43
44
    /**
45
     * Validador de firmas electrónicas.
46
     *
47
     * @var ValidatorWorkerInterface
48
     */
49
    private ValidatorWorkerInterface $validator;
50
51
    /**
52
     * Constructor del servicio de firma electrónica.
53
     *
54
     * @param GeneratorWorkerInterface $generator
55
     * @param ValidatorWorkerInterface $validator
56
     */
57 6
    public function __construct(
58
        GeneratorWorkerInterface $generator,
59
        ValidatorWorkerInterface $validator
60
    ) {
61 6
        $this->generator = $generator;
62 6
        $this->validator = $validator;
63
    }
64
65
    /**
66
     * {@inheritdoc}
67
     */
68
    public function getWorkers(): array
69
    {
70
        return [
71
            'generator' => $this->generator,
72
            'validator' => $this->validator,
73
        ];
74
    }
75
76
    /**
77
     * {@inheritdoc}
78
     */
79 4
    public function getGeneratorWorker(): GeneratorWorkerInterface
80
    {
81 4
        return $this->generator;
82
    }
83
84
    /**
85
     * {@inheritdoc}
86
     */
87 5
    public function getValidatorWorker(): ValidatorWorkerInterface
88
    {
89 5
        return $this->validator;
90
    }
91
}
92