Completed
Push — symfony3 ( 405d0c...88ded0 )
by Kamil
32:03 queued 12:32
created

ShippingMethod::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
3
/*
4
 * This file is part of the Sylius package.
5
 *
6
 * (c) Paweł Jędrzejewski
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Sylius\Component\Core\Model;
13
14
use Doctrine\Common\Collections\ArrayCollection;
15
use Doctrine\Common\Collections\Collection;
16
use Sylius\Component\Addressing\Model\ZoneInterface;
17
use Sylius\Component\Channel\Model\ChannelInterface as BaseChannelInterface;
18
use Sylius\Component\Shipping\Model\ShippingMethod as BaseShippingMethod;
19
use Sylius\Component\Shipping\Model\ShippingMethodTranslation;
20
use Sylius\Component\Taxation\Model\TaxCategoryInterface;
21
22
/**
23
 * @author Paweł Jędrzejewski <[email protected]>
24
 * @author Gonzalo Vilaseca <[email protected]>
25
 */
26
class ShippingMethod extends BaseShippingMethod implements ShippingMethodInterface
27
{
28
    /**
29
     * @var ZoneInterface
30
     */
31
    protected $zone;
32
33
    /**
34
     * @var TaxCategoryInterface
35
     */
36
    protected $taxCategory;
37
38
    /**
39
     * @var Collection
40
     */
41
    private $channels;
42
43
    public function __construct()
44
    {
45
        parent::__construct();
46
47
        $this->channels = new ArrayCollection();
48
    }
49
50
    /**
51
     * {@inheritdoc}
52
     */
53
    public function getZone()
54
    {
55
        return $this->zone;
56
    }
57
58
    /**
59
     * {@inheritdoc}
60
     */
61
    public function setZone(ZoneInterface $zone)
62
    {
63
        $this->zone = $zone;
64
    }
65
66
    /**
67
     * {@inheritdoc}
68
     */
69
    public function getTaxCategory()
70
    {
71
        return $this->taxCategory;
72
    }
73
74
    /**
75
     * {@inheritdoc}
76
     */
77
    public function setTaxCategory(TaxCategoryInterface $category = null)
78
    {
79
        $this->taxCategory = $category;
80
    }
81
82
    /**
83
     * {@inheritdoc}
84
     */
85
    public function getChannels()
86
    {
87
        return $this->channels;
88
    }
89
90
    /**
91
     * {@inheritdoc}
92
     */
93
    public function hasChannel(BaseChannelInterface $channel)
94
    {
95
        return $this->channels->contains($channel);
96
    }
97
98
    /**
99
     * {@inheritdoc}
100
     */
101
    public function addChannel(BaseChannelInterface $channel)
102
    {
103
        if (!$this->hasChannel($channel)) {
104
            $this->channels->add($channel);
105
        }
106
    }
107
108
    /**
109
     * {@inheritdoc}
110
     */
111
    public function removeChannel(BaseChannelInterface $channel)
112
    {
113
        if ($this->hasChannel($channel)) {
114
            $this->channels->removeElement($channel);
115
        }
116
    }
117
118
    /**
119
     * {@inheritdoc}
120
     */
121
    public static function getTranslationClass()
0 ignored issues
show
Documentation introduced by
The return type could not be reliably inferred; please add a @return annotation.

Our type inference engine in quite powerful, but sometimes the code does not provide enough clues to go by. In these cases we request you to add a @return annotation as described here.

Loading history...
122
    {
123
        return ShippingMethodTranslation::class;
124
    }
125
}
126