Passed
Push — master ( d8574a...8cadc1 )
by David
02:55
created

ImageMetadata   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Importance

Changes 4
Bugs 1 Features 0
Metric Value
wmc 12
eloc 24
c 4
b 1
f 0
dl 0
loc 56
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
C setSpecificAttribute() 0 28 12
1
<?php
2
3
namespace Vaites\ApacheTika\Metadata;
4
5
/**
6
 * Metadata class for images
7
 *
8
 * @author  David Martínez <[email protected]>
9
 */
10
class ImageMetadata extends Metadata
11
{
12
    /**
13
     * Image width in pixels
14
     *
15
     * @var int
16
     */
17
    public $width = 0;
18
19
    /**
20
     * Image height in pixels
21
     *
22
     * @var int
23
     */
24
    public $height = 0;
25
26
    /**
27
     * Lossy/Lossless.
28
     *
29
     * @var bool
30
     */
31
    public $lossless = true;
32
33
    /**
34
     * Sets an attribute
35
     *
36
     * @return \Vaites\ApacheTika\Metadata\MetadataInterface
37
     */
38
    protected function setSpecificAttribute(string $key, $value): MetadataInterface
39
    {
40
        switch(mb_strtolower($key))
41
        {
42
            case 'compression':
43
            case 'compression lossless':
44
                $this->lossless = ($value == 'true' || $value == 'Uncompressed');
45
                break;
46
47
            case 'height':
48
            case 'image height':
49
            case 'tiff:imageheigth':
50
            case 'tiff:imagelength':
51
                $this->height = (int) $value;
52
                break;
53
54
            case 'width':
55
            case 'image width':
56
            case 'tiff:imagewidth':
57
                $this->width = (int) $value;
58
                break;
59
60
            case 'x-tika:content':
61
                $this->content = $value;
62
                break;
63
        }
64
65
        return $this;
66
    }
67
}
68