ModuleOptions   A
last analyzed

Complexity

Total Complexity 11

Size/Duplication

Total Lines 118
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 2

Importance

Changes 0
Metric Value
wmc 11
lcom 2
cbo 2
dl 0
loc 118
rs 10
c 0
b 0
f 0

9 Methods

Rating   Name   Duplication   Size   Complexity  
A getInstructions() 0 7 2
A setInstructions() 0 5 1
A getInstructionSet() 0 4 1
A setInstructionSet() 0 5 1
A instructionsFromSet() 0 7 2
A getAjaxContainerXpath() 0 4 1
A setAjaxContainerXpath() 0 5 1
A getAjaxFragmentXpath() 0 4 1
A setAjaxFragmentXpath() 0 5 1
1
<?php
2
/**
3
 * Webino (http://webino.sk)
4
 *
5
 * @link        https://github.com/webino/WebinoDraw for the canonical source repository
6
 * @copyright   Copyright (c) 2012-2017 Webino, s. r. o. (http://webino.sk)
7
 * @author      Peter Bačinský <[email protected]>
8
 * @license     BSD-3-Clause
9
 */
10
11
namespace WebinoDraw\Options;
12
13
use WebinoDraw\Instructions\Instructions;
14
use WebinoDraw\Instructions\InstructionsInterface;
15
use Zend\Stdlib\AbstractOptions;
16
17
/**
18
 * Class ModuleOptions
19
 */
20
class ModuleOptions extends AbstractOptions
21
{
22
    /**
23
     * Application service name
24
     */
25
    const SERVICE = 'WebinoDrawOptions';
26
27
    /**
28
     * @var InstructionsInterface
29
     */
30
    protected $instructions;
31
32
    /**
33
     * @var array
34
     */
35
    protected $instructionSet = [];
36
37
    /**
38
     * @var string
39
     */
40
    protected $ajaxContainerXpath = '//body';
41
42
    /**
43
     * @var string
44
     */
45
    protected $ajaxFragmentXpath = '//*[contains(@class, "ajax-fragment") and @id]
46
                                    [not(.//*[contains(@class, "ajax-fragment")])]';
47
48
    /**
49
     * @return Instructions
50
     */
51
    public function getInstructions()
52
    {
53
        if (null === $this->instructions) {
54
            $this->setInstructions(new Instructions);
55
        }
56
        return $this->instructions;
57
    }
58
59
    /**
60
     * @param InstructionsInterface $instructions
61
     * @return self
62
     */
63
    public function setInstructions(InstructionsInterface $instructions)
64
    {
65
        $this->instructions = $instructions;
66
        return $this;
67
    }
68
69
    /**
70
     * @return array
71
     */
72
    public function getInstructionSet()
73
    {
74
        return $this->instructionSet;
75
    }
76
77
    /**
78
     * @param array $instructionSet
79
     * @return self
80
     */
81
    public function setInstructionSet(array $instructionSet)
82
    {
83
        $this->instructionSet = $instructionSet;
84
        return $this;
85
    }
86
87
    /**
88
     * Return instructions from set by key
89
     *
90
     * @param string $key
91
     * @return array
92
     */
93
    public function instructionsFromSet($key)
94
    {
95
        if (empty($this->instructionSet[$key])) {
96
            return [];
97
        }
98
        return $this->instructionSet[$key];
99
    }
100
101
    /**
102
     * @return string
103
     */
104
    public function getAjaxContainerXpath()
105
    {
106
        return $this->ajaxContainerXpath;
107
    }
108
109
    /**
110
     * @param string $ajaxContainerXpath
111
     * @return self
112
     */
113
    public function setAjaxContainerXpath($ajaxContainerXpath)
114
    {
115
        $this->ajaxContainerXpath = $ajaxContainerXpath;
116
        return $this;
117
    }
118
119
    /**
120
     * @return string
121
     */
122
    public function getAjaxFragmentXpath()
123
    {
124
        return $this->ajaxFragmentXpath;
125
    }
126
127
    /**
128
     *
129
     * @param string $ajaxFragmentXpath
130
     * @return self
131
     */
132
    public function setAjaxFragmentXpath($ajaxFragmentXpath)
133
    {
134
        $this->ajaxFragmentXpath = $ajaxFragmentXpath;
135
        return $this;
136
    }
137
}
138