BracketToken   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 4
c 2
b 0
f 0
lcom 2
cbo 1
dl 0
loc 54
ccs 8
cts 8
cp 1
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A isOpen() 0 4 1
A isClose() 0 4 1
A sanitize() 0 4 1
A validate() 0 4 1
1
<?php
2
3
/**
4
 * BracketToken.php
5
 *
6
 * @date 28.03.2015 2:48:37
7
 * @copyright Sklyarov Alexey <[email protected]>
8
 */
9
10
namespace Sufir\Calc\Token;
11
12
/**
13
 * BracketToken
14
 *
15
 * Скобки
16
 *
17
 * @author Sklyarov Alexey <[email protected]>
18
 * @package Sufir\Calc\Token
19
 */
20
final class BracketToken extends AbstractToken
21
{
22
    const OPEN = '(';
23
    const CLOSE = ')';
24
25
    /**
26
     *
27
     * @var array
28
     */
29
    private static $allowedBrackets = array(
30
        BracketToken::OPEN => true,
31
        BracketToken::CLOSE => true
32
    );
33
34
    /**
35
     * Открывающая скобка?
36
     *
37
     * @return boolean
38
     */
39 19
    public function isOpen()
40
    {
41 19
        return ($this->value === BracketToken::OPEN);
42
    }
43
44
    /**
45
     * Закрывающая скобка?
46
     *
47
     * @return boolean
48
     */
49 19
    public function isClose()
50
    {
51 19
        return ($this->value === BracketToken::CLOSE);
52
    }
53
54
    /**
55
     *
56
     * @param string $value
57
     * @return string
58
     */
59 24
    protected function sanitize($value)
60
    {
61 24
        return $value;
62
    }
63
64
    /**
65
     *
66
     * @param string $value
67
     * @return boolean
68
     */
69 38
    public static function validate($value)
70
    {
71 38
        return isset(self::$allowedBrackets[$value]);
72
    }
73
}
74