Passed
Pull Request — master (#171)
by Zaahid
06:32 queued 03:18
created

AbstractParser::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 8
ccs 4
cts 4
cp 1
rs 10
cc 1
nc 1
nop 3
crap 1
1
<?php
2
/**
3
 * This file is part of the ZBateson\MailMimeParser project.
4
 *
5
 * @license http://opensource.org/licenses/bsd-license.php BSD
6
 */
7
namespace ZBateson\MailMimeParser\Parser;
8
9
use ZBateson\MailMimeParser\Parser\Proxy\ParserPartProxyFactory;
10
11
/**
12
 * Provides basic implementations for:
13
 * - IParser::setParserManager
14
 * - IParser::getParserMessageProxyFactory (returns $this->parserMessageProxyFactory
15
 *   which can be set via the default constructor)
16
 * - IParser::getParserPartProxyFactory (returns $this->parserPartProxyFactory
17
 *   which can be set via the default constructor)
18
 *
19
 * @author Zaahid Bateson
20
 */
21
abstract class AbstractParser implements IParser
22
{
23
    /**
24
     * @var ParserPartProxyFactory the parser's message proxy factory service
25
     *      responsible for creating an IMessage part wrapped in a
26
     *      ParserPartProxy.
27
     */
28
    protected $parserMessageProxyFactory;
29
30
    /**
31
     * @var ParserPartProxyFactory the parser's part proxy factory service
32
     *      responsible for creating IMessagePart parts wrapped in a
33
     *      ParserPartProxy.
34
     */
35
    protected $parserPartProxyFactory;
36
37
    /**
38
     * @var PartBuilderFactory Service for creating PartBuilder objects for new
39
     *      children.
40
     */
41
    protected $partBuilderFactory;
42
43
    /**
44
     * @var ParserManager the ParserManager, which should call setParserManager
45
     *      when the parser is added.
46
     */
47
    protected $parserManager;
48
49 20
    public function __construct(
50
        ParserPartProxyFactory $parserMessageProxyFactory,
51
        ParserPartProxyFactory $parserPartProxyFactory,
52
        PartBuilderFactory $partBuilderFactory
53
    ) {
54 20
        $this->parserMessageProxyFactory = $parserMessageProxyFactory;
55 20
        $this->parserPartProxyFactory = $parserPartProxyFactory;
56 20
        $this->partBuilderFactory = $partBuilderFactory;
57 20
    }
58
59 20
    public function setParserManager(ParserManager $pm)
60
    {
61 20
        $this->parserManager = $pm;
62 20
    }
63
64 106
    public function getParserMessageProxyFactory()
65
    {
66 106
        return $this->parserMessageProxyFactory;
67
    }
68
69 75
    public function getParserPartProxyFactory()
70
    {
71 75
        return $this->parserPartProxyFactory;
72
    }
73
}
74