Completed
Pull Request — develop (#27)
by Chris
02:25
created

ParentChildParser   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 24
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 9 1
A supports() 0 4 1
A isRepeatable() 0 4 1
1
<?php
2
3
namespace Chrisyue\PhpM3u8\Parser;
4
5
use Chrisyue\PhpM3u8\Line\LineInterface;
6
use Chrisyue\PhpM3u8\Parser\ParsersInterface;
7
use Chrisyue\PhpM3u8\DataAccessor\DataAccessorInterface;
8
use Chrisyue\PhpM3u8\Parser\Strategy\StrategyInterface;
9
10
class ParentChildParser extends ParentParser implements ChildParserInterface
11
{
12
    private $repeatable;
13
14
    public function __construct(
15
        ParsersInterface $parsers,
16
        DataAccessorInterface $dataAccessor,
17
        StrategyInterface $strategy,
18
        $repeatable
19
    ) {
20
        $this->repeatable = $repeatable;
21
        parent::__construct($parsers, $dataAccessor, $strategy);
22
    }
23
24
    public function supports(LineInterface $line)
25
    {
26
        return null !== $this->getParsers()->getKeyForLine($line);
27
    }
28
29
    public function isRepeatable()
30
    {
31
        return $this->repeatable;
32
    }
33
}
34