Completed
Push — develop ( e72854...0832ef )
by Daniel
06:46
created

RouteAwareTrait::setRegenerateRoute()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
ccs 0
cts 0
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Silverback\ApiComponentBundle\Entity\Route;
6
7
use Doctrine\Common\Collections\Collection;
8
use Doctrine\ORM\Mapping as ORM;
9
use Silverback\ApiComponentBundle\Entity\Content\AbstractContent;
10
use Symfony\Component\Serializer\Annotation\Groups;
11
12
trait RouteAwareTrait
13
{
14
    /**
15
     * @ORM\OneToMany(targetEntity="Silverback\ApiComponentBundle\Entity\Route\Route", mappedBy="content", cascade={"persist"})
16
     * @Groups({"default", "route_read"})
17
     * @var Collection|Route[]
18
     */
19
    protected $routes;
20
21
    /**
22
     * @var bool
23
     * @Groups({"default_write"})
24
     */
25
    private $regenerateRoute = false;
26
27
    /**
28
     * @param Route $route
29
     * @return RouteAwareInterface|RouteAwareTrait
30
     */
31
    public function addRoute(Route $route)
32
    {
33
        if ($this instanceof AbstractContent) {
34
            $route->setContent($this);
35
        }
36
        $this->routes->add($route);
37
        return $this;
38
    }
39
40
    /**
41
     * @param Route $route
42
     * @return RouteAwareInterface|RouteAwareTrait
43
     */
44
    public function removeRoute(Route $route)
45
    {
46
        $this->routes->removeElement($route);
47
        return $this;
48
    }
49
50
    /**
51
     * @return Collection|Route[]
52
     */
53
    public function getRoutes(): Collection
54
    {
55
        return $this->routes;
56
    }
57
58
    public function setRegenerateRoute(bool $regenerateRoute)
59
    {
60
        $this->regenerateRoute = $regenerateRoute;
61
        return $this;
62
    }
63
64
    public function getRegenerateRoute(): bool
65
    {
66
        return $this->regenerateRoute;
67
    }
68
}
69