1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\DisplayVideo;
19
20class TargetingOption extends \Google\Model
21{
22  protected $ageRangeDetailsType = AgeRangeTargetingOptionDetails::class;
23  protected $ageRangeDetailsDataType = '';
24  protected $appCategoryDetailsType = AppCategoryTargetingOptionDetails::class;
25  protected $appCategoryDetailsDataType = '';
26  protected $audioContentTypeDetailsType = AudioContentTypeTargetingOptionDetails::class;
27  protected $audioContentTypeDetailsDataType = '';
28  protected $authorizedSellerStatusDetailsType = AuthorizedSellerStatusTargetingOptionDetails::class;
29  protected $authorizedSellerStatusDetailsDataType = '';
30  protected $browserDetailsType = BrowserTargetingOptionDetails::class;
31  protected $browserDetailsDataType = '';
32  protected $businessChainDetailsType = BusinessChainTargetingOptionDetails::class;
33  protected $businessChainDetailsDataType = '';
34  protected $carrierAndIspDetailsType = CarrierAndIspTargetingOptionDetails::class;
35  protected $carrierAndIspDetailsDataType = '';
36  protected $categoryDetailsType = CategoryTargetingOptionDetails::class;
37  protected $categoryDetailsDataType = '';
38  protected $contentDurationDetailsType = ContentDurationTargetingOptionDetails::class;
39  protected $contentDurationDetailsDataType = '';
40  protected $contentGenreDetailsType = ContentGenreTargetingOptionDetails::class;
41  protected $contentGenreDetailsDataType = '';
42  protected $contentInstreamPositionDetailsType = ContentInstreamPositionTargetingOptionDetails::class;
43  protected $contentInstreamPositionDetailsDataType = '';
44  protected $contentOutstreamPositionDetailsType = ContentOutstreamPositionTargetingOptionDetails::class;
45  protected $contentOutstreamPositionDetailsDataType = '';
46  protected $contentStreamTypeDetailsType = ContentStreamTypeTargetingOptionDetails::class;
47  protected $contentStreamTypeDetailsDataType = '';
48  protected $deviceMakeModelDetailsType = DeviceMakeModelTargetingOptionDetails::class;
49  protected $deviceMakeModelDetailsDataType = '';
50  protected $deviceTypeDetailsType = DeviceTypeTargetingOptionDetails::class;
51  protected $deviceTypeDetailsDataType = '';
52  protected $digitalContentLabelDetailsType = DigitalContentLabelTargetingOptionDetails::class;
53  protected $digitalContentLabelDetailsDataType = '';
54  protected $environmentDetailsType = EnvironmentTargetingOptionDetails::class;
55  protected $environmentDetailsDataType = '';
56  protected $exchangeDetailsType = ExchangeTargetingOptionDetails::class;
57  protected $exchangeDetailsDataType = '';
58  protected $genderDetailsType = GenderTargetingOptionDetails::class;
59  protected $genderDetailsDataType = '';
60  protected $geoRegionDetailsType = GeoRegionTargetingOptionDetails::class;
61  protected $geoRegionDetailsDataType = '';
62  protected $householdIncomeDetailsType = HouseholdIncomeTargetingOptionDetails::class;
63  protected $householdIncomeDetailsDataType = '';
64  protected $languageDetailsType = LanguageTargetingOptionDetails::class;
65  protected $languageDetailsDataType = '';
66  /**
67   * @var string
68   */
69  public $name;
70  protected $nativeContentPositionDetailsType = NativeContentPositionTargetingOptionDetails::class;
71  protected $nativeContentPositionDetailsDataType = '';
72  protected $omidDetailsType = OmidTargetingOptionDetails::class;
73  protected $omidDetailsDataType = '';
74  protected $onScreenPositionDetailsType = OnScreenPositionTargetingOptionDetails::class;
75  protected $onScreenPositionDetailsDataType = '';
76  protected $operatingSystemDetailsType = OperatingSystemTargetingOptionDetails::class;
77  protected $operatingSystemDetailsDataType = '';
78  protected $parentalStatusDetailsType = ParentalStatusTargetingOptionDetails::class;
79  protected $parentalStatusDetailsDataType = '';
80  protected $poiDetailsType = PoiTargetingOptionDetails::class;
81  protected $poiDetailsDataType = '';
82  protected $sensitiveCategoryDetailsType = SensitiveCategoryTargetingOptionDetails::class;
83  protected $sensitiveCategoryDetailsDataType = '';
84  protected $subExchangeDetailsType = SubExchangeTargetingOptionDetails::class;
85  protected $subExchangeDetailsDataType = '';
86  /**
87   * @var string
88   */
89  public $targetingOptionId;
90  /**
91   * @var string
92   */
93  public $targetingType;
94  protected $userRewardedContentDetailsType = UserRewardedContentTargetingOptionDetails::class;
95  protected $userRewardedContentDetailsDataType = '';
96  protected $videoPlayerSizeDetailsType = VideoPlayerSizeTargetingOptionDetails::class;
97  protected $videoPlayerSizeDetailsDataType = '';
98  protected $viewabilityDetailsType = ViewabilityTargetingOptionDetails::class;
99  protected $viewabilityDetailsDataType = '';
100
101  /**
102   * @param AgeRangeTargetingOptionDetails
103   */
104  public function setAgeRangeDetails(AgeRangeTargetingOptionDetails $ageRangeDetails)
105  {
106    $this->ageRangeDetails = $ageRangeDetails;
107  }
108  /**
109   * @return AgeRangeTargetingOptionDetails
110   */
111  public function getAgeRangeDetails()
112  {
113    return $this->ageRangeDetails;
114  }
115  /**
116   * @param AppCategoryTargetingOptionDetails
117   */
118  public function setAppCategoryDetails(AppCategoryTargetingOptionDetails $appCategoryDetails)
119  {
120    $this->appCategoryDetails = $appCategoryDetails;
121  }
122  /**
123   * @return AppCategoryTargetingOptionDetails
124   */
125  public function getAppCategoryDetails()
126  {
127    return $this->appCategoryDetails;
128  }
129  /**
130   * @param AudioContentTypeTargetingOptionDetails
131   */
132  public function setAudioContentTypeDetails(AudioContentTypeTargetingOptionDetails $audioContentTypeDetails)
133  {
134    $this->audioContentTypeDetails = $audioContentTypeDetails;
135  }
136  /**
137   * @return AudioContentTypeTargetingOptionDetails
138   */
139  public function getAudioContentTypeDetails()
140  {
141    return $this->audioContentTypeDetails;
142  }
143  /**
144   * @param AuthorizedSellerStatusTargetingOptionDetails
145   */
146  public function setAuthorizedSellerStatusDetails(AuthorizedSellerStatusTargetingOptionDetails $authorizedSellerStatusDetails)
147  {
148    $this->authorizedSellerStatusDetails = $authorizedSellerStatusDetails;
149  }
150  /**
151   * @return AuthorizedSellerStatusTargetingOptionDetails
152   */
153  public function getAuthorizedSellerStatusDetails()
154  {
155    return $this->authorizedSellerStatusDetails;
156  }
157  /**
158   * @param BrowserTargetingOptionDetails
159   */
160  public function setBrowserDetails(BrowserTargetingOptionDetails $browserDetails)
161  {
162    $this->browserDetails = $browserDetails;
163  }
164  /**
165   * @return BrowserTargetingOptionDetails
166   */
167  public function getBrowserDetails()
168  {
169    return $this->browserDetails;
170  }
171  /**
172   * @param BusinessChainTargetingOptionDetails
173   */
174  public function setBusinessChainDetails(BusinessChainTargetingOptionDetails $businessChainDetails)
175  {
176    $this->businessChainDetails = $businessChainDetails;
177  }
178  /**
179   * @return BusinessChainTargetingOptionDetails
180   */
181  public function getBusinessChainDetails()
182  {
183    return $this->businessChainDetails;
184  }
185  /**
186   * @param CarrierAndIspTargetingOptionDetails
187   */
188  public function setCarrierAndIspDetails(CarrierAndIspTargetingOptionDetails $carrierAndIspDetails)
189  {
190    $this->carrierAndIspDetails = $carrierAndIspDetails;
191  }
192  /**
193   * @return CarrierAndIspTargetingOptionDetails
194   */
195  public function getCarrierAndIspDetails()
196  {
197    return $this->carrierAndIspDetails;
198  }
199  /**
200   * @param CategoryTargetingOptionDetails
201   */
202  public function setCategoryDetails(CategoryTargetingOptionDetails $categoryDetails)
203  {
204    $this->categoryDetails = $categoryDetails;
205  }
206  /**
207   * @return CategoryTargetingOptionDetails
208   */
209  public function getCategoryDetails()
210  {
211    return $this->categoryDetails;
212  }
213  /**
214   * @param ContentDurationTargetingOptionDetails
215   */
216  public function setContentDurationDetails(ContentDurationTargetingOptionDetails $contentDurationDetails)
217  {
218    $this->contentDurationDetails = $contentDurationDetails;
219  }
220  /**
221   * @return ContentDurationTargetingOptionDetails
222   */
223  public function getContentDurationDetails()
224  {
225    return $this->contentDurationDetails;
226  }
227  /**
228   * @param ContentGenreTargetingOptionDetails
229   */
230  public function setContentGenreDetails(ContentGenreTargetingOptionDetails $contentGenreDetails)
231  {
232    $this->contentGenreDetails = $contentGenreDetails;
233  }
234  /**
235   * @return ContentGenreTargetingOptionDetails
236   */
237  public function getContentGenreDetails()
238  {
239    return $this->contentGenreDetails;
240  }
241  /**
242   * @param ContentInstreamPositionTargetingOptionDetails
243   */
244  public function setContentInstreamPositionDetails(ContentInstreamPositionTargetingOptionDetails $contentInstreamPositionDetails)
245  {
246    $this->contentInstreamPositionDetails = $contentInstreamPositionDetails;
247  }
248  /**
249   * @return ContentInstreamPositionTargetingOptionDetails
250   */
251  public function getContentInstreamPositionDetails()
252  {
253    return $this->contentInstreamPositionDetails;
254  }
255  /**
256   * @param ContentOutstreamPositionTargetingOptionDetails
257   */
258  public function setContentOutstreamPositionDetails(ContentOutstreamPositionTargetingOptionDetails $contentOutstreamPositionDetails)
259  {
260    $this->contentOutstreamPositionDetails = $contentOutstreamPositionDetails;
261  }
262  /**
263   * @return ContentOutstreamPositionTargetingOptionDetails
264   */
265  public function getContentOutstreamPositionDetails()
266  {
267    return $this->contentOutstreamPositionDetails;
268  }
269  /**
270   * @param ContentStreamTypeTargetingOptionDetails
271   */
272  public function setContentStreamTypeDetails(ContentStreamTypeTargetingOptionDetails $contentStreamTypeDetails)
273  {
274    $this->contentStreamTypeDetails = $contentStreamTypeDetails;
275  }
276  /**
277   * @return ContentStreamTypeTargetingOptionDetails
278   */
279  public function getContentStreamTypeDetails()
280  {
281    return $this->contentStreamTypeDetails;
282  }
283  /**
284   * @param DeviceMakeModelTargetingOptionDetails
285   */
286  public function setDeviceMakeModelDetails(DeviceMakeModelTargetingOptionDetails $deviceMakeModelDetails)
287  {
288    $this->deviceMakeModelDetails = $deviceMakeModelDetails;
289  }
290  /**
291   * @return DeviceMakeModelTargetingOptionDetails
292   */
293  public function getDeviceMakeModelDetails()
294  {
295    return $this->deviceMakeModelDetails;
296  }
297  /**
298   * @param DeviceTypeTargetingOptionDetails
299   */
300  public function setDeviceTypeDetails(DeviceTypeTargetingOptionDetails $deviceTypeDetails)
301  {
302    $this->deviceTypeDetails = $deviceTypeDetails;
303  }
304  /**
305   * @return DeviceTypeTargetingOptionDetails
306   */
307  public function getDeviceTypeDetails()
308  {
309    return $this->deviceTypeDetails;
310  }
311  /**
312   * @param DigitalContentLabelTargetingOptionDetails
313   */
314  public function setDigitalContentLabelDetails(DigitalContentLabelTargetingOptionDetails $digitalContentLabelDetails)
315  {
316    $this->digitalContentLabelDetails = $digitalContentLabelDetails;
317  }
318  /**
319   * @return DigitalContentLabelTargetingOptionDetails
320   */
321  public function getDigitalContentLabelDetails()
322  {
323    return $this->digitalContentLabelDetails;
324  }
325  /**
326   * @param EnvironmentTargetingOptionDetails
327   */
328  public function setEnvironmentDetails(EnvironmentTargetingOptionDetails $environmentDetails)
329  {
330    $this->environmentDetails = $environmentDetails;
331  }
332  /**
333   * @return EnvironmentTargetingOptionDetails
334   */
335  public function getEnvironmentDetails()
336  {
337    return $this->environmentDetails;
338  }
339  /**
340   * @param ExchangeTargetingOptionDetails
341   */
342  public function setExchangeDetails(ExchangeTargetingOptionDetails $exchangeDetails)
343  {
344    $this->exchangeDetails = $exchangeDetails;
345  }
346  /**
347   * @return ExchangeTargetingOptionDetails
348   */
349  public function getExchangeDetails()
350  {
351    return $this->exchangeDetails;
352  }
353  /**
354   * @param GenderTargetingOptionDetails
355   */
356  public function setGenderDetails(GenderTargetingOptionDetails $genderDetails)
357  {
358    $this->genderDetails = $genderDetails;
359  }
360  /**
361   * @return GenderTargetingOptionDetails
362   */
363  public function getGenderDetails()
364  {
365    return $this->genderDetails;
366  }
367  /**
368   * @param GeoRegionTargetingOptionDetails
369   */
370  public function setGeoRegionDetails(GeoRegionTargetingOptionDetails $geoRegionDetails)
371  {
372    $this->geoRegionDetails = $geoRegionDetails;
373  }
374  /**
375   * @return GeoRegionTargetingOptionDetails
376   */
377  public function getGeoRegionDetails()
378  {
379    return $this->geoRegionDetails;
380  }
381  /**
382   * @param HouseholdIncomeTargetingOptionDetails
383   */
384  public function setHouseholdIncomeDetails(HouseholdIncomeTargetingOptionDetails $householdIncomeDetails)
385  {
386    $this->householdIncomeDetails = $householdIncomeDetails;
387  }
388  /**
389   * @return HouseholdIncomeTargetingOptionDetails
390   */
391  public function getHouseholdIncomeDetails()
392  {
393    return $this->householdIncomeDetails;
394  }
395  /**
396   * @param LanguageTargetingOptionDetails
397   */
398  public function setLanguageDetails(LanguageTargetingOptionDetails $languageDetails)
399  {
400    $this->languageDetails = $languageDetails;
401  }
402  /**
403   * @return LanguageTargetingOptionDetails
404   */
405  public function getLanguageDetails()
406  {
407    return $this->languageDetails;
408  }
409  /**
410   * @param string
411   */
412  public function setName($name)
413  {
414    $this->name = $name;
415  }
416  /**
417   * @return string
418   */
419  public function getName()
420  {
421    return $this->name;
422  }
423  /**
424   * @param NativeContentPositionTargetingOptionDetails
425   */
426  public function setNativeContentPositionDetails(NativeContentPositionTargetingOptionDetails $nativeContentPositionDetails)
427  {
428    $this->nativeContentPositionDetails = $nativeContentPositionDetails;
429  }
430  /**
431   * @return NativeContentPositionTargetingOptionDetails
432   */
433  public function getNativeContentPositionDetails()
434  {
435    return $this->nativeContentPositionDetails;
436  }
437  /**
438   * @param OmidTargetingOptionDetails
439   */
440  public function setOmidDetails(OmidTargetingOptionDetails $omidDetails)
441  {
442    $this->omidDetails = $omidDetails;
443  }
444  /**
445   * @return OmidTargetingOptionDetails
446   */
447  public function getOmidDetails()
448  {
449    return $this->omidDetails;
450  }
451  /**
452   * @param OnScreenPositionTargetingOptionDetails
453   */
454  public function setOnScreenPositionDetails(OnScreenPositionTargetingOptionDetails $onScreenPositionDetails)
455  {
456    $this->onScreenPositionDetails = $onScreenPositionDetails;
457  }
458  /**
459   * @return OnScreenPositionTargetingOptionDetails
460   */
461  public function getOnScreenPositionDetails()
462  {
463    return $this->onScreenPositionDetails;
464  }
465  /**
466   * @param OperatingSystemTargetingOptionDetails
467   */
468  public function setOperatingSystemDetails(OperatingSystemTargetingOptionDetails $operatingSystemDetails)
469  {
470    $this->operatingSystemDetails = $operatingSystemDetails;
471  }
472  /**
473   * @return OperatingSystemTargetingOptionDetails
474   */
475  public function getOperatingSystemDetails()
476  {
477    return $this->operatingSystemDetails;
478  }
479  /**
480   * @param ParentalStatusTargetingOptionDetails
481   */
482  public function setParentalStatusDetails(ParentalStatusTargetingOptionDetails $parentalStatusDetails)
483  {
484    $this->parentalStatusDetails = $parentalStatusDetails;
485  }
486  /**
487   * @return ParentalStatusTargetingOptionDetails
488   */
489  public function getParentalStatusDetails()
490  {
491    return $this->parentalStatusDetails;
492  }
493  /**
494   * @param PoiTargetingOptionDetails
495   */
496  public function setPoiDetails(PoiTargetingOptionDetails $poiDetails)
497  {
498    $this->poiDetails = $poiDetails;
499  }
500  /**
501   * @return PoiTargetingOptionDetails
502   */
503  public function getPoiDetails()
504  {
505    return $this->poiDetails;
506  }
507  /**
508   * @param SensitiveCategoryTargetingOptionDetails
509   */
510  public function setSensitiveCategoryDetails(SensitiveCategoryTargetingOptionDetails $sensitiveCategoryDetails)
511  {
512    $this->sensitiveCategoryDetails = $sensitiveCategoryDetails;
513  }
514  /**
515   * @return SensitiveCategoryTargetingOptionDetails
516   */
517  public function getSensitiveCategoryDetails()
518  {
519    return $this->sensitiveCategoryDetails;
520  }
521  /**
522   * @param SubExchangeTargetingOptionDetails
523   */
524  public function setSubExchangeDetails(SubExchangeTargetingOptionDetails $subExchangeDetails)
525  {
526    $this->subExchangeDetails = $subExchangeDetails;
527  }
528  /**
529   * @return SubExchangeTargetingOptionDetails
530   */
531  public function getSubExchangeDetails()
532  {
533    return $this->subExchangeDetails;
534  }
535  /**
536   * @param string
537   */
538  public function setTargetingOptionId($targetingOptionId)
539  {
540    $this->targetingOptionId = $targetingOptionId;
541  }
542  /**
543   * @return string
544   */
545  public function getTargetingOptionId()
546  {
547    return $this->targetingOptionId;
548  }
549  /**
550   * @param string
551   */
552  public function setTargetingType($targetingType)
553  {
554    $this->targetingType = $targetingType;
555  }
556  /**
557   * @return string
558   */
559  public function getTargetingType()
560  {
561    return $this->targetingType;
562  }
563  /**
564   * @param UserRewardedContentTargetingOptionDetails
565   */
566  public function setUserRewardedContentDetails(UserRewardedContentTargetingOptionDetails $userRewardedContentDetails)
567  {
568    $this->userRewardedContentDetails = $userRewardedContentDetails;
569  }
570  /**
571   * @return UserRewardedContentTargetingOptionDetails
572   */
573  public function getUserRewardedContentDetails()
574  {
575    return $this->userRewardedContentDetails;
576  }
577  /**
578   * @param VideoPlayerSizeTargetingOptionDetails
579   */
580  public function setVideoPlayerSizeDetails(VideoPlayerSizeTargetingOptionDetails $videoPlayerSizeDetails)
581  {
582    $this->videoPlayerSizeDetails = $videoPlayerSizeDetails;
583  }
584  /**
585   * @return VideoPlayerSizeTargetingOptionDetails
586   */
587  public function getVideoPlayerSizeDetails()
588  {
589    return $this->videoPlayerSizeDetails;
590  }
591  /**
592   * @param ViewabilityTargetingOptionDetails
593   */
594  public function setViewabilityDetails(ViewabilityTargetingOptionDetails $viewabilityDetails)
595  {
596    $this->viewabilityDetails = $viewabilityDetails;
597  }
598  /**
599   * @return ViewabilityTargetingOptionDetails
600   */
601  public function getViewabilityDetails()
602  {
603    return $this->viewabilityDetails;
604  }
605}
606
607// Adding a class alias for backwards compatibility with the previous class name.
608class_alias(TargetingOption::class, 'Google_Service_DisplayVideo_TargetingOption');
609