Completed
Push — master ( 9ebe33 )
by Kaushik
28:24
created

CreateTransactionResponse   A

Complexity

Total Complexity 19

Size/Duplication

Total Lines 110
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 19
lcom 1
cbo 2
dl 0
loc 110
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getTransactionResponse() 0 4 1
A setTransactionResponse() 0 5 1
A getProfileResponse() 0 4 1
A setProfileResponse() 0 5 1
C set() 0 46 15
1
<?php
2
3
namespace net\authorize\api\contract\v1;
4
5
/**
6
 * Class representing CreateTransactionResponse
7
 */
8
class CreateTransactionResponse extends ANetApiResponseType
9
{
10
11
    /**
12
     * @property \net\authorize\api\contract\v1\TransactionResponseType
13
     * $transactionResponse
14
     */
15
    private $transactionResponse = null;
16
17
    /**
18
     * @property \net\authorize\api\contract\v1\CreateProfileResponseType
19
     * $profileResponse
20
     */
21
    private $profileResponse = null;
22
23
    /**
24
     * Gets as transactionResponse
25
     *
26
     * @return \net\authorize\api\contract\v1\TransactionResponseType
27
     */
28 1
    public function getTransactionResponse()
29
    {
30 1
        return $this->transactionResponse;
31
    }
32
33
    /**
34
     * Sets a new transactionResponse
35
     *
36
     * @param \net\authorize\api\contract\v1\TransactionResponseType
37
     * $transactionResponse
38
     * @return self
39
     */
40 3
    public function setTransactionResponse(\net\authorize\api\contract\v1\TransactionResponseType $transactionResponse)
41
    {
42 3
        $this->transactionResponse = $transactionResponse;
43 3
        return $this;
44
    }
45
46
    /**
47
     * Gets as profileResponse
48
     *
49
     * @return \net\authorize\api\contract\v1\CreateProfileResponseType
50
     */
51
    public function getProfileResponse()
52
    {
53
        return $this->profileResponse;
54
    }
55
56
    /**
57
     * Sets a new profileResponse
58
     *
59
     * @param \net\authorize\api\contract\v1\CreateProfileResponseType $profileResponse
60
     * @return self
61
     */
62
    public function setProfileResponse(\net\authorize\api\contract\v1\CreateProfileResponseType $profileResponse)
63
    {
64
        $this->profileResponse = $profileResponse;
65
        return $this;
66
    }
67
68
69
    // Json Set Code
70
    public function set($data)
71
    {
72
        if(is_array($data) || is_object($data)) {
73
			$mapper = \net\authorize\util\Mapper::Instance();
74
			foreach($data AS $key => $value) {
75
				$classDetails = $mapper->getClass(get_class() , $key);
76
	 
77
				if($classDetails !== NULL ) {
78
					if ($classDetails->isArray) {
79
						if ($classDetails->isCustomDefined) {
80
							foreach($value AS $keyChild => $valueChild) {
81
								$type = new $classDetails->className;
82
								$type->set($valueChild);
83
								$this->{'addTo' . $key}($type);
84
							}
85
						}
86
						else if ($classDetails->className === 'DateTime' || $classDetails->className === 'Date' ) {
87
							foreach($value AS $keyChild => $valueChild) {
88
								$type = new \DateTime($valueChild);
89
								$this->{'addTo' . $key}($type);
90
							}
91
						}
92
						else {
93
							foreach($value AS $keyChild => $valueChild) {
94
								$this->{'addTo' . $key}($valueChild);
95
							}
96
						}
97
					}
98
					else {
99
						if ($classDetails->isCustomDefined){
100
							$type = new $classDetails->className;
101
							$type->set($value);
102
							$this->{'set' . $key}($type);
103
						}
104
						else if ($classDetails->className === 'DateTime' || $classDetails->className === 'Date' ) {
105
							$type = new \DateTime($value);
106
							$this->{'set' . $key}($type);
107
						}
108
						else {
109
							$this->{'set' . $key}($value);
110
						}
111
					}
112
				}
113
			}
114
		}
115
    }
116
    
117
}
118
119