Widget   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 0
dl 0
loc 59
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getType() 0 4 1
A guessType() 0 6 1
A setCurrentView() 0 6 1
A getCurrentView() 0 4 2
1
<?php
2
3
namespace Victoire\Bundle\WidgetBundle\Model;
4
5
/**
6
 * Widget Model.
7
 */
8
abstract class Widget
0 ignored issues
show
introduced by
Abstract class name is not prefixed with "Abstract"
Loading history...
9
{
10
    const MODE_ENTITY = 'entity';
11
    const MODE_QUERY = 'query';
12
    const MODE_STATIC = 'static';
13
    const MODE_BUSINESS_ENTITY = 'businessEntity';
14
15
    /**
16
     * This property is not persisted, we use it to remember the view where the widget
17
     * is actually rendered.
18
     */
19
    protected $currentView;
20
21
    /**
22
     * Get the type of the object.
23
     *
24
     * @return string The type
25
     */
26
    public function getType()
27
    {
28
        return $this->guessType();
29
    }
30
31
    /**
32
     * Guess the type of this by exploding and getting the last item.
33
     *
34
     * @return string The guessed type
35
     */
36
    protected function guessType()
37
    {
38
        $type = explode('\\', get_class($this));
39
40
        return strtolower(preg_replace('/Widget/', '', end($type)));
41
    }
42
43
    /**
44
     * Set the current view.
45
     *
46
     * @param \Victoire\Bundle\CoreBundle\Entity\View $currentView
47
     *
48
     * @return \Victoire\Bundle\WidgetBundle\Entity\Widget
49
     */
50
    public function setCurrentView($currentView)
0 ignored issues
show
introduced by
Declare public methods first,then protected ones and finally private ones
Loading history...
51
    {
52
        $this->currentView = $currentView;
53
54
        return $this;
55
    }
56
57
    /**
58
     * Get the current view.
59
     *
60
     * @return \Victoire\Bundle\CoreBundle\Entity\View The current view
61
     */
62
    public function getCurrentView()
63
    {
64
        return $this->currentView ? $this->currentView : $this->getView();
65
    }
66
}
67