DateTimeRangeCriteria   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 7
lcom 1
cbo 0
dl 0
loc 67
ccs 17
cts 17
cp 1
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A getStartingDateTime() 0 4 1
A setStartingDateTime() 0 5 1
A getEndingDateTime() 0 4 1
A setEndingDateTime() 0 5 1
A shouldBeApplied() 0 5 2
1
<?php
2
declare(strict_types=1);
3
4
namespace KGzocha\Searcher\Criteria;
5
6
/**
7
 * Class DateTimeRangeFilterModel.
8
 */
9
class DateTimeRangeCriteria implements CriteriaInterface
10
{
11
    /**
12
     * @var \DateTime
13
     */
14
    private $startingDateTime;
15
16
    /**
17
     * @var \DateTime
18
     */
19
    private $endingDateTime;
20
21
    /**
22
     * @param \DateTime $startingDateTime
23
     * @param \DateTime $endingDateTime
24
     */
25 7
    public function __construct(
26
        \DateTime $startingDateTime = null,
27
        \DateTime $endingDateTime = null
28
    ) {
29 7
        $this->startingDateTime = $startingDateTime;
30 7
        $this->endingDateTime = $endingDateTime;
31 7
    }
32
33
    /**
34
     * @return \DateTime|null
35
     */
36 1
    public function getStartingDateTime()
37
    {
38 1
        return $this->startingDateTime;
39
    }
40
41
    /**
42
     * @param \DateTime|null $startingDateTime
43
     */
44 1
    public function setStartingDateTime(
45
        \DateTime $startingDateTime = null
46
    ) {
47 1
        $this->startingDateTime = $startingDateTime;
48 1
    }
49
50
    /**
51
     * @return \DateTime|null
52
     */
53 1
    public function getEndingDateTime()
54
    {
55 1
        return $this->endingDateTime;
56
    }
57
58
    /**
59
     * @param \DateTime|null $endingDateTime
60
     */
61 1
    public function setEndingDateTime(
62
        \DateTime $endingDateTime = null
63
    ) {
64 1
        $this->endingDateTime = $endingDateTime;
65 1
    }
66
67
    /**
68
     * {@inheritdoc}
69
     */
70 5
    public function shouldBeApplied(): bool
71
    {
72 5
        return $this->startingDateTime instanceof \DateTime
73 5
            || $this->endingDateTime instanceof \DateTime;
74
    }
75
}
76