Completed
Push — master ( 8d10db...a4c05f )
by Łukasz
10s
created

AddressOrder::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 3
1
<?php
2
3
namespace Sylius\ShopApiPlugin\Command;
4
5
use Sylius\ShopApiPlugin\Model\Address;
6
7
final class AddressOrder
8
{
9
    /**
10
     * @var string
11
     */
12
    private $orderToken;
13
14
    /**
15
     * @var Address
16
     */
17
    private $address;
18
19
    /**
20
     * @var Address
21
     */
22
    private $billingAddress;
23
24
    /**
25
     * @param string $orderId
26
     * @param Address $shippingAddress
27
     * @param Address $billingAddress
28
     */
29
    private function __construct($orderId, Address $shippingAddress, Address $billingAddress)
30
    {
31
        $this->orderToken = $orderId;
32
        $this->address = $shippingAddress;
33
        $this->billingAddress = $billingAddress;
34
    }
35
36
    /**
37
     * @param string $orderToken
38
     * @param Address $shippingAddress
39
     * @param Address $billingAddress
40
     *
41
     * @return AddressOrder
42
     */
43
    public static function create($orderToken, Address $shippingAddress, Address $billingAddress)
44
    {
45
        return new AddressOrder(
46
            $orderToken,
47
            $shippingAddress,
48
            $billingAddress
49
        );
50
    }
51
52
    /**
53
     * @return string
54
     */
55
    public function orderToken()
56
    {
57
        return $this->orderToken;
58
    }
59
60
    /**
61
     * @return Address
62
     */
63
    public function shippingAddress()
64
    {
65
        return $this->address;
66
    }
67
68
    /**
69
     * @return Address
70
     */
71
    public function billingAddress()
72
    {
73
        return $this->billingAddress;
74
    }
75
}
76