Completed
Push — master ( 8e9c64...20353b )
by Florent
04:07
created

DecrypterFactory::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.4286
cc 1
eloc 6
nc 1
nop 3
1
<?php
2
3
/*
4
 * The MIT License (MIT)
5
 *
6
 * Copyright (c) 2014-2015 Spomky-Labs
7
 *
8
 * This software may be modified and distributed under the terms
9
 * of the MIT license.  See the LICENSE file for details.
10
 */
11
12
namespace SpomkyLabs\JoseBundle\Factory;
13
14
15
use Jose\Algorithm\JWAManagerInterface;
16
use Jose\Checker\CheckerManagerInterface;
17
use Jose\Compression\CompressionManagerInterface;
18
use Jose\Decrypter;
19
use Jose\Payload\PayloadConverterManagerInterface;
20
21
final class DecrypterFactory
22
{
23
    /**
24
     * @var \Jose\Payload\PayloadConverterManagerInterface
25
     */
26
    private $payload_converter;
27
28
    /**
29
     * @var \Jose\Compression\CompressionManagerInterface
30
     */
31
    private $compression_manager;
32
33
    /**
34
     * @var \Jose\Checker\CheckerManagerInterface
35
     */
36
    private $checker_manager;
37
38
    /**
39
     * DecrypterFactory constructor.
40
     *
41
     * @param \Jose\Payload\PayloadConverterManagerInterface $payload_converter
42
     * @param \Jose\Compression\CompressionManagerInterface  $compression_manager
43
     * @param \Jose\Checker\CheckerManagerInterface          $checker_manager
44
     */
45
    public function __construct(PayloadConverterManagerInterface $payload_converter,
46
                                CompressionManagerInterface $compression_manager,
47
                                CheckerManagerInterface $checker_manager)
48
    {
49
        $this->checker_manager = $checker_manager;
50
        $this->compression_manager = $compression_manager;
51
        $this->payload_converter = $payload_converter;
52
    }
53
54
    /**
55
     * @param \Jose\Algorithm\JWAManagerInterface $jwa_manager
56
     *
57
     * @return \Jose\Decrypter
58
     */
59
    public function createDecrypter(JWAManagerInterface $jwa_manager)
60
    {
61
        return new Decrypter($jwa_manager, $this->payload_converter, $this->compression_manager, $this->checker_manager);
62
    }
63
}
64