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

ARBGetSubscriptionListResponse::set()   C

Complexity

Conditions 15
Paths 9

Size

Total Lines 46

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 240

Importance

Changes 0
Metric Value
dl 0
loc 46
ccs 0
cts 0
cp 0
rs 5.9166
c 0
b 0
f 0
cc 15
nc 9
nop 1
crap 240

How to fix   Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
namespace net\authorize\api\contract\v1;
4
5
/**
6
 * Class representing ARBGetSubscriptionListResponse
7
 */
8
class ARBGetSubscriptionListResponse extends ANetApiResponseType
9
{
10
11
    /**
12
     * @property integer $totalNumInResultSet
13
     */
14
    private $totalNumInResultSet = null;
15
16
    /**
17
     * @property \net\authorize\api\contract\v1\SubscriptionDetailType[]
18
     * $subscriptionDetails
19
     */
20
    private $subscriptionDetails = null;
21
22
    /**
23
     * Gets as totalNumInResultSet
24
     *
25
     * @return integer
26
     */
27
    public function getTotalNumInResultSet()
28
    {
29
        return $this->totalNumInResultSet;
30
    }
31
32
    /**
33
     * Sets a new totalNumInResultSet
34
     *
35
     * @param integer $totalNumInResultSet
36
     * @return self
37
     */
38 1
    public function setTotalNumInResultSet($totalNumInResultSet)
39
    {
40 1
        $this->totalNumInResultSet = $totalNumInResultSet;
41 1
        return $this;
42
    }
43
44
    /**
45
     * Adds as subscriptionDetail
46
     *
47
     * @return self
48
     * @param \net\authorize\api\contract\v1\SubscriptionDetailType $subscriptionDetail
49
     */
50
    public function addToSubscriptionDetails(\net\authorize\api\contract\v1\SubscriptionDetailType $subscriptionDetail)
51
    {
52
        $this->subscriptionDetails[] = $subscriptionDetail;
53
        return $this;
54
    }
55
56
    /**
57
     * isset subscriptionDetails
58
     *
59
     * @param scalar $index
60
     * @return boolean
61
     */
62
    public function issetSubscriptionDetails($index)
63
    {
64
        return isset($this->subscriptionDetails[$index]);
65
    }
66
67
    /**
68
     * unset subscriptionDetails
69
     *
70
     * @param scalar $index
71
     * @return void
72
     */
73
    public function unsetSubscriptionDetails($index)
74
    {
75
        unset($this->subscriptionDetails[$index]);
76
    }
77
78
    /**
79
     * Gets as subscriptionDetails
80
     *
81
     * @return \net\authorize\api\contract\v1\SubscriptionDetailType[]
82
     */
83
    public function getSubscriptionDetails()
84
    {
85
        return $this->subscriptionDetails;
86
    }
87
88
    /**
89
     * Sets a new subscriptionDetails
90
     *
91
     * @param \net\authorize\api\contract\v1\SubscriptionDetailType[]
92
     * $subscriptionDetails
93
     * @return self
94
     */
95
    public function setSubscriptionDetails(array $subscriptionDetails)
96
    {
97
        $this->subscriptionDetails = $subscriptionDetails;
98
        return $this;
99
    }
100
101
102
    // Json Set Code
103
    public function set($data)
104
    {
105
        if(is_array($data) || is_object($data)) {
106
			$mapper = \net\authorize\util\Mapper::Instance();
107
			foreach($data AS $key => $value) {
108
				$classDetails = $mapper->getClass(get_class() , $key);
109
	 
110
				if($classDetails !== NULL ) {
111
					if ($classDetails->isArray) {
112
						if ($classDetails->isCustomDefined) {
113
							foreach($value AS $keyChild => $valueChild) {
114
								$type = new $classDetails->className;
115
								$type->set($valueChild);
116
								$this->{'addTo' . $key}($type);
117
							}
118
						}
119
						else if ($classDetails->className === 'DateTime' || $classDetails->className === 'Date' ) {
120
							foreach($value AS $keyChild => $valueChild) {
121
								$type = new \DateTime($valueChild);
122
								$this->{'addTo' . $key}($type);
123
							}
124
						}
125
						else {
126
							foreach($value AS $keyChild => $valueChild) {
127
								$this->{'addTo' . $key}($valueChild);
128
							}
129
						}
130
					}
131
					else {
132
						if ($classDetails->isCustomDefined){
133
							$type = new $classDetails->className;
134
							$type->set($value);
135
							$this->{'set' . $key}($type);
136
						}
137
						else if ($classDetails->className === 'DateTime' || $classDetails->className === 'Date' ) {
138
							$type = new \DateTime($value);
139
							$this->{'set' . $key}($type);
140
						}
141
						else {
142
							$this->{'set' . $key}($value);
143
						}
144
					}
145
				}
146
			}
147
		}
148
    }
149
    
150
}
151
152