Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
12291 manish.sha 1
/*
2
 * Copyright 2010 Google Inc.
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
 * in compliance with the License. You may obtain a copy of the License at
6
 *
7
 * http://www.apache.org/licenses/LICENSE-2.0
8
 *
9
 * Unless required by applicable law or agreed to in writing, software distributed under the License
10
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
 * or implied. See the License for the specific language governing permissions and limitations under
12
 * the License.
13
 */
14
/*
15
 * This code was generated by https://code.google.com/p/google-apis-client-generator/
16
 * (build: 2014-07-09 17:08:39 UTC)
17
 * on 2014-07-23 at 21:49:03 UTC 
18
 * Modify at your own risk.
19
 */
20
 
21
package com.google.api.services.content.model;
22
 
23
/**
24
 * Product data.
25
 *
26
 * <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
27
 * transmitted over HTTP when working with the Content API for Shopping. For a detailed explanation
28
 * see:
29
 * <a href="http://code.google.com/p/google-http-java-client/wiki/JSON">http://code.google.com/p/google-http-java-client/wiki/JSON</a>
30
 * </p>
31
 *
32
 * @author Google, Inc.
33
 */
34
@SuppressWarnings("javadoc")
35
public final class Product extends com.google.api.client.json.GenericJson {
36
 
37
  /**
38
   * Additional URLs of images of the item.
39
   * The value may be {@code null}.
40
   */
41
  @com.google.api.client.util.Key
42
  private java.util.List<java.lang.String> additionalImageLinks;
43
 
44
  /**
45
   * Set to true if the item is targeted towards adults.
46
   * The value may be {@code null}.
47
   */
48
  @com.google.api.client.util.Key
49
  private java.lang.Boolean adult;
50
 
51
  /**
52
   * Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
53
   * The value may be {@code null}.
54
   */
55
  @com.google.api.client.util.Key
56
  private java.lang.String adwordsGrouping;
57
 
58
  /**
59
   * Similar to adwords_grouping, but only works on CPC.
60
   * The value may be {@code null}.
61
   */
62
  @com.google.api.client.util.Key
63
  private java.util.List<java.lang.String> adwordsLabels;
64
 
65
  /**
66
   * Allows advertisers to override the item URL when the product is shown within the context of
67
   * Product Ads.
68
   * The value may be {@code null}.
69
   */
70
  @com.google.api.client.util.Key
71
  private java.lang.String adwordsRedirect;
72
 
73
  /**
74
   * Target age group of the item.
75
   * The value may be {@code null}.
76
   */
77
  @com.google.api.client.util.Key
78
  private java.lang.String ageGroup;
79
 
80
  /**
81
   * Availability status of the item.
82
   * The value may be {@code null}.
83
   */
84
  @com.google.api.client.util.Key
85
  private java.lang.String availability;
86
 
87
  /**
88
   * The day a pre-ordered product becomes available for delivery.
89
   * The value may be {@code null}.
90
   */
91
  @com.google.api.client.util.Key
92
  private java.lang.String availabilityDate;
93
 
94
  /**
95
   * Brand of the item.
96
   * The value may be {@code null}.
97
   */
98
  @com.google.api.client.util.Key
99
  private java.lang.String brand;
100
 
101
  /**
102
   * The item's channel (online or local).
103
   * The value may be {@code null}.
104
   */
105
  @com.google.api.client.util.Key
106
  private java.lang.String channel;
107
 
108
  /**
109
   * Color of the item.
110
   * The value may be {@code null}.
111
   */
112
  @com.google.api.client.util.Key
113
  private java.lang.String color;
114
 
115
  /**
116
   * Condition or state of the item.
117
   * The value may be {@code null}.
118
   */
119
  @com.google.api.client.util.Key
120
  private java.lang.String condition;
121
 
122
  /**
123
   * The two-letter ISO 639-1 language code for the item.
124
   * The value may be {@code null}.
125
   */
126
  @com.google.api.client.util.Key
127
  private java.lang.String contentLanguage;
128
 
129
  /**
130
   * A list of custom (merchant-provided) attributes.
131
   * The value may be {@code null}.
132
   */
133
  @com.google.api.client.util.Key
134
  private java.util.List<ProductCustomAttribute> customAttributes;
135
 
136
  static {
137
    // hack to force ProGuard to consider ProductCustomAttribute used, since otherwise it would be stripped out
138
    // see http://code.google.com/p/google-api-java-client/issues/detail?id=528
139
    com.google.api.client.util.Data.nullOf(ProductCustomAttribute.class);
140
  }
141
 
142
  /**
143
   * A list of custom (merchant-provided) custom attribute groups.
144
   * The value may be {@code null}.
145
   */
146
  @com.google.api.client.util.Key
147
  private java.util.List<ProductCustomGroup> customGroups;
148
 
149
  static {
150
    // hack to force ProGuard to consider ProductCustomGroup used, since otherwise it would be stripped out
151
    // see http://code.google.com/p/google-api-java-client/issues/detail?id=528
152
    com.google.api.client.util.Data.nullOf(ProductCustomGroup.class);
153
  }
154
 
155
  /**
156
   * Custom label 0 for custom grouping of items in a Shopping campaign.
157
   * The value may be {@code null}.
158
   */
159
  @com.google.api.client.util.Key
160
  private java.lang.String customLabel0;
161
 
162
  /**
163
   * Custom label 1 for custom grouping of items in a Shopping campaign.
164
   * The value may be {@code null}.
165
   */
166
  @com.google.api.client.util.Key
167
  private java.lang.String customLabel1;
168
 
169
  /**
170
   * Custom label 2 for custom grouping of items in a Shopping campaign.
171
   * The value may be {@code null}.
172
   */
173
  @com.google.api.client.util.Key
174
  private java.lang.String customLabel2;
175
 
176
  /**
177
   * Custom label 3 for custom grouping of items in a Shopping campaign.
178
   * The value may be {@code null}.
179
   */
180
  @com.google.api.client.util.Key
181
  private java.lang.String customLabel3;
182
 
183
  /**
184
   * Custom label 4 for custom grouping of items in a Shopping campaign.
185
   * The value may be {@code null}.
186
   */
187
  @com.google.api.client.util.Key
188
  private java.lang.String customLabel4;
189
 
190
  /**
191
   * Description of the item.
192
   * The value may be {@code null}.
193
   */
194
  @com.google.api.client.util.Key
195
  private java.lang.String description;
196
 
197
  /**
198
   * Specifies the intended destinations for the product.
199
   * The value may be {@code null}.
200
   */
201
  @com.google.api.client.util.Key
202
  private java.util.List<ProductDestination> destinations;
203
 
204
  static {
205
    // hack to force ProGuard to consider ProductDestination used, since otherwise it would be stripped out
206
    // see http://code.google.com/p/google-api-java-client/issues/detail?id=528
207
    com.google.api.client.util.Data.nullOf(ProductDestination.class);
208
  }
209
 
210
  /**
211
   * The energy efficiency class as defined in EU directive 2010/30/EU.
212
   * The value may be {@code null}.
213
   */
214
  @com.google.api.client.util.Key
215
  private java.lang.String energyEfficiencyClass;
216
 
217
  /**
218
   * Date that an item will expire.
219
   * The value may be {@code null}.
220
   */
221
  @com.google.api.client.util.Key
222
  private java.lang.String expirationDate;
223
 
224
  /**
225
   * Target gender of the item.
226
   * The value may be {@code null}.
227
   */
228
  @com.google.api.client.util.Key
229
  private java.lang.String gender;
230
 
231
  /**
232
   * Google's category of the item.
233
   * The value may be {@code null}.
234
   */
235
  @com.google.api.client.util.Key
236
  private java.lang.String googleProductCategory;
237
 
238
  /**
239
   * Global Trade Item Number (GTIN) of the item.
240
   * The value may be {@code null}.
241
   */
242
  @com.google.api.client.util.Key
243
  private java.lang.String gtin;
244
 
245
  /**
246
   * The REST id of the product.
247
   * The value may be {@code null}.
248
   */
249
  @com.google.api.client.util.Key
250
  private java.lang.String id;
251
 
252
  /**
253
   * False when the item does not have unique product identifiers appropriate to its category, such
254
   * as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all
255
   * target countries except for Canada.
256
   * The value may be {@code null}.
257
   */
258
  @com.google.api.client.util.Key
259
  private java.lang.Boolean identifierExists;
260
 
261
  /**
262
   * URL of an image of the item.
263
   * The value may be {@code null}.
264
   */
265
  @com.google.api.client.util.Key
266
  private java.lang.String imageLink;
267
 
268
  /**
269
   * Number and amount of installments to pay for an item. Brazil only.
270
   * The value may be {@code null}.
271
   */
272
  @com.google.api.client.util.Key
273
  private ProductInstallment installment;
274
 
275
  /**
276
   * Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different
277
   * products sold by a merchant for a single price.
278
   * The value may be {@code null}.
279
   */
280
  @com.google.api.client.util.Key
281
  private java.lang.Boolean isBundle;
282
 
283
  /**
284
   * Shared identifier for all variants of the same product.
285
   * The value may be {@code null}.
286
   */
287
  @com.google.api.client.util.Key
288
  private java.lang.String itemGroupId;
289
 
290
  /**
291
   * Identifies what kind of resource this is. Value: the fixed string "content#product".
292
   * The value may be {@code null}.
293
   */
294
  @com.google.api.client.util.Key
295
  private java.lang.String kind;
296
 
297
  /**
298
   * URL directly linking to your item's page on your website.
299
   * The value may be {@code null}.
300
   */
301
  @com.google.api.client.util.Key
302
  private java.lang.String link;
303
 
304
  /**
305
   * Loyalty points that users receive after purchasing the item. Japan only.
306
   * The value may be {@code null}.
307
   */
308
  @com.google.api.client.util.Key
309
  private LoyaltyPoints loyaltyPoints;
310
 
311
  /**
312
   * The material of which the item is made.
313
   * The value may be {@code null}.
314
   */
315
  @com.google.api.client.util.Key
316
  private java.lang.String material;
317
 
318
  /**
319
   * The number of identical products in a merchant-defined multipack.
320
   * The value may be {@code null}.
321
   */
322
  @com.google.api.client.util.Key @com.google.api.client.json.JsonString
323
  private java.math.BigInteger merchantMultipackQuantity;
324
 
325
  /**
326
   * Link to a mobile-optimized version of the landing page.
327
   * The value may be {@code null}.
328
   */
329
  @com.google.api.client.util.Key
330
  private java.lang.String mobileLink;
331
 
332
  /**
333
   * Manufacturer Part Number (MPN) of the item.
334
   * The value may be {@code null}.
335
   */
336
  @com.google.api.client.util.Key
337
  private java.lang.String mpn;
338
 
339
  /**
340
   * An identifier of the item.
341
   * The value may be {@code null}.
342
   */
343
  @com.google.api.client.util.Key
344
  private java.lang.String offerId;
345
 
346
  /**
347
   * Whether an item is available for purchase only online.
348
   * The value may be {@code null}.
349
   */
350
  @com.google.api.client.util.Key
351
  private java.lang.Boolean onlineOnly;
352
 
353
  /**
354
   * The item's pattern (e.g. polka dots).
355
   * The value may be {@code null}.
356
   */
357
  @com.google.api.client.util.Key
358
  private java.lang.String pattern;
359
 
360
  /**
361
   * Price of the item.
362
   * The value may be {@code null}.
363
   */
364
  @com.google.api.client.util.Key
365
  private Price price;
366
 
367
  /**
368
   * Your category of the item.
369
   * The value may be {@code null}.
370
   */
371
  @com.google.api.client.util.Key
372
  private java.lang.String productType;
373
 
374
  /**
375
   * Advertised sale price of the item.
376
   * The value may be {@code null}.
377
   */
378
  @com.google.api.client.util.Key
379
  private Price salePrice;
380
 
381
  /**
382
   * Date range during which the item is on sale.
383
   * The value may be {@code null}.
384
   */
385
  @com.google.api.client.util.Key
386
  private java.lang.String salePriceEffectiveDate;
387
 
388
  /**
389
   * Shipping rules.
390
   * The value may be {@code null}.
391
   */
392
  @com.google.api.client.util.Key
393
  private java.util.List<ProductShipping> shipping;
394
 
395
  static {
396
    // hack to force ProGuard to consider ProductShipping used, since otherwise it would be stripped out
397
    // see http://code.google.com/p/google-api-java-client/issues/detail?id=528
398
    com.google.api.client.util.Data.nullOf(ProductShipping.class);
399
  }
400
 
401
  /**
402
   * Weight of the item for shipping.
403
   * The value may be {@code null}.
404
   */
405
  @com.google.api.client.util.Key
406
  private ProductShippingWeight shippingWeight;
407
 
408
  /**
409
   * System in which the size is specified. Recommended for apparel items.
410
   * The value may be {@code null}.
411
   */
412
  @com.google.api.client.util.Key
413
  private java.lang.String sizeSystem;
414
 
415
  /**
416
   * The cut of the item. Recommended for apparel items.
417
   * The value may be {@code null}.
418
   */
419
  @com.google.api.client.util.Key
420
  private java.lang.String sizeType;
421
 
422
  /**
423
   * Size of the item.
424
   * The value may be {@code null}.
425
   */
426
  @com.google.api.client.util.Key
427
  private java.util.List<java.lang.String> sizes;
428
 
429
  /**
430
   * The two-letter ISO 3166 country code for the item.
431
   * The value may be {@code null}.
432
   */
433
  @com.google.api.client.util.Key
434
  private java.lang.String targetCountry;
435
 
436
  /**
437
   * Tax information.
438
   * The value may be {@code null}.
439
   */
440
  @com.google.api.client.util.Key
441
  private java.util.List<ProductTax> taxes;
442
 
443
  static {
444
    // hack to force ProGuard to consider ProductTax used, since otherwise it would be stripped out
445
    // see http://code.google.com/p/google-api-java-client/issues/detail?id=528
446
    com.google.api.client.util.Data.nullOf(ProductTax.class);
447
  }
448
 
449
  /**
450
   * Title of the item.
451
   * The value may be {@code null}.
452
   */
453
  @com.google.api.client.util.Key
454
  private java.lang.String title;
455
 
456
  /**
457
   * The preference of the denominator of the unit price.
458
   * The value may be {@code null}.
459
   */
460
  @com.google.api.client.util.Key
461
  private java.lang.String unitPricingBaseMeasure;
462
 
463
  /**
464
   * The measure and dimension of an item.
465
   * The value may be {@code null}.
466
   */
467
  @com.google.api.client.util.Key
468
  private java.lang.String unitPricingMeasure;
469
 
470
  /**
471
   * The read-only list of intended destinations which passed validation.
472
   * The value may be {@code null}.
473
   */
474
  @com.google.api.client.util.Key
475
  private java.util.List<java.lang.String> validatedDestinations;
476
 
477
  /**
478
   * Read-only warnings.
479
   * The value may be {@code null}.
480
   */
481
  @com.google.api.client.util.Key
482
  private java.util.List<Error> warnings;
483
 
484
  static {
485
    // hack to force ProGuard to consider Error used, since otherwise it would be stripped out
486
    // see http://code.google.com/p/google-api-java-client/issues/detail?id=528
487
    com.google.api.client.util.Data.nullOf(Error.class);
488
  }
489
 
490
  /**
491
   * Additional URLs of images of the item.
492
   * @return value or {@code null} for none
493
   */
494
  public java.util.List<java.lang.String> getAdditionalImageLinks() {
495
    return additionalImageLinks;
496
  }
497
 
498
  /**
499
   * Additional URLs of images of the item.
500
   * @param additionalImageLinks additionalImageLinks or {@code null} for none
501
   */
502
  public Product setAdditionalImageLinks(java.util.List<java.lang.String> additionalImageLinks) {
503
    this.additionalImageLinks = additionalImageLinks;
504
    return this;
505
  }
506
 
507
  /**
508
   * Set to true if the item is targeted towards adults.
509
   * @return value or {@code null} for none
510
   */
511
  public java.lang.Boolean getAdult() {
512
    return adult;
513
  }
514
 
515
  /**
516
   * Set to true if the item is targeted towards adults.
517
   * @param adult adult or {@code null} for none
518
   */
519
  public Product setAdult(java.lang.Boolean adult) {
520
    this.adult = adult;
521
    return this;
522
  }
523
 
524
  /**
525
   * Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
526
   * @return value or {@code null} for none
527
   */
528
  public java.lang.String getAdwordsGrouping() {
529
    return adwordsGrouping;
530
  }
531
 
532
  /**
533
   * Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
534
   * @param adwordsGrouping adwordsGrouping or {@code null} for none
535
   */
536
  public Product setAdwordsGrouping(java.lang.String adwordsGrouping) {
537
    this.adwordsGrouping = adwordsGrouping;
538
    return this;
539
  }
540
 
541
  /**
542
   * Similar to adwords_grouping, but only works on CPC.
543
   * @return value or {@code null} for none
544
   */
545
  public java.util.List<java.lang.String> getAdwordsLabels() {
546
    return adwordsLabels;
547
  }
548
 
549
  /**
550
   * Similar to adwords_grouping, but only works on CPC.
551
   * @param adwordsLabels adwordsLabels or {@code null} for none
552
   */
553
  public Product setAdwordsLabels(java.util.List<java.lang.String> adwordsLabels) {
554
    this.adwordsLabels = adwordsLabels;
555
    return this;
556
  }
557
 
558
  /**
559
   * Allows advertisers to override the item URL when the product is shown within the context of
560
   * Product Ads.
561
   * @return value or {@code null} for none
562
   */
563
  public java.lang.String getAdwordsRedirect() {
564
    return adwordsRedirect;
565
  }
566
 
567
  /**
568
   * Allows advertisers to override the item URL when the product is shown within the context of
569
   * Product Ads.
570
   * @param adwordsRedirect adwordsRedirect or {@code null} for none
571
   */
572
  public Product setAdwordsRedirect(java.lang.String adwordsRedirect) {
573
    this.adwordsRedirect = adwordsRedirect;
574
    return this;
575
  }
576
 
577
  /**
578
   * Target age group of the item.
579
   * @return value or {@code null} for none
580
   */
581
  public java.lang.String getAgeGroup() {
582
    return ageGroup;
583
  }
584
 
585
  /**
586
   * Target age group of the item.
587
   * @param ageGroup ageGroup or {@code null} for none
588
   */
589
  public Product setAgeGroup(java.lang.String ageGroup) {
590
    this.ageGroup = ageGroup;
591
    return this;
592
  }
593
 
594
  /**
595
   * Availability status of the item.
596
   * @return value or {@code null} for none
597
   */
598
  public java.lang.String getAvailability() {
599
    return availability;
600
  }
601
 
602
  /**
603
   * Availability status of the item.
604
   * @param availability availability or {@code null} for none
605
   */
606
  public Product setAvailability(java.lang.String availability) {
607
    this.availability = availability;
608
    return this;
609
  }
610
 
611
  /**
612
   * The day a pre-ordered product becomes available for delivery.
613
   * @return value or {@code null} for none
614
   */
615
  public java.lang.String getAvailabilityDate() {
616
    return availabilityDate;
617
  }
618
 
619
  /**
620
   * The day a pre-ordered product becomes available for delivery.
621
   * @param availabilityDate availabilityDate or {@code null} for none
622
   */
623
  public Product setAvailabilityDate(java.lang.String availabilityDate) {
624
    this.availabilityDate = availabilityDate;
625
    return this;
626
  }
627
 
628
  /**
629
   * Brand of the item.
630
   * @return value or {@code null} for none
631
   */
632
  public java.lang.String getBrand() {
633
    return brand;
634
  }
635
 
636
  /**
637
   * Brand of the item.
638
   * @param brand brand or {@code null} for none
639
   */
640
  public Product setBrand(java.lang.String brand) {
641
    this.brand = brand;
642
    return this;
643
  }
644
 
645
  /**
646
   * The item's channel (online or local).
647
   * @return value or {@code null} for none
648
   */
649
  public java.lang.String getChannel() {
650
    return channel;
651
  }
652
 
653
  /**
654
   * The item's channel (online or local).
655
   * @param channel channel or {@code null} for none
656
   */
657
  public Product setChannel(java.lang.String channel) {
658
    this.channel = channel;
659
    return this;
660
  }
661
 
662
  /**
663
   * Color of the item.
664
   * @return value or {@code null} for none
665
   */
666
  public java.lang.String getColor() {
667
    return color;
668
  }
669
 
670
  /**
671
   * Color of the item.
672
   * @param color color or {@code null} for none
673
   */
674
  public Product setColor(java.lang.String color) {
675
    this.color = color;
676
    return this;
677
  }
678
 
679
  /**
680
   * Condition or state of the item.
681
   * @return value or {@code null} for none
682
   */
683
  public java.lang.String getCondition() {
684
    return condition;
685
  }
686
 
687
  /**
688
   * Condition or state of the item.
689
   * @param condition condition or {@code null} for none
690
   */
691
  public Product setCondition(java.lang.String condition) {
692
    this.condition = condition;
693
    return this;
694
  }
695
 
696
  /**
697
   * The two-letter ISO 639-1 language code for the item.
698
   * @return value or {@code null} for none
699
   */
700
  public java.lang.String getContentLanguage() {
701
    return contentLanguage;
702
  }
703
 
704
  /**
705
   * The two-letter ISO 639-1 language code for the item.
706
   * @param contentLanguage contentLanguage or {@code null} for none
707
   */
708
  public Product setContentLanguage(java.lang.String contentLanguage) {
709
    this.contentLanguage = contentLanguage;
710
    return this;
711
  }
712
 
713
  /**
714
   * A list of custom (merchant-provided) attributes.
715
   * @return value or {@code null} for none
716
   */
717
  public java.util.List<ProductCustomAttribute> getCustomAttributes() {
718
    return customAttributes;
719
  }
720
 
721
  /**
722
   * A list of custom (merchant-provided) attributes.
723
   * @param customAttributes customAttributes or {@code null} for none
724
   */
725
  public Product setCustomAttributes(java.util.List<ProductCustomAttribute> customAttributes) {
726
    this.customAttributes = customAttributes;
727
    return this;
728
  }
729
 
730
  /**
731
   * A list of custom (merchant-provided) custom attribute groups.
732
   * @return value or {@code null} for none
733
   */
734
  public java.util.List<ProductCustomGroup> getCustomGroups() {
735
    return customGroups;
736
  }
737
 
738
  /**
739
   * A list of custom (merchant-provided) custom attribute groups.
740
   * @param customGroups customGroups or {@code null} for none
741
   */
742
  public Product setCustomGroups(java.util.List<ProductCustomGroup> customGroups) {
743
    this.customGroups = customGroups;
744
    return this;
745
  }
746
 
747
  /**
748
   * Custom label 0 for custom grouping of items in a Shopping campaign.
749
   * @return value or {@code null} for none
750
   */
751
  public java.lang.String getCustomLabel0() {
752
    return customLabel0;
753
  }
754
 
755
  /**
756
   * Custom label 0 for custom grouping of items in a Shopping campaign.
757
   * @param customLabel0 customLabel0 or {@code null} for none
758
   */
759
  public Product setCustomLabel0(java.lang.String customLabel0) {
760
    this.customLabel0 = customLabel0;
761
    return this;
762
  }
763
 
764
  /**
765
   * Custom label 1 for custom grouping of items in a Shopping campaign.
766
   * @return value or {@code null} for none
767
   */
768
  public java.lang.String getCustomLabel1() {
769
    return customLabel1;
770
  }
771
 
772
  /**
773
   * Custom label 1 for custom grouping of items in a Shopping campaign.
774
   * @param customLabel1 customLabel1 or {@code null} for none
775
   */
776
  public Product setCustomLabel1(java.lang.String customLabel1) {
777
    this.customLabel1 = customLabel1;
778
    return this;
779
  }
780
 
781
  /**
782
   * Custom label 2 for custom grouping of items in a Shopping campaign.
783
   * @return value or {@code null} for none
784
   */
785
  public java.lang.String getCustomLabel2() {
786
    return customLabel2;
787
  }
788
 
789
  /**
790
   * Custom label 2 for custom grouping of items in a Shopping campaign.
791
   * @param customLabel2 customLabel2 or {@code null} for none
792
   */
793
  public Product setCustomLabel2(java.lang.String customLabel2) {
794
    this.customLabel2 = customLabel2;
795
    return this;
796
  }
797
 
798
  /**
799
   * Custom label 3 for custom grouping of items in a Shopping campaign.
800
   * @return value or {@code null} for none
801
   */
802
  public java.lang.String getCustomLabel3() {
803
    return customLabel3;
804
  }
805
 
806
  /**
807
   * Custom label 3 for custom grouping of items in a Shopping campaign.
808
   * @param customLabel3 customLabel3 or {@code null} for none
809
   */
810
  public Product setCustomLabel3(java.lang.String customLabel3) {
811
    this.customLabel3 = customLabel3;
812
    return this;
813
  }
814
 
815
  /**
816
   * Custom label 4 for custom grouping of items in a Shopping campaign.
817
   * @return value or {@code null} for none
818
   */
819
  public java.lang.String getCustomLabel4() {
820
    return customLabel4;
821
  }
822
 
823
  /**
824
   * Custom label 4 for custom grouping of items in a Shopping campaign.
825
   * @param customLabel4 customLabel4 or {@code null} for none
826
   */
827
  public Product setCustomLabel4(java.lang.String customLabel4) {
828
    this.customLabel4 = customLabel4;
829
    return this;
830
  }
831
 
832
  /**
833
   * Description of the item.
834
   * @return value or {@code null} for none
835
   */
836
  public java.lang.String getDescription() {
837
    return description;
838
  }
839
 
840
  /**
841
   * Description of the item.
842
   * @param description description or {@code null} for none
843
   */
844
  public Product setDescription(java.lang.String description) {
845
    this.description = description;
846
    return this;
847
  }
848
 
849
  /**
850
   * Specifies the intended destinations for the product.
851
   * @return value or {@code null} for none
852
   */
853
  public java.util.List<ProductDestination> getDestinations() {
854
    return destinations;
855
  }
856
 
857
  /**
858
   * Specifies the intended destinations for the product.
859
   * @param destinations destinations or {@code null} for none
860
   */
861
  public Product setDestinations(java.util.List<ProductDestination> destinations) {
862
    this.destinations = destinations;
863
    return this;
864
  }
865
 
866
  /**
867
   * The energy efficiency class as defined in EU directive 2010/30/EU.
868
   * @return value or {@code null} for none
869
   */
870
  public java.lang.String getEnergyEfficiencyClass() {
871
    return energyEfficiencyClass;
872
  }
873
 
874
  /**
875
   * The energy efficiency class as defined in EU directive 2010/30/EU.
876
   * @param energyEfficiencyClass energyEfficiencyClass or {@code null} for none
877
   */
878
  public Product setEnergyEfficiencyClass(java.lang.String energyEfficiencyClass) {
879
    this.energyEfficiencyClass = energyEfficiencyClass;
880
    return this;
881
  }
882
 
883
  /**
884
   * Date that an item will expire.
885
   * @return value or {@code null} for none
886
   */
887
  public java.lang.String getExpirationDate() {
888
    return expirationDate;
889
  }
890
 
891
  /**
892
   * Date that an item will expire.
893
   * @param expirationDate expirationDate or {@code null} for none
894
   */
895
  public Product setExpirationDate(java.lang.String expirationDate) {
896
    this.expirationDate = expirationDate;
897
    return this;
898
  }
899
 
900
  /**
901
   * Target gender of the item.
902
   * @return value or {@code null} for none
903
   */
904
  public java.lang.String getGender() {
905
    return gender;
906
  }
907
 
908
  /**
909
   * Target gender of the item.
910
   * @param gender gender or {@code null} for none
911
   */
912
  public Product setGender(java.lang.String gender) {
913
    this.gender = gender;
914
    return this;
915
  }
916
 
917
  /**
918
   * Google's category of the item.
919
   * @return value or {@code null} for none
920
   */
921
  public java.lang.String getGoogleProductCategory() {
922
    return googleProductCategory;
923
  }
924
 
925
  /**
926
   * Google's category of the item.
927
   * @param googleProductCategory googleProductCategory or {@code null} for none
928
   */
929
  public Product setGoogleProductCategory(java.lang.String googleProductCategory) {
930
    this.googleProductCategory = googleProductCategory;
931
    return this;
932
  }
933
 
934
  /**
935
   * Global Trade Item Number (GTIN) of the item.
936
   * @return value or {@code null} for none
937
   */
938
  public java.lang.String getGtin() {
939
    return gtin;
940
  }
941
 
942
  /**
943
   * Global Trade Item Number (GTIN) of the item.
944
   * @param gtin gtin or {@code null} for none
945
   */
946
  public Product setGtin(java.lang.String gtin) {
947
    this.gtin = gtin;
948
    return this;
949
  }
950
 
951
  /**
952
   * The REST id of the product.
953
   * @return value or {@code null} for none
954
   */
955
  public java.lang.String getId() {
956
    return id;
957
  }
958
 
959
  /**
960
   * The REST id of the product.
961
   * @param id id or {@code null} for none
962
   */
963
  public Product setId(java.lang.String id) {
964
    this.id = id;
965
    return this;
966
  }
967
 
968
  /**
969
   * False when the item does not have unique product identifiers appropriate to its category, such
970
   * as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all
971
   * target countries except for Canada.
972
   * @return value or {@code null} for none
973
   */
974
  public java.lang.Boolean getIdentifierExists() {
975
    return identifierExists;
976
  }
977
 
978
  /**
979
   * False when the item does not have unique product identifiers appropriate to its category, such
980
   * as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all
981
   * target countries except for Canada.
982
   * @param identifierExists identifierExists or {@code null} for none
983
   */
984
  public Product setIdentifierExists(java.lang.Boolean identifierExists) {
985
    this.identifierExists = identifierExists;
986
    return this;
987
  }
988
 
989
  /**
990
   * URL of an image of the item.
991
   * @return value or {@code null} for none
992
   */
993
  public java.lang.String getImageLink() {
994
    return imageLink;
995
  }
996
 
997
  /**
998
   * URL of an image of the item.
999
   * @param imageLink imageLink or {@code null} for none
1000
   */
1001
  public Product setImageLink(java.lang.String imageLink) {
1002
    this.imageLink = imageLink;
1003
    return this;
1004
  }
1005
 
1006
  /**
1007
   * Number and amount of installments to pay for an item. Brazil only.
1008
   * @return value or {@code null} for none
1009
   */
1010
  public ProductInstallment getInstallment() {
1011
    return installment;
1012
  }
1013
 
1014
  /**
1015
   * Number and amount of installments to pay for an item. Brazil only.
1016
   * @param installment installment or {@code null} for none
1017
   */
1018
  public Product setInstallment(ProductInstallment installment) {
1019
    this.installment = installment;
1020
    return this;
1021
  }
1022
 
1023
  /**
1024
   * Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different
1025
   * products sold by a merchant for a single price.
1026
   * @return value or {@code null} for none
1027
   */
1028
  public java.lang.Boolean getIsBundle() {
1029
    return isBundle;
1030
  }
1031
 
1032
  /**
1033
   * Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different
1034
   * products sold by a merchant for a single price.
1035
   * @param isBundle isBundle or {@code null} for none
1036
   */
1037
  public Product setIsBundle(java.lang.Boolean isBundle) {
1038
    this.isBundle = isBundle;
1039
    return this;
1040
  }
1041
 
1042
  /**
1043
   * Shared identifier for all variants of the same product.
1044
   * @return value or {@code null} for none
1045
   */
1046
  public java.lang.String getItemGroupId() {
1047
    return itemGroupId;
1048
  }
1049
 
1050
  /**
1051
   * Shared identifier for all variants of the same product.
1052
   * @param itemGroupId itemGroupId or {@code null} for none
1053
   */
1054
  public Product setItemGroupId(java.lang.String itemGroupId) {
1055
    this.itemGroupId = itemGroupId;
1056
    return this;
1057
  }
1058
 
1059
  /**
1060
   * Identifies what kind of resource this is. Value: the fixed string "content#product".
1061
   * @return value or {@code null} for none
1062
   */
1063
  public java.lang.String getKind() {
1064
    return kind;
1065
  }
1066
 
1067
  /**
1068
   * Identifies what kind of resource this is. Value: the fixed string "content#product".
1069
   * @param kind kind or {@code null} for none
1070
   */
1071
  public Product setKind(java.lang.String kind) {
1072
    this.kind = kind;
1073
    return this;
1074
  }
1075
 
1076
  /**
1077
   * URL directly linking to your item's page on your website.
1078
   * @return value or {@code null} for none
1079
   */
1080
  public java.lang.String getLink() {
1081
    return link;
1082
  }
1083
 
1084
  /**
1085
   * URL directly linking to your item's page on your website.
1086
   * @param link link or {@code null} for none
1087
   */
1088
  public Product setLink(java.lang.String link) {
1089
    this.link = link;
1090
    return this;
1091
  }
1092
 
1093
  /**
1094
   * Loyalty points that users receive after purchasing the item. Japan only.
1095
   * @return value or {@code null} for none
1096
   */
1097
  public LoyaltyPoints getLoyaltyPoints() {
1098
    return loyaltyPoints;
1099
  }
1100
 
1101
  /**
1102
   * Loyalty points that users receive after purchasing the item. Japan only.
1103
   * @param loyaltyPoints loyaltyPoints or {@code null} for none
1104
   */
1105
  public Product setLoyaltyPoints(LoyaltyPoints loyaltyPoints) {
1106
    this.loyaltyPoints = loyaltyPoints;
1107
    return this;
1108
  }
1109
 
1110
  /**
1111
   * The material of which the item is made.
1112
   * @return value or {@code null} for none
1113
   */
1114
  public java.lang.String getMaterial() {
1115
    return material;
1116
  }
1117
 
1118
  /**
1119
   * The material of which the item is made.
1120
   * @param material material or {@code null} for none
1121
   */
1122
  public Product setMaterial(java.lang.String material) {
1123
    this.material = material;
1124
    return this;
1125
  }
1126
 
1127
  /**
1128
   * The number of identical products in a merchant-defined multipack.
1129
   * @return value or {@code null} for none
1130
   */
1131
  public java.math.BigInteger getMerchantMultipackQuantity() {
1132
    return merchantMultipackQuantity;
1133
  }
1134
 
1135
  /**
1136
   * The number of identical products in a merchant-defined multipack.
1137
   * @param merchantMultipackQuantity merchantMultipackQuantity or {@code null} for none
1138
   */
1139
  public Product setMerchantMultipackQuantity(java.math.BigInteger merchantMultipackQuantity) {
1140
    this.merchantMultipackQuantity = merchantMultipackQuantity;
1141
    return this;
1142
  }
1143
 
1144
  /**
1145
   * Link to a mobile-optimized version of the landing page.
1146
   * @return value or {@code null} for none
1147
   */
1148
  public java.lang.String getMobileLink() {
1149
    return mobileLink;
1150
  }
1151
 
1152
  /**
1153
   * Link to a mobile-optimized version of the landing page.
1154
   * @param mobileLink mobileLink or {@code null} for none
1155
   */
1156
  public Product setMobileLink(java.lang.String mobileLink) {
1157
    this.mobileLink = mobileLink;
1158
    return this;
1159
  }
1160
 
1161
  /**
1162
   * Manufacturer Part Number (MPN) of the item.
1163
   * @return value or {@code null} for none
1164
   */
1165
  public java.lang.String getMpn() {
1166
    return mpn;
1167
  }
1168
 
1169
  /**
1170
   * Manufacturer Part Number (MPN) of the item.
1171
   * @param mpn mpn or {@code null} for none
1172
   */
1173
  public Product setMpn(java.lang.String mpn) {
1174
    this.mpn = mpn;
1175
    return this;
1176
  }
1177
 
1178
  /**
1179
   * An identifier of the item.
1180
   * @return value or {@code null} for none
1181
   */
1182
  public java.lang.String getOfferId() {
1183
    return offerId;
1184
  }
1185
 
1186
  /**
1187
   * An identifier of the item.
1188
   * @param offerId offerId or {@code null} for none
1189
   */
1190
  public Product setOfferId(java.lang.String offerId) {
1191
    this.offerId = offerId;
1192
    return this;
1193
  }
1194
 
1195
  /**
1196
   * Whether an item is available for purchase only online.
1197
   * @return value or {@code null} for none
1198
   */
1199
  public java.lang.Boolean getOnlineOnly() {
1200
    return onlineOnly;
1201
  }
1202
 
1203
  /**
1204
   * Whether an item is available for purchase only online.
1205
   * @param onlineOnly onlineOnly or {@code null} for none
1206
   */
1207
  public Product setOnlineOnly(java.lang.Boolean onlineOnly) {
1208
    this.onlineOnly = onlineOnly;
1209
    return this;
1210
  }
1211
 
1212
  /**
1213
   * The item's pattern (e.g. polka dots).
1214
   * @return value or {@code null} for none
1215
   */
1216
  public java.lang.String getPattern() {
1217
    return pattern;
1218
  }
1219
 
1220
  /**
1221
   * The item's pattern (e.g. polka dots).
1222
   * @param pattern pattern or {@code null} for none
1223
   */
1224
  public Product setPattern(java.lang.String pattern) {
1225
    this.pattern = pattern;
1226
    return this;
1227
  }
1228
 
1229
  /**
1230
   * Price of the item.
1231
   * @return value or {@code null} for none
1232
   */
1233
  public Price getPrice() {
1234
    return price;
1235
  }
1236
 
1237
  /**
1238
   * Price of the item.
1239
   * @param price price or {@code null} for none
1240
   */
1241
  public Product setPrice(Price price) {
1242
    this.price = price;
1243
    return this;
1244
  }
1245
 
1246
  /**
1247
   * Your category of the item.
1248
   * @return value or {@code null} for none
1249
   */
1250
  public java.lang.String getProductType() {
1251
    return productType;
1252
  }
1253
 
1254
  /**
1255
   * Your category of the item.
1256
   * @param productType productType or {@code null} for none
1257
   */
1258
  public Product setProductType(java.lang.String productType) {
1259
    this.productType = productType;
1260
    return this;
1261
  }
1262
 
1263
  /**
1264
   * Advertised sale price of the item.
1265
   * @return value or {@code null} for none
1266
   */
1267
  public Price getSalePrice() {
1268
    return salePrice;
1269
  }
1270
 
1271
  /**
1272
   * Advertised sale price of the item.
1273
   * @param salePrice salePrice or {@code null} for none
1274
   */
1275
  public Product setSalePrice(Price salePrice) {
1276
    this.salePrice = salePrice;
1277
    return this;
1278
  }
1279
 
1280
  /**
1281
   * Date range during which the item is on sale.
1282
   * @return value or {@code null} for none
1283
   */
1284
  public java.lang.String getSalePriceEffectiveDate() {
1285
    return salePriceEffectiveDate;
1286
  }
1287
 
1288
  /**
1289
   * Date range during which the item is on sale.
1290
   * @param salePriceEffectiveDate salePriceEffectiveDate or {@code null} for none
1291
   */
1292
  public Product setSalePriceEffectiveDate(java.lang.String salePriceEffectiveDate) {
1293
    this.salePriceEffectiveDate = salePriceEffectiveDate;
1294
    return this;
1295
  }
1296
 
1297
  /**
1298
   * Shipping rules.
1299
   * @return value or {@code null} for none
1300
   */
1301
  public java.util.List<ProductShipping> getShipping() {
1302
    return shipping;
1303
  }
1304
 
1305
  /**
1306
   * Shipping rules.
1307
   * @param shipping shipping or {@code null} for none
1308
   */
1309
  public Product setShipping(java.util.List<ProductShipping> shipping) {
1310
    this.shipping = shipping;
1311
    return this;
1312
  }
1313
 
1314
  /**
1315
   * Weight of the item for shipping.
1316
   * @return value or {@code null} for none
1317
   */
1318
  public ProductShippingWeight getShippingWeight() {
1319
    return shippingWeight;
1320
  }
1321
 
1322
  /**
1323
   * Weight of the item for shipping.
1324
   * @param shippingWeight shippingWeight or {@code null} for none
1325
   */
1326
  public Product setShippingWeight(ProductShippingWeight shippingWeight) {
1327
    this.shippingWeight = shippingWeight;
1328
    return this;
1329
  }
1330
 
1331
  /**
1332
   * System in which the size is specified. Recommended for apparel items.
1333
   * @return value or {@code null} for none
1334
   */
1335
  public java.lang.String getSizeSystem() {
1336
    return sizeSystem;
1337
  }
1338
 
1339
  /**
1340
   * System in which the size is specified. Recommended for apparel items.
1341
   * @param sizeSystem sizeSystem or {@code null} for none
1342
   */
1343
  public Product setSizeSystem(java.lang.String sizeSystem) {
1344
    this.sizeSystem = sizeSystem;
1345
    return this;
1346
  }
1347
 
1348
  /**
1349
   * The cut of the item. Recommended for apparel items.
1350
   * @return value or {@code null} for none
1351
   */
1352
  public java.lang.String getSizeType() {
1353
    return sizeType;
1354
  }
1355
 
1356
  /**
1357
   * The cut of the item. Recommended for apparel items.
1358
   * @param sizeType sizeType or {@code null} for none
1359
   */
1360
  public Product setSizeType(java.lang.String sizeType) {
1361
    this.sizeType = sizeType;
1362
    return this;
1363
  }
1364
 
1365
  /**
1366
   * Size of the item.
1367
   * @return value or {@code null} for none
1368
   */
1369
  public java.util.List<java.lang.String> getSizes() {
1370
    return sizes;
1371
  }
1372
 
1373
  /**
1374
   * Size of the item.
1375
   * @param sizes sizes or {@code null} for none
1376
   */
1377
  public Product setSizes(java.util.List<java.lang.String> sizes) {
1378
    this.sizes = sizes;
1379
    return this;
1380
  }
1381
 
1382
  /**
1383
   * The two-letter ISO 3166 country code for the item.
1384
   * @return value or {@code null} for none
1385
   */
1386
  public java.lang.String getTargetCountry() {
1387
    return targetCountry;
1388
  }
1389
 
1390
  /**
1391
   * The two-letter ISO 3166 country code for the item.
1392
   * @param targetCountry targetCountry or {@code null} for none
1393
   */
1394
  public Product setTargetCountry(java.lang.String targetCountry) {
1395
    this.targetCountry = targetCountry;
1396
    return this;
1397
  }
1398
 
1399
  /**
1400
   * Tax information.
1401
   * @return value or {@code null} for none
1402
   */
1403
  public java.util.List<ProductTax> getTaxes() {
1404
    return taxes;
1405
  }
1406
 
1407
  /**
1408
   * Tax information.
1409
   * @param taxes taxes or {@code null} for none
1410
   */
1411
  public Product setTaxes(java.util.List<ProductTax> taxes) {
1412
    this.taxes = taxes;
1413
    return this;
1414
  }
1415
 
1416
  /**
1417
   * Title of the item.
1418
   * @return value or {@code null} for none
1419
   */
1420
  public java.lang.String getTitle() {
1421
    return title;
1422
  }
1423
 
1424
  /**
1425
   * Title of the item.
1426
   * @param title title or {@code null} for none
1427
   */
1428
  public Product setTitle(java.lang.String title) {
1429
    this.title = title;
1430
    return this;
1431
  }
1432
 
1433
  /**
1434
   * The preference of the denominator of the unit price.
1435
   * @return value or {@code null} for none
1436
   */
1437
  public java.lang.String getUnitPricingBaseMeasure() {
1438
    return unitPricingBaseMeasure;
1439
  }
1440
 
1441
  /**
1442
   * The preference of the denominator of the unit price.
1443
   * @param unitPricingBaseMeasure unitPricingBaseMeasure or {@code null} for none
1444
   */
1445
  public Product setUnitPricingBaseMeasure(java.lang.String unitPricingBaseMeasure) {
1446
    this.unitPricingBaseMeasure = unitPricingBaseMeasure;
1447
    return this;
1448
  }
1449
 
1450
  /**
1451
   * The measure and dimension of an item.
1452
   * @return value or {@code null} for none
1453
   */
1454
  public java.lang.String getUnitPricingMeasure() {
1455
    return unitPricingMeasure;
1456
  }
1457
 
1458
  /**
1459
   * The measure and dimension of an item.
1460
   * @param unitPricingMeasure unitPricingMeasure or {@code null} for none
1461
   */
1462
  public Product setUnitPricingMeasure(java.lang.String unitPricingMeasure) {
1463
    this.unitPricingMeasure = unitPricingMeasure;
1464
    return this;
1465
  }
1466
 
1467
  /**
1468
   * The read-only list of intended destinations which passed validation.
1469
   * @return value or {@code null} for none
1470
   */
1471
  public java.util.List<java.lang.String> getValidatedDestinations() {
1472
    return validatedDestinations;
1473
  }
1474
 
1475
  /**
1476
   * The read-only list of intended destinations which passed validation.
1477
   * @param validatedDestinations validatedDestinations or {@code null} for none
1478
   */
1479
  public Product setValidatedDestinations(java.util.List<java.lang.String> validatedDestinations) {
1480
    this.validatedDestinations = validatedDestinations;
1481
    return this;
1482
  }
1483
 
1484
  /**
1485
   * Read-only warnings.
1486
   * @return value or {@code null} for none
1487
   */
1488
  public java.util.List<Error> getWarnings() {
1489
    return warnings;
1490
  }
1491
 
1492
  /**
1493
   * Read-only warnings.
1494
   * @param warnings warnings or {@code null} for none
1495
   */
1496
  public Product setWarnings(java.util.List<Error> warnings) {
1497
    this.warnings = warnings;
1498
    return this;
1499
  }
1500
 
1501
  @Override
1502
  public Product set(String fieldName, Object value) {
1503
    return (Product) super.set(fieldName, value);
1504
  }
1505
 
1506
  @Override
1507
  public Product clone() {
1508
    return (Product) super.clone();
1509
  }
1510
 
1511
}