FOSSology  4.4.0
Open Source License Compliance by Open Source Software
Reuser.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2018, 2021 Siemens AG
4 
5  SPDX-License-Identifier: GPL-2.0-only
6 */
11 namespace Fossology\UI\Api\Models;
12 
17 class Reuser
18 {
23  private $reuseUpload;
28  private $reuseGroup;
33  private $reuseMain;
38  private $reuseEnhanced;
43  private $reuseReport;
48  private $reuseCopyright;
49 
60  public function __construct($reuseUpload, $reuseGroup, $reuseMain = false,
61  $reuseEnhanced = false)
62  {
63  if (is_numeric($reuseUpload)) {
64  $this->reuseUpload = $reuseUpload;
65  $this->reuseGroup = $reuseGroup;
66  $this->reuseMain = $reuseMain;
67  $this->reuseEnhanced = $reuseEnhanced;
68  $this->reuseReport = false;
69  $this->reuseCopyright = false;
70  } else {
71  throw new \UnexpectedValueException(
72  "reuse_upload should be integer", 400);
73  }
74  }
75 
84  public function setUsingArray($reuserArray, $version = ApiVersion::V1)
85  {
86  if (array_key_exists(($version == ApiVersion::V2? "reuseUpload" : "reuse_upload"), $reuserArray)) {
87  $this->setReuseUpload($reuserArray[$version == ApiVersion::V2? "reuseUpload" : "reuse_upload"]);
88  }
89  if (array_key_exists(($version == ApiVersion::V2? "reuseGroup" : "reuse_group"), $reuserArray)) {
90  $this->reuseGroup = $reuserArray[$version == ApiVersion::V2? "reuseGroup" : "reuse_group"];
91  }
92  if (array_key_exists(($version == ApiVersion::V2? "reuseMain" : "reuse_main"), $reuserArray)) {
93  $this->setReuseMain($reuserArray[$version == ApiVersion::V2? "reuseMain" : "reuse_main"]);
94  }
95  if (array_key_exists(($version == ApiVersion::V2? "reuseEnhanced" : "reuse_enhanced"), $reuserArray)) {
96  $this->setReuseEnhanced($reuserArray[$version == ApiVersion::V2? "reuseEnhanced" : "reuse_enhanced"]);
97  }
98  if (array_key_exists(($version == ApiVersion::V2? "reuseReport" : "reuse_report"), $reuserArray)) {
99  $this->setReuseReport($reuserArray[$version == ApiVersion::V2? "reuseReport" : "reuse_report"]);
100  }
101  if (array_key_exists(($version == ApiVersion::V2? "reuseCopyright" : "reuse_copyright"), $reuserArray)) {
102  $this->setReuseCopyright($reuserArray[$version == ApiVersion::V2? "reuseCopyright" : "reuse_copyright"]);
103  }
104  if ($this->reuseUpload === null) {
105  throw new \UnexpectedValueException(
106  "reuse_upload should be integer", 400);
107  }
108  if ($this->reuseGroup === null) {
109  throw new \UnexpectedValueException(
110  "reuse_group should be a string", 400);
111  }
112  return $this;
113  }
114 
116 
119  public function getReuseUpload()
120  {
121  return $this->reuseUpload;
122  }
123 
127  public function getReuseGroup()
128  {
129  return $this->reuseGroup;
130  }
131 
135  public function getReuseMain()
136  {
137  return $this->reuseMain;
138  }
139 
143  public function getReuseEnhanced()
144  {
145  return $this->reuseEnhanced;
146  }
147 
151  public function getReuseReport()
152  {
153  return $this->reuseReport;
154  }
155 
159  public function getReuseCopyright()
160  {
161  return $this->reuseCopyright;
162  }
163 
165 
168  public function setReuseUpload($reuseUpload)
169  {
170  $this->reuseUpload = filter_var($reuseUpload,
171  FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
172  if ($this->reuseUpload === null) {
173  throw new \UnexpectedValueException("Reuse upload should be an integer!", 400);
174  }
175  }
176 
180  public function setReuseGroup($reuseGroup)
181  {
182  $this->reuseGroup = $reuseGroup;
183  if ($this->reuseGroup === null) {
184  throw new \UnexpectedValueException("Reuse group should be a string!", 400);
185  }
186  }
187 
191  public function setReuseMain($reuseMain)
192  {
193  $this->reuseMain = filter_var($reuseMain,
194  FILTER_VALIDATE_BOOLEAN);
195  }
196 
201  {
202  $this->reuseEnhanced = filter_var($reuseEnhanced,
203  FILTER_VALIDATE_BOOLEAN);
204  }
205 
209  public function setReuseReport($reuseReport)
210  {
211  $this->reuseReport = filter_var($reuseReport,
212  FILTER_VALIDATE_BOOLEAN);
213  }
214 
219  {
220  $this->reuseCopyright = filter_var($reuseCopyright,
221  FILTER_VALIDATE_BOOLEAN);
222  }
223 
228  public function getArray($version = ApiVersion::V1)
229  {
230  if ($version == ApiVersion::V2) {
231  return [
232  "reuseUpload" => $this->reuseUpload,
233  "reuseGroup" => $this->reuseGroup,
234  "reuseMain" => $this->reuseMain,
235  "reuseEnhanced" => $this->reuseEnhanced,
236  "reuseReport" => $this->reuseReport,
237  "reuseCopyright" => $this->reuseCopyright
238  ];
239  } else {
240  return [
241  "reuse_upload" => $this->reuseUpload,
242  "reuse_group" => $this->reuseGroup,
243  "reuse_main" => $this->reuseMain,
244  "reuse_enhanced" => $this->reuseEnhanced,
245  "reuse_report" => $this->reuseReport,
246  "reuse_copyright" => $this->reuseCopyright
247  ];
248  }
249  }
250 }
Model to hold info required by Reuser agent.
Definition: Reuser.php:18
setReuseReport($reuseReport)
Definition: Reuser.php:209
setReuseUpload($reuseUpload)
Definition: Reuser.php:168
__construct($reuseUpload, $reuseGroup, $reuseMain=false, $reuseEnhanced=false)
Definition: Reuser.php:60
setReuseCopyright($reuseCopyright)
Definition: Reuser.php:218
getArray($version=ApiVersion::V1)
Definition: Reuser.php:228
setUsingArray($reuserArray, $version=ApiVersion::V1)
Definition: Reuser.php:84
setReuseEnhanced($reuseEnhanced)
Definition: Reuser.php:200