1 <?php
2
3 namespace PayPal\Api;
4
5 use PayPal\Common\PayPalModel;
6
7 /**
8 * Class PlanList
9 *
10 * Resource representing a list of billing plans with basic information and get link.
11 *
12 * @package PayPal\Api
13 *
14 * @property \PayPal\Api\Plan[] plans
15 * @property string total_items
16 * @property string total_pages
17 * @property \PayPal\Api\Links[] links
18 */
19 class PlanList extends PayPalModel
20 {
21 /**
22 * Array of billing plans.
23 *
24 * @param \PayPal\Api\Plan[] $plans
25 *
26 * @return $this
27 */
28 public function setPlans($plans)
29 {
30 $this->plans = $plans;
31 return $this;
32 }
33
34 /**
35 * Array of billing plans.
36 *
37 * @return \PayPal\Api\Plan[]
38 */
39 public function getPlans()
40 {
41 return $this->plans;
42 }
43
44 /**
45 * Append Plans to the list.
46 *
47 * @param \PayPal\Api\Plan $plan
48 * @return $this
49 */
50 public function addPlan($plan)
51 {
52 if (!$this->getPlans()) {
53 return $this->setPlans(array($plan));
54 } else {
55 return $this->setPlans(
56 array_merge($this->getPlans(), array($plan))
57 );
58 }
59 }
60
61 /**
62 * Remove Plans from the list.
63 *
64 * @param \PayPal\Api\Plan $plan
65 * @return $this
66 */
67 public function removePlan($plan)
68 {
69 return $this->setPlans(
70 array_diff($this->getPlans(), array($plan))
71 );
72 }
73
74 /**
75 * Total number of items.
76 *
77 * @param string $total_items
78 *
79 * @return $this
80 */
81 public function setTotalItems($total_items)
82 {
83 $this->total_items = $total_items;
84 return $this;
85 }
86
87 /**
88 * Total number of items.
89 *
90 * @return string
91 */
92 public function getTotalItems()
93 {
94 return $this->total_items;
95 }
96
97 /**
98 * Total number of pages.
99 *
100 * @param string $total_pages
101 *
102 * @return $this
103 */
104 public function setTotalPages($total_pages)
105 {
106 $this->total_pages = $total_pages;
107 return $this;
108 }
109
110 /**
111 * Total number of pages.
112 *
113 * @return string
114 */
115 public function getTotalPages()
116 {
117 return $this->total_pages;
118 }
119
120 /**
121 * Sets Links
122 *
123 * @param \PayPal\Api\Links[] $links
124 *
125 * @return $this
126 */
127 public function setLinks($links)
128 {
129 $this->links = $links;
130 return $this;
131 }
132
133 /**
134 * Gets Links
135 *
136 * @return \PayPal\Api\Links[]
137 */
138 public function getLinks()
139 {
140 return $this->links;
141 }
142
143 /**
144 * Append Links to the list.
145 *
146 * @param \PayPal\Api\Links $links
147 * @return $this
148 */
149 public function addLink($links)
150 {
151 if (!$this->getLinks()) {
152 return $this->setLinks(array($links));
153 } else {
154 return $this->setLinks(
155 array_merge($this->getLinks(), array($links))
156 );
157 }
158 }
159
160 /**
161 * Remove Links from the list.
162 *
163 * @param \PayPal\Api\Links $links
164 * @return $this
165 */
166 public function removeLink($links)
167 {
168 return $this->setLinks(
169 array_diff($this->getLinks(), array($links))
170 );
171 }
172
173 }
174