GenericDisplayElement   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 6
c 1
b 0
f 0
dl 0
loc 26
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createDisplay() 0 3 1
A configureOptions() 0 7 1
A getRoute() 0 3 1
1
<?php
2
3
/**
4
 * (c) FSi sp. z o.o. <[email protected]>
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 */
9
10
declare(strict_types=1);
11
12
namespace FSi\Bundle\AdminBundle\Admin\Display;
13
14
use FSi\Bundle\AdminBundle\Admin\AbstractElement;
15
use FSi\Bundle\AdminBundle\Display\Display;
16
use Symfony\Component\OptionsResolver\OptionsResolver;
17
18
abstract class GenericDisplayElement extends AbstractElement implements Element
19
{
20
    public function getRoute(): string
21
    {
22
        return 'fsi_admin_display';
23
    }
24
25
    public function configureOptions(OptionsResolver $resolver): void
26
    {
27
        $resolver->setDefaults([
28
            'template' => null,
29
        ]);
30
31
        $resolver->setAllowedTypes('template', ['null', 'string']);
32
    }
33
34
    public function createDisplay($data): Display
35
    {
36
        return $this->initDisplay($data);
37
    }
38
39
    /**
40
     * @param object $data
41
     * @return Display
42
     */
43
    abstract protected function initDisplay($data): Display;
44
}
45