ParserTtfItem   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 24
c 1
b 0
f 0
dl 0
loc 38
ccs 24
cts 24
cp 1
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getProperties() 0 24 1
A getEntity() 0 3 1
1
<?php
2
/**
3
 * This file is part of graze/unicontroller-client.
4
 *
5
 * Copyright (c) 2016 Nature Delivered Ltd. <https://www.graze.com>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 *
10
 * @license https://github.com/graze/unicontroller-client/blob/master/LICENSE.md
11
 * @link https://github.com/graze/unicontroller-client
12
 */
13
namespace Graze\UnicontrollerClient\Parser\Parser;
14
15
use Graze\UnicontrollerClient\Parser\Parser\AbstractParser;
16
use Graze\UnicontrollerClient\Parser\Parser\ParserInterface;
17
use Graze\UnicontrollerClient\Entity\Entity\EntityTtfItem;
18
19
class ParserTtfItem extends AbstractParser implements ParserInterface
20
{
21
    /**
22
     * @return []
0 ignored issues
show
Documentation Bug introduced by
The doc comment [] at position 0 could not be parsed: Unknown type name '[' at position 0 in [].
Loading history...
23
     */
24 2
    protected function getProperties()
25
    {
26
        return [
27 2
            'anchorPoint',
28 2
            'xPos',
29 2
            'yPos',
30 2
            'width',
31 2
            'height',
32 2
            'orion',
33 2
            'description',
34 2
            'fontName',
35 2
            'fontSize',
36 2
            'fontBold',
37 2
            'fontItalic',
38 2
            'fontUnderline',
39 2
            'inverted',
40 2
            'alignment',
41 2
            'data',
42 2
            'ftbMode',
43 2
            'lineSpacing',
44 2
            'removeBlank',
45 2
            'fontWidth',
46 2
            'charSpacing',
47
            'phantomField'
48 2
        ];
49
    }
50
51
    /**
52
     * @return EntityTtfItem
53
     */
54 2
    protected function getEntity()
55
    {
56 2
        return new EntityTtfItem();
0 ignored issues
show
Bug Best Practice introduced by
The expression return new Graze\Unicont...\Entity\EntityTtfItem() returns the type Graze\UnicontrollerClien...ty\Entity\EntityTtfItem which is incompatible with the return type mandated by Graze\UnicontrollerClien...ractParser::getEntity() of Graze\UnicontrollerClien...\Entity\EntityInterface.

In the issue above, the returned value is violating the contract defined by the mentioned interface.

Let's take a look at an example:

interface HasName {
    /** @return string */
    public function getName();
}

class Name {
    public $name;
}

class User implements HasName {
    /** @return string|Name */
    public function getName() {
        return new Name('foo'); // This is a violation of the ``HasName`` interface
                                // which only allows a string value to be returned.
    }
}
Loading history...
57
    }
58
}
59