LabelFilter   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getEntity() 0 4 1
A parseResponse() 0 10 2
1
<?php
2
3
namespace MusicBrainz\Filters;
4
5
use MusicBrainz\Label;
6
use MusicBrainz\MusicBrainz;
7
8
/**
9
 * This is the label filter and it contains
10
 * an array of valid argument types to be used
11
 * when querying the MusicBrainz web service.
12
 */
13
class LabelFilter extends AbstractFilter implements FilterInterface
14
{
15
    /**
16
     * @var array
17
     */
18
    protected $validArgTypes = array(
19
        'aliaas',
20
        'begin',
21
        'code',
22
        'comment',
23
        'country',
24
        'end',
25
        'ended',
26
        'ipi',
27
        'label',
28
        'labelaccent',
29
        'laid',
30
        'sortname',
31
        'tag',
32
        'type'
33
    );
34
35
    /**
36
     * @return string
37
     */
38
    public function getEntity()
39
    {
40
        return 'label';
41
    }
42
43
    /**
44
     * @param array       $response
45
     * @param MusicBrainz $brainz
46
     *
47
     * @return Label[]
48
     */
49
    public function parseResponse(array $response, MusicBrainz $brainz)
50
    {
51
        $labels = array();
52
53
        foreach ($response['labels'] as $label) {
54
            $labels[] = new Label($label, $brainz);
55
        }
56
57
        return $labels;
58
    }
59
}
60