Passed
Pull Request — master (#190)
by
unknown
02:48
created

PackageServiceOptions::getDeliveryConfirmation()   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
dl 0
loc 4
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Ups\Entity;
4
5
use DOMDocument;
6
use DOMElement;
7
use Ups\NodeInterface;
8
9
/**
10
 * Class PackageServiceOptions
11
 * @package Ups\Entity
12
 */
13
class PackageServiceOptions implements NodeInterface
14
{
15
    /**
16
     * @var COD
17
     */
18
    private $cod;
19
20
    /**
21
     * @var InsuredValue
22
     */
23
    private $insuredValue;
24
25
    /**
26
     * @var string
27
     */
28
    private $earliestDeliveryTime;
29
30
    /**
31
     * @var HazMat[]
32
     */
33
    private $hazMat = [];
34
35
    /**
36
     * @var HazMatPackageInformation
37
     */
38
    private $hazMatPackageInformation;
39
40
    /**
41
     * @var string
42
     */
43
    private $holdForPickup;
44
45
    /**
46
     * @var DeliveryConfirmation
47
     */
48
    private $deliveryConfirmation;
49
50
    /**
51
     * @param null $parameters
52
     */
53 2
    public function __construct($parameters = null)
54
    {
55 2
        if (null !== $parameters) {
56
            if (isset($parameters->COD)) {
57
                $this->setCOD(new COD($parameters->COD));
58
            }
59
            if (isset($parameters->InsuredValue)) {
60
                $this->setInsuredValue(new InsuredValue($parameters->InsuredValue));
61
            }
62
            if (isset($parameters->EarliestDeliveryTime)) {
63
                $this->setEarliestDeliveryTime($parameters->EarliestDeliveryTime);
64
            }
65
            if (isset($parameters->HoldForPickup)) {
66
                $this->setHoldForPickup($parameters->HoldForPickup);
67
            }
68
            if (isset($parameters->DeliveryConfirmation)) {
69
                $this->setDeliveryConfirmation($parameters->DeliveryConfirmation);
70
            }
71
        }
72 2
    }
73
74
    /**
75
     * @param null|DOMDocument $document
76
     *
77
     * @TODO: this seem to be awfully incomplete
78
     *
79
     * @return DOMElement
80
     */
81 2
    public function toNode(DOMDocument $document = null)
82
    {
83 2
        if (null === $document) {
84
            $document = new DOMDocument();
85
        }
86
87 2
        $node = $document->createElement('PackageServiceOptions');
88
89 2
        if ($this->getInsuredValue()) {
90
            $node->appendChild($this->getInsuredValue()->toNode($document));
91
        }
92 2
        foreach ($this->getHazMat() as $hazmat) {
93
            $node->appendChild($hazmat->toNode($document));
94 2
        }
95 2
        if ($this->getHazMatPackageInformation() !== null) {
96
            $node->appendChild($this->getHazMatPackageInformation()->toNode($document));
97
        }
98 2
        if (isset($this->deliveryConfirmation)) {
99
            $node->appendChild($this->deliveryConfirmation->toNode($document));
100
        }
101
102 2
        return $node;
103
    }
104
105
    /**
106
     * @return InsuredValue|null
107
     */
108 2
    public function getInsuredValue()
109
    {
110 2
        return $this->insuredValue;
111
    }
112
113
    /**
114
     * @param $var
115
     */
116
    public function setInsuredValue($var)
117
    {
118
        $this->insuredValue = $var;
119
    }
120
121
    /**
122
     * @return COD|null
123
     */
124
    public function getCOD()
125
    {
126
        return $this->cod;
127
    }
128
129
    /**
130
     * @param $var
131
     */
132
    public function setCOD($var)
133
    {
134
        $this->cod = $var;
135
    }
136
137
    /**
138
     * @return string|null
139
     */
140
    public function getEarliestDeliveryTime()
141
    {
142
        return $this->earliestDeliveryTime;
143
    }
144
145
    /**
146
     * @param $var
147
     */
148
    public function setEarliestDeliveryTime($var)
149
    {
150
        $this->earliestDeliveryTime = $var;
151
    }
152
153
    /**
154
     * @return HazMat[]
155
     */
156 2
    public function getHazMat()
157
    {
158 2
        return $this->hazMat;
159
    }
160
161
    /**
162
     * @param HazMat[] $hazMat
163
     */
164
    public function setHazMat(array $hazMat)
165
    {
166
        $this->hazMat = $hazMat;
167
    }
168
169
    /**
170
     * @param HazMat $hazmat
171
     */
172
    public function addHazMat(HazMat $hazmat)
173
    {
174
        $this->hazMat[] = $hazmat;
175
    }
176
177
    /**
178
     * @return string|null
179
     */
180
    public function getHoldForPickup()
181
    {
182
        return $this->holdForPickup;
183
    }
184
185
    /**
186
     * @param $var
187
     */
188
    public function setHoldForPickup($var)
189
    {
190
        $this->holdForPickup = $var;
191
    }
192
193
    /**
194
     * @return HazMatPackageInformation
195
     */
196 2
    public function getHazMatPackageInformation()
197
    {
198 2
        return $this->hazMatPackageInformation;
199
    }
200
201
    /**
202
     * @param HazMatPackageInformation $hazMatPackageInformation
203
     */
204
    public function setHazMatPackageInformation($hazMatPackageInformation)
205
    {
206
        $this->hazMatPackageInformation = $hazMatPackageInformation;
207
    }
208
209
    /**
210
     * @param DeliveryConfirmation $deliveryConfirmation
211
     * @return ShipmentServiceOptions
212
     */
213
    public function setDeliveryConfirmation(DeliveryConfirmation $deliveryConfirmation)
214
    {
215
        $this->deliveryConfirmation = $deliveryConfirmation;
216
        return $this;
217
    }
218
219
    /**
220
     * @return DeliveryConfirmation|null
221
     */
222
    public function getDeliveryConfirmation()
223
    {
224
        return $this->deliveryConfirmation;
225
    }
226
}
227