Passed
Push — master ( 240c83...03f39b )
by Mathias
06:41
created

ImageSetOptions   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 101
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 8
eloc 17
dl 0
loc 101
ccs 18
cts 18
cp 1
rs 10
c 0
b 0
f 0

8 Methods

Rating   Name   Duplication   Size   Complexity  
A setFormElementName() 0 5 1
A getMetadataClass() 0 3 1
A setEntityClass() 0 5 1
A getImages() 0 3 1
A getEntityClass() 0 3 1
A getFormElementName() 0 3 1
A setImages() 0 5 1
A getMetadata() 0 3 1
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @license MIT
7
 * @copyright https://yawik.org/COPYRIGHT.php
8
 */
9
10
/** */
11
namespace Core\Options;
12
13
use Core\Entity\FileMetadataInterface;
14
use Core\Entity\Image;
15
use Core\Entity\ImageMetadata;
16
use Core\Entity\ImageSetInterface;
17
use Laminas\Stdlib\AbstractOptions;
18
19
/**
20
 * Options for configuring ImageSetHydrator instances.
21
 *
22
 * @author Mathias Gelhausen <[email protected]>
23
 * @since 0,29
24
 */
25
class ImageSetOptions extends AbstractOptions
26
{
27
28
    /**
29
     * Entity class for images.
30
     */
31
    protected string $entityClass = Image::class;
32
33
    protected string $metadataClass = ImageMetadata::class;
34
35
    /**
36
     * Name of the form element.
37
     */
38
    protected string $formElementName = ImageSetInterface::ORIGINAL;
39
40
    /**
41
     * Image specifications.
42
     */
43
    protected array $images = [
44
        ImageSetInterface::THUMBNAIL => [100,100],
45
    ];
46
47
    /**
48
     * @param string $entityClass
49
     *
50
     * @return self
51
     */
52
    public function setEntityClass(string $entityClass)
53
    {
54 1
        $this->entityClass = $entityClass;
55
56 1
        return $this;
57
    }
58 1
59
    /**
60
     * @return string
61
     */
62
    public function getEntityClass()
63
    {
64 2
        return $this->entityClass;
65
    }
66 2
67
    /**
68
     * @return string
69
     */
70
    public function getMetadataClass(): string
71
    {
72 1
        return $this->metadataClass;
73
    }
74 1
75
    public function getMetadata(): FileMetadataInterface
76 1
    {
77
        return new $this->metadataClass();
78
    }
79
80
    /**
81
     * @param string $formElementName
82
     *
83
     * @return self
84 1
     */
85
    public function setFormElementName($formElementName)
86 1
    {
87
        $this->formElementName = $formElementName;
88 1
89
        return $this;
90
    }
91
92
    /**
93
     * @return string
94 1
     */
95
    public function getFormElementName()
96 1
    {
97
        return $this->formElementName;
98
    }
99
100
    /**
101
     * Set image specifications.
102
     *
103
     * <pre>
104
     * [
105
     *      <imageKey> => [<maxWidth>,<maxHeight>],
106
     * ]
107
     * </pre>
108
     *
109
     * @param array $images
110
     *
111
     * @return self
112 1
     */
113
    public function setImages($images)
114 1
    {
115
        $this->images = $images;
116 1
117
        return $this;
118
    }
119
120
    /**
121
     * @return array
122 1
     */
123
    public function getImages()
124 1
    {
125
        return $this->images;
126
    }
127
}
128