• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stripe / stripe-java / #16624

07 Nov 2024 10:04PM UTC coverage: 12.419% (-0.1%) from 12.519%
#16624

push

github

web-flow
Merge pull request #1917 from stripe/latest-codegen-beta

Update generated code for beta

17 of 1341 new or added lines in 57 files covered. (1.27%)

33 existing lines in 29 files now uncovered.

18855 of 151828 relevant lines covered (12.42%)

0.12 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java
1
// File generated from our OpenAPI spec
2
package com.stripe.param;
3

4
import com.google.gson.annotations.SerializedName;
5
import com.stripe.net.ApiRequestParams;
6
import com.stripe.param.common.EmptyParam;
7
import java.math.BigDecimal;
8
import java.util.ArrayList;
9
import java.util.HashMap;
10
import java.util.List;
11
import java.util.Map;
12
import lombok.Getter;
13

14
@Getter
15
public class InvoiceLineItemUpdateParams extends ApiRequestParams {
16
  /**
17
   * The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming
18
   * invoice. If you want to apply a credit to the customer's account, pass a negative amount.
19
   */
20
  @SerializedName("amount")
21
  Long amount;
22

23
  /**
24
   * An arbitrary string which you can attach to the invoice item. The description is displayed in
25
   * the invoice for easy tracking.
26
   */
27
  @SerializedName("description")
28
  Object description;
29

30
  /**
31
   * Controls whether discounts apply to this line item. Defaults to false for prorations or
32
   * negative line items, and true for all other line items. Cannot be set to true for prorations.
33
   */
34
  @SerializedName("discountable")
35
  Boolean discountable;
36

37
  /**
38
   * The coupons, promotion codes & existing discounts which apply to the line item. Item
39
   * discounts are applied before invoice discounts. Pass an empty string to remove
40
   * previously-defined discounts.
41
   */
42
  @SerializedName("discounts")
43
  Object discounts;
44

45
  /** Specifies which fields in the response should be expanded. */
46
  @SerializedName("expand")
47
  List<String> expand;
48

49
  /**
50
   * Map of extra parameters for custom features not available in this client library. The content
51
   * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
52
   * key/value pair is serialized as if the key is a root-level field (serialized) name in this
53
   * param object. Effectively, this map is flattened to its parent instance.
54
   */
55
  @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
56
  Map<String, Object> extraParams;
57

58
  /**
59
   * The IDs of the margins to apply to the line item. When set, the {@code default_margins} on the
60
   * invoice do not apply to this line item.
61
   */
62
  @SerializedName("margins")
63
  Object margins;
64

65
  /**
66
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
67
   * to an object. This can be useful for storing additional information about the object in a
68
   * structured format. Individual keys can be unset by posting an empty value to them. All keys can
69
   * be unset by posting an empty value to {@code metadata}. For <a
70
   * href="https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type">type=subscription</a>
71
   * line items, the incoming metadata specified on the request is directly used to set this value,
72
   * in contrast to <a
73
   * href="api/invoices/line_item#invoice_line_item_object-type">type=invoiceitem</a> line items,
74
   * where any existing metadata on the invoice line is merged with the incoming data.
75
   */
76
  @SerializedName("metadata")
77
  Object metadata;
78

79
  /**
80
   * The period associated with this invoice item. When set to different values, the period will be
81
   * rendered on the invoice. If you have <a
82
   * href="https://stripe.com/docs/revenue-recognition">Stripe Revenue Recognition</a> enabled, the
83
   * period will be used to recognize and defer revenue. See the <a
84
   * href="https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing">Revenue
85
   * Recognition documentation</a> for details.
86
   */
87
  @SerializedName("period")
88
  Period period;
89

90
  /** The ID of the price object. One of {@code price} or {@code price_data} is required. */
91
  @SerializedName("price")
92
  Object price;
93

94
  /**
95
   * Data used to generate a new <a href="https://stripe.com/docs/api/prices">Price</a> object
96
   * inline. One of {@code price} or {@code price_data} is required.
97
   */
98
  @SerializedName("price_data")
99
  PriceData priceData;
100

101
  /** Non-negative integer. The quantity of units for the line item. */
102
  @SerializedName("quantity")
103
  Long quantity;
104

105
  /**
106
   * A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on
107
   * your own or use a third-party to calculate them. You cannot set tax amounts if any line item
108
   * has <a
109
   * href="https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates">tax_rates</a>
110
   * or if the invoice has <a
111
   * href="https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates">default_tax_rates</a>
112
   * or uses <a href="https://stripe.com/docs/tax/invoicing">automatic tax</a>. Pass an empty string
113
   * to remove previously defined tax amounts.
114
   */
115
  @SerializedName("tax_amounts")
116
  Object taxAmounts;
117

118
  /**
119
   * The tax rates which apply to the line item. When set, the {@code default_tax_rates} on the
120
   * invoice do not apply to this line item. Pass an empty string to remove previously-defined tax
121
   * rates.
122
   */
123
  @SerializedName("tax_rates")
124
  Object taxRates;
125

126
  private InvoiceLineItemUpdateParams(
127
      Long amount,
128
      Object description,
129
      Boolean discountable,
130
      Object discounts,
131
      List<String> expand,
132
      Map<String, Object> extraParams,
133
      Object margins,
134
      Object metadata,
135
      Period period,
136
      Object price,
137
      PriceData priceData,
138
      Long quantity,
139
      Object taxAmounts,
140
      Object taxRates) {
×
141
    this.amount = amount;
×
142
    this.description = description;
×
143
    this.discountable = discountable;
×
144
    this.discounts = discounts;
×
145
    this.expand = expand;
×
146
    this.extraParams = extraParams;
×
147
    this.margins = margins;
×
148
    this.metadata = metadata;
×
149
    this.period = period;
×
150
    this.price = price;
×
151
    this.priceData = priceData;
×
152
    this.quantity = quantity;
×
153
    this.taxAmounts = taxAmounts;
×
154
    this.taxRates = taxRates;
×
155
  }
×
156

157
  public static Builder builder() {
158
    return new Builder();
×
159
  }
160

161
  public static class Builder {
×
162
    private Long amount;
163

164
    private Object description;
165

166
    private Boolean discountable;
167

168
    private Object discounts;
169

170
    private List<String> expand;
171

172
    private Map<String, Object> extraParams;
173

174
    private Object margins;
175

176
    private Object metadata;
177

178
    private Period period;
179

180
    private Object price;
181

182
    private PriceData priceData;
183

184
    private Long quantity;
185

186
    private Object taxAmounts;
187

188
    private Object taxRates;
189

190
    /** Finalize and obtain parameter instance from this builder. */
191
    public InvoiceLineItemUpdateParams build() {
192
      return new InvoiceLineItemUpdateParams(
×
193
          this.amount,
194
          this.description,
195
          this.discountable,
196
          this.discounts,
197
          this.expand,
198
          this.extraParams,
199
          this.margins,
200
          this.metadata,
201
          this.period,
202
          this.price,
203
          this.priceData,
204
          this.quantity,
205
          this.taxAmounts,
206
          this.taxRates);
207
    }
208

209
    /**
210
     * The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming
211
     * invoice. If you want to apply a credit to the customer's account, pass a negative amount.
212
     */
213
    public Builder setAmount(Long amount) {
214
      this.amount = amount;
×
215
      return this;
×
216
    }
217

218
    /**
219
     * An arbitrary string which you can attach to the invoice item. The description is displayed in
220
     * the invoice for easy tracking.
221
     */
222
    public Builder setDescription(String description) {
223
      this.description = description;
×
224
      return this;
×
225
    }
226

227
    /**
228
     * An arbitrary string which you can attach to the invoice item. The description is displayed in
229
     * the invoice for easy tracking.
230
     */
231
    public Builder setDescription(EmptyParam description) {
232
      this.description = description;
×
233
      return this;
×
234
    }
235

236
    /**
237
     * Controls whether discounts apply to this line item. Defaults to false for prorations or
238
     * negative line items, and true for all other line items. Cannot be set to true for prorations.
239
     */
240
    public Builder setDiscountable(Boolean discountable) {
241
      this.discountable = discountable;
×
242
      return this;
×
243
    }
244

245
    /**
246
     * Add an element to `discounts` list. A list is initialized for the first `add/addAll` call,
247
     * and subsequent calls adds additional elements to the original list. See {@link
248
     * InvoiceLineItemUpdateParams#discounts} for the field documentation.
249
     */
250
    @SuppressWarnings("unchecked")
251
    public Builder addDiscount(InvoiceLineItemUpdateParams.Discount element) {
252
      if (this.discounts == null || this.discounts instanceof EmptyParam) {
×
253
        this.discounts = new ArrayList<InvoiceLineItemUpdateParams.Discount>();
×
254
      }
255
      ((List<InvoiceLineItemUpdateParams.Discount>) this.discounts).add(element);
×
256
      return this;
×
257
    }
258

259
    /**
260
     * Add all elements to `discounts` list. A list is initialized for the first `add/addAll` call,
261
     * and subsequent calls adds additional elements to the original list. See {@link
262
     * InvoiceLineItemUpdateParams#discounts} for the field documentation.
263
     */
264
    @SuppressWarnings("unchecked")
265
    public Builder addAllDiscount(List<InvoiceLineItemUpdateParams.Discount> elements) {
266
      if (this.discounts == null || this.discounts instanceof EmptyParam) {
×
267
        this.discounts = new ArrayList<InvoiceLineItemUpdateParams.Discount>();
×
268
      }
269
      ((List<InvoiceLineItemUpdateParams.Discount>) this.discounts).addAll(elements);
×
270
      return this;
×
271
    }
272

273
    /**
274
     * The coupons, promotion codes &amp; existing discounts which apply to the line item. Item
275
     * discounts are applied before invoice discounts. Pass an empty string to remove
276
     * previously-defined discounts.
277
     */
278
    public Builder setDiscounts(EmptyParam discounts) {
279
      this.discounts = discounts;
×
280
      return this;
×
281
    }
282

283
    /**
284
     * The coupons, promotion codes &amp; existing discounts which apply to the line item. Item
285
     * discounts are applied before invoice discounts. Pass an empty string to remove
286
     * previously-defined discounts.
287
     */
288
    public Builder setDiscounts(List<InvoiceLineItemUpdateParams.Discount> discounts) {
289
      this.discounts = discounts;
×
290
      return this;
×
291
    }
292

293
    /**
294
     * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and
295
     * subsequent calls adds additional elements to the original list. See {@link
296
     * InvoiceLineItemUpdateParams#expand} for the field documentation.
297
     */
298
    public Builder addExpand(String element) {
299
      if (this.expand == null) {
×
300
        this.expand = new ArrayList<>();
×
301
      }
302
      this.expand.add(element);
×
303
      return this;
×
304
    }
305

306
    /**
307
     * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and
308
     * subsequent calls adds additional elements to the original list. See {@link
309
     * InvoiceLineItemUpdateParams#expand} for the field documentation.
310
     */
311
    public Builder addAllExpand(List<String> elements) {
312
      if (this.expand == null) {
×
313
        this.expand = new ArrayList<>();
×
314
      }
315
      this.expand.addAll(elements);
×
316
      return this;
×
317
    }
318

319
    /**
320
     * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
321
     * call, and subsequent calls add additional key/value pairs to the original map. See {@link
322
     * InvoiceLineItemUpdateParams#extraParams} for the field documentation.
323
     */
324
    public Builder putExtraParam(String key, Object value) {
325
      if (this.extraParams == null) {
×
326
        this.extraParams = new HashMap<>();
×
327
      }
328
      this.extraParams.put(key, value);
×
329
      return this;
×
330
    }
331

332
    /**
333
     * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
334
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
335
     * See {@link InvoiceLineItemUpdateParams#extraParams} for the field documentation.
336
     */
337
    public Builder putAllExtraParam(Map<String, Object> map) {
338
      if (this.extraParams == null) {
×
339
        this.extraParams = new HashMap<>();
×
340
      }
341
      this.extraParams.putAll(map);
×
342
      return this;
×
343
    }
344

345
    /**
346
     * Add an element to `margins` list. A list is initialized for the first `add/addAll` call, and
347
     * subsequent calls adds additional elements to the original list. See {@link
348
     * InvoiceLineItemUpdateParams#margins} for the field documentation.
349
     */
350
    @SuppressWarnings("unchecked")
351
    public Builder addMargin(String element) {
352
      if (this.margins == null || this.margins instanceof EmptyParam) {
×
353
        this.margins = new ArrayList<String>();
×
354
      }
355
      ((List<String>) this.margins).add(element);
×
356
      return this;
×
357
    }
358

359
    /**
360
     * Add all elements to `margins` list. A list is initialized for the first `add/addAll` call,
361
     * and subsequent calls adds additional elements to the original list. See {@link
362
     * InvoiceLineItemUpdateParams#margins} for the field documentation.
363
     */
364
    @SuppressWarnings("unchecked")
365
    public Builder addAllMargin(List<String> elements) {
366
      if (this.margins == null || this.margins instanceof EmptyParam) {
×
367
        this.margins = new ArrayList<String>();
×
368
      }
369
      ((List<String>) this.margins).addAll(elements);
×
370
      return this;
×
371
    }
372

373
    /**
374
     * The IDs of the margins to apply to the line item. When set, the {@code default_margins} on
375
     * the invoice do not apply to this line item.
376
     */
377
    public Builder setMargins(EmptyParam margins) {
378
      this.margins = margins;
×
379
      return this;
×
380
    }
381

382
    /**
383
     * The IDs of the margins to apply to the line item. When set, the {@code default_margins} on
384
     * the invoice do not apply to this line item.
385
     */
386
    public Builder setMargins(List<String> margins) {
387
      this.margins = margins;
×
388
      return this;
×
389
    }
390

391
    /**
392
     * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call,
393
     * and subsequent calls add additional key/value pairs to the original map. See {@link
394
     * InvoiceLineItemUpdateParams#metadata} for the field documentation.
395
     */
396
    @SuppressWarnings("unchecked")
397
    public Builder putMetadata(String key, String value) {
398
      if (this.metadata == null || this.metadata instanceof EmptyParam) {
×
399
        this.metadata = new HashMap<String, String>();
×
400
      }
401
      ((Map<String, String>) this.metadata).put(key, value);
×
402
      return this;
×
403
    }
404

405
    /**
406
     * Add all map key/value pairs to `metadata` map. A map is initialized for the first
407
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
408
     * See {@link InvoiceLineItemUpdateParams#metadata} for the field documentation.
409
     */
410
    @SuppressWarnings("unchecked")
411
    public Builder putAllMetadata(Map<String, String> map) {
412
      if (this.metadata == null || this.metadata instanceof EmptyParam) {
×
413
        this.metadata = new HashMap<String, String>();
×
414
      }
415
      ((Map<String, String>) this.metadata).putAll(map);
×
416
      return this;
×
417
    }
418

419
    /**
420
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
421
     * to an object. This can be useful for storing additional information about the object in a
422
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
423
     * can be unset by posting an empty value to {@code metadata}. For <a
424
     * href="https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type">type=subscription</a>
425
     * line items, the incoming metadata specified on the request is directly used to set this
426
     * value, in contrast to <a
427
     * href="api/invoices/line_item#invoice_line_item_object-type">type=invoiceitem</a> line items,
428
     * where any existing metadata on the invoice line is merged with the incoming data.
429
     */
430
    public Builder setMetadata(EmptyParam metadata) {
431
      this.metadata = metadata;
×
432
      return this;
×
433
    }
434

435
    /**
436
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
437
     * to an object. This can be useful for storing additional information about the object in a
438
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
439
     * can be unset by posting an empty value to {@code metadata}. For <a
440
     * href="https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type">type=subscription</a>
441
     * line items, the incoming metadata specified on the request is directly used to set this
442
     * value, in contrast to <a
443
     * href="api/invoices/line_item#invoice_line_item_object-type">type=invoiceitem</a> line items,
444
     * where any existing metadata on the invoice line is merged with the incoming data.
445
     */
446
    public Builder setMetadata(Map<String, String> metadata) {
447
      this.metadata = metadata;
×
448
      return this;
×
449
    }
450

451
    /**
452
     * The period associated with this invoice item. When set to different values, the period will
453
     * be rendered on the invoice. If you have <a
454
     * href="https://stripe.com/docs/revenue-recognition">Stripe Revenue Recognition</a> enabled,
455
     * the period will be used to recognize and defer revenue. See the <a
456
     * href="https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing">Revenue
457
     * Recognition documentation</a> for details.
458
     */
459
    public Builder setPeriod(InvoiceLineItemUpdateParams.Period period) {
460
      this.period = period;
×
461
      return this;
×
462
    }
463

464
    /** The ID of the price object. One of {@code price} or {@code price_data} is required. */
465
    public Builder setPrice(String price) {
466
      this.price = price;
×
467
      return this;
×
468
    }
469

470
    /** The ID of the price object. One of {@code price} or {@code price_data} is required. */
471
    public Builder setPrice(EmptyParam price) {
472
      this.price = price;
×
473
      return this;
×
474
    }
475

476
    /**
477
     * Data used to generate a new <a href="https://stripe.com/docs/api/prices">Price</a> object
478
     * inline. One of {@code price} or {@code price_data} is required.
479
     */
480
    public Builder setPriceData(InvoiceLineItemUpdateParams.PriceData priceData) {
481
      this.priceData = priceData;
×
482
      return this;
×
483
    }
484

485
    /** Non-negative integer. The quantity of units for the line item. */
486
    public Builder setQuantity(Long quantity) {
487
      this.quantity = quantity;
×
488
      return this;
×
489
    }
490

491
    /**
492
     * Add an element to `taxAmounts` list. A list is initialized for the first `add/addAll` call,
493
     * and subsequent calls adds additional elements to the original list. See {@link
494
     * InvoiceLineItemUpdateParams#taxAmounts} for the field documentation.
495
     */
496
    @SuppressWarnings("unchecked")
497
    public Builder addTaxAmount(InvoiceLineItemUpdateParams.TaxAmount element) {
498
      if (this.taxAmounts == null || this.taxAmounts instanceof EmptyParam) {
×
499
        this.taxAmounts = new ArrayList<InvoiceLineItemUpdateParams.TaxAmount>();
×
500
      }
501
      ((List<InvoiceLineItemUpdateParams.TaxAmount>) this.taxAmounts).add(element);
×
502
      return this;
×
503
    }
504

505
    /**
506
     * Add all elements to `taxAmounts` list. A list is initialized for the first `add/addAll` call,
507
     * and subsequent calls adds additional elements to the original list. See {@link
508
     * InvoiceLineItemUpdateParams#taxAmounts} for the field documentation.
509
     */
510
    @SuppressWarnings("unchecked")
511
    public Builder addAllTaxAmount(List<InvoiceLineItemUpdateParams.TaxAmount> elements) {
512
      if (this.taxAmounts == null || this.taxAmounts instanceof EmptyParam) {
×
513
        this.taxAmounts = new ArrayList<InvoiceLineItemUpdateParams.TaxAmount>();
×
514
      }
515
      ((List<InvoiceLineItemUpdateParams.TaxAmount>) this.taxAmounts).addAll(elements);
×
516
      return this;
×
517
    }
518

519
    /**
520
     * A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes
521
     * on your own or use a third-party to calculate them. You cannot set tax amounts if any line
522
     * item has <a
523
     * href="https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates">tax_rates</a>
524
     * or if the invoice has <a
525
     * href="https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates">default_tax_rates</a>
526
     * or uses <a href="https://stripe.com/docs/tax/invoicing">automatic tax</a>. Pass an empty
527
     * string to remove previously defined tax amounts.
528
     */
529
    public Builder setTaxAmounts(EmptyParam taxAmounts) {
530
      this.taxAmounts = taxAmounts;
×
531
      return this;
×
532
    }
533

534
    /**
535
     * A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes
536
     * on your own or use a third-party to calculate them. You cannot set tax amounts if any line
537
     * item has <a
538
     * href="https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates">tax_rates</a>
539
     * or if the invoice has <a
540
     * href="https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates">default_tax_rates</a>
541
     * or uses <a href="https://stripe.com/docs/tax/invoicing">automatic tax</a>. Pass an empty
542
     * string to remove previously defined tax amounts.
543
     */
544
    public Builder setTaxAmounts(List<InvoiceLineItemUpdateParams.TaxAmount> taxAmounts) {
545
      this.taxAmounts = taxAmounts;
×
546
      return this;
×
547
    }
548

549
    /**
550
     * Add an element to `taxRates` list. A list is initialized for the first `add/addAll` call, and
551
     * subsequent calls adds additional elements to the original list. See {@link
552
     * InvoiceLineItemUpdateParams#taxRates} for the field documentation.
553
     */
554
    @SuppressWarnings("unchecked")
555
    public Builder addTaxRate(String element) {
556
      if (this.taxRates == null || this.taxRates instanceof EmptyParam) {
×
557
        this.taxRates = new ArrayList<String>();
×
558
      }
559
      ((List<String>) this.taxRates).add(element);
×
560
      return this;
×
561
    }
562

563
    /**
564
     * Add all elements to `taxRates` list. A list is initialized for the first `add/addAll` call,
565
     * and subsequent calls adds additional elements to the original list. See {@link
566
     * InvoiceLineItemUpdateParams#taxRates} for the field documentation.
567
     */
568
    @SuppressWarnings("unchecked")
569
    public Builder addAllTaxRate(List<String> elements) {
570
      if (this.taxRates == null || this.taxRates instanceof EmptyParam) {
×
571
        this.taxRates = new ArrayList<String>();
×
572
      }
573
      ((List<String>) this.taxRates).addAll(elements);
×
574
      return this;
×
575
    }
576

577
    /**
578
     * The tax rates which apply to the line item. When set, the {@code default_tax_rates} on the
579
     * invoice do not apply to this line item. Pass an empty string to remove previously-defined tax
580
     * rates.
581
     */
582
    public Builder setTaxRates(EmptyParam taxRates) {
583
      this.taxRates = taxRates;
×
584
      return this;
×
585
    }
586

587
    /**
588
     * The tax rates which apply to the line item. When set, the {@code default_tax_rates} on the
589
     * invoice do not apply to this line item. Pass an empty string to remove previously-defined tax
590
     * rates.
591
     */
592
    public Builder setTaxRates(List<String> taxRates) {
593
      this.taxRates = taxRates;
×
594
      return this;
×
595
    }
596
  }
597

598
  @Getter
599
  public static class Discount {
600
    /** ID of the coupon to create a new discount for. */
601
    @SerializedName("coupon")
602
    Object coupon;
603

604
    /** ID of an existing discount on the object (or one of its ancestors) to reuse. */
605
    @SerializedName("discount")
606
    Object discount;
607

608
    /** Details to determine how long the discount should be applied for. */
609
    @SerializedName("discount_end")
610
    DiscountEnd discountEnd;
611

612
    /**
613
     * Map of extra parameters for custom features not available in this client library. The content
614
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
615
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
616
     * param object. Effectively, this map is flattened to its parent instance.
617
     */
618
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
619
    Map<String, Object> extraParams;
620

621
    /** ID of the promotion code to create a new discount for. */
622
    @SerializedName("promotion_code")
623
    Object promotionCode;
624

625
    private Discount(
626
        Object coupon,
627
        Object discount,
628
        DiscountEnd discountEnd,
629
        Map<String, Object> extraParams,
630
        Object promotionCode) {
×
631
      this.coupon = coupon;
×
632
      this.discount = discount;
×
633
      this.discountEnd = discountEnd;
×
634
      this.extraParams = extraParams;
×
635
      this.promotionCode = promotionCode;
×
636
    }
×
637

638
    public static Builder builder() {
639
      return new Builder();
×
640
    }
641

642
    public static class Builder {
×
643
      private Object coupon;
644

645
      private Object discount;
646

647
      private DiscountEnd discountEnd;
648

649
      private Map<String, Object> extraParams;
650

651
      private Object promotionCode;
652

653
      /** Finalize and obtain parameter instance from this builder. */
654
      public InvoiceLineItemUpdateParams.Discount build() {
655
        return new InvoiceLineItemUpdateParams.Discount(
×
656
            this.coupon, this.discount, this.discountEnd, this.extraParams, this.promotionCode);
657
      }
658

659
      /** ID of the coupon to create a new discount for. */
660
      public Builder setCoupon(String coupon) {
661
        this.coupon = coupon;
×
662
        return this;
×
663
      }
664

665
      /** ID of the coupon to create a new discount for. */
666
      public Builder setCoupon(EmptyParam coupon) {
667
        this.coupon = coupon;
×
668
        return this;
×
669
      }
670

671
      /** ID of an existing discount on the object (or one of its ancestors) to reuse. */
672
      public Builder setDiscount(String discount) {
673
        this.discount = discount;
×
674
        return this;
×
675
      }
676

677
      /** ID of an existing discount on the object (or one of its ancestors) to reuse. */
678
      public Builder setDiscount(EmptyParam discount) {
679
        this.discount = discount;
×
680
        return this;
×
681
      }
682

683
      /** Details to determine how long the discount should be applied for. */
684
      public Builder setDiscountEnd(InvoiceLineItemUpdateParams.Discount.DiscountEnd discountEnd) {
685
        this.discountEnd = discountEnd;
×
686
        return this;
×
687
      }
688

689
      /**
690
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
691
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
692
       * InvoiceLineItemUpdateParams.Discount#extraParams} for the field documentation.
693
       */
694
      public Builder putExtraParam(String key, Object value) {
695
        if (this.extraParams == null) {
×
696
          this.extraParams = new HashMap<>();
×
697
        }
698
        this.extraParams.put(key, value);
×
699
        return this;
×
700
      }
701

702
      /**
703
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
704
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
705
       * See {@link InvoiceLineItemUpdateParams.Discount#extraParams} for the field documentation.
706
       */
707
      public Builder putAllExtraParam(Map<String, Object> map) {
708
        if (this.extraParams == null) {
×
709
          this.extraParams = new HashMap<>();
×
710
        }
711
        this.extraParams.putAll(map);
×
712
        return this;
×
713
      }
714

715
      /** ID of the promotion code to create a new discount for. */
716
      public Builder setPromotionCode(String promotionCode) {
717
        this.promotionCode = promotionCode;
×
718
        return this;
×
719
      }
720

721
      /** ID of the promotion code to create a new discount for. */
722
      public Builder setPromotionCode(EmptyParam promotionCode) {
723
        this.promotionCode = promotionCode;
×
724
        return this;
×
725
      }
726
    }
727

728
    @Getter
729
    public static class DiscountEnd {
730
      /** Time span for the redeemed discount. */
731
      @SerializedName("duration")
732
      Duration duration;
733

734
      /**
735
       * Map of extra parameters for custom features not available in this client library. The
736
       * content in this map is not serialized under this field's {@code @SerializedName} value.
737
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
738
       * name in this param object. Effectively, this map is flattened to its parent instance.
739
       */
740
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
741
      Map<String, Object> extraParams;
742

743
      /** A precise Unix timestamp for the discount to end. Must be in the future. */
744
      @SerializedName("timestamp")
745
      Long timestamp;
746

747
      /**
748
       * <strong>Required.</strong> The type of calculation made to determine when the discount
749
       * ends.
750
       */
751
      @SerializedName("type")
752
      Type type;
753

754
      private DiscountEnd(
755
          Duration duration, Map<String, Object> extraParams, Long timestamp, Type type) {
×
756
        this.duration = duration;
×
757
        this.extraParams = extraParams;
×
758
        this.timestamp = timestamp;
×
759
        this.type = type;
×
760
      }
×
761

762
      public static Builder builder() {
763
        return new Builder();
×
764
      }
765

766
      public static class Builder {
×
767
        private Duration duration;
768

769
        private Map<String, Object> extraParams;
770

771
        private Long timestamp;
772

773
        private Type type;
774

775
        /** Finalize and obtain parameter instance from this builder. */
776
        public InvoiceLineItemUpdateParams.Discount.DiscountEnd build() {
777
          return new InvoiceLineItemUpdateParams.Discount.DiscountEnd(
×
778
              this.duration, this.extraParams, this.timestamp, this.type);
779
        }
780

781
        /** Time span for the redeemed discount. */
782
        public Builder setDuration(
783
            InvoiceLineItemUpdateParams.Discount.DiscountEnd.Duration duration) {
784
          this.duration = duration;
×
785
          return this;
×
786
        }
787

788
        /**
789
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
790
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
791
         * map. See {@link InvoiceLineItemUpdateParams.Discount.DiscountEnd#extraParams} for the
792
         * field documentation.
793
         */
794
        public Builder putExtraParam(String key, Object value) {
795
          if (this.extraParams == null) {
×
796
            this.extraParams = new HashMap<>();
×
797
          }
798
          this.extraParams.put(key, value);
×
799
          return this;
×
800
        }
801

802
        /**
803
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
804
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
805
         * map. See {@link InvoiceLineItemUpdateParams.Discount.DiscountEnd#extraParams} for the
806
         * field documentation.
807
         */
808
        public Builder putAllExtraParam(Map<String, Object> map) {
809
          if (this.extraParams == null) {
×
810
            this.extraParams = new HashMap<>();
×
811
          }
812
          this.extraParams.putAll(map);
×
813
          return this;
×
814
        }
815

816
        /** A precise Unix timestamp for the discount to end. Must be in the future. */
817
        public Builder setTimestamp(Long timestamp) {
818
          this.timestamp = timestamp;
×
819
          return this;
×
820
        }
821

822
        /**
823
         * <strong>Required.</strong> The type of calculation made to determine when the discount
824
         * ends.
825
         */
826
        public Builder setType(InvoiceLineItemUpdateParams.Discount.DiscountEnd.Type type) {
827
          this.type = type;
×
828
          return this;
×
829
        }
830
      }
831

832
      @Getter
833
      public static class Duration {
834
        /**
835
         * Map of extra parameters for custom features not available in this client library. The
836
         * content in this map is not serialized under this field's {@code @SerializedName} value.
837
         * Instead, each key/value pair is serialized as if the key is a root-level field
838
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
839
         * instance.
840
         */
841
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
842
        Map<String, Object> extraParams;
843

844
        /**
845
         * <strong>Required.</strong> Specifies a type of interval unit. Either {@code day}, {@code
846
         * week}, {@code month} or {@code year}.
847
         */
848
        @SerializedName("interval")
849
        Interval interval;
850

851
        /**
852
         * <strong>Required.</strong> The number of intervals, as an whole number greater than 0.
853
         * Stripe multiplies this by the interval type to get the overall duration.
854
         */
855
        @SerializedName("interval_count")
856
        Long intervalCount;
857

858
        private Duration(Map<String, Object> extraParams, Interval interval, Long intervalCount) {
×
859
          this.extraParams = extraParams;
×
860
          this.interval = interval;
×
861
          this.intervalCount = intervalCount;
×
862
        }
×
863

864
        public static Builder builder() {
865
          return new Builder();
×
866
        }
867

868
        public static class Builder {
×
869
          private Map<String, Object> extraParams;
870

871
          private Interval interval;
872

873
          private Long intervalCount;
874

875
          /** Finalize and obtain parameter instance from this builder. */
876
          public InvoiceLineItemUpdateParams.Discount.DiscountEnd.Duration build() {
877
            return new InvoiceLineItemUpdateParams.Discount.DiscountEnd.Duration(
×
878
                this.extraParams, this.interval, this.intervalCount);
879
          }
880

881
          /**
882
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
883
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
884
           * map. See {@link InvoiceLineItemUpdateParams.Discount.DiscountEnd.Duration#extraParams}
885
           * for the field documentation.
886
           */
887
          public Builder putExtraParam(String key, Object value) {
888
            if (this.extraParams == null) {
×
889
              this.extraParams = new HashMap<>();
×
890
            }
891
            this.extraParams.put(key, value);
×
892
            return this;
×
893
          }
894

895
          /**
896
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
897
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
898
           * map. See {@link InvoiceLineItemUpdateParams.Discount.DiscountEnd.Duration#extraParams}
899
           * for the field documentation.
900
           */
901
          public Builder putAllExtraParam(Map<String, Object> map) {
902
            if (this.extraParams == null) {
×
903
              this.extraParams = new HashMap<>();
×
904
            }
905
            this.extraParams.putAll(map);
×
906
            return this;
×
907
          }
908

909
          /**
910
           * <strong>Required.</strong> Specifies a type of interval unit. Either {@code day},
911
           * {@code week}, {@code month} or {@code year}.
912
           */
913
          public Builder setInterval(
914
              InvoiceLineItemUpdateParams.Discount.DiscountEnd.Duration.Interval interval) {
915
            this.interval = interval;
×
916
            return this;
×
917
          }
918

919
          /**
920
           * <strong>Required.</strong> The number of intervals, as an whole number greater than 0.
921
           * Stripe multiplies this by the interval type to get the overall duration.
922
           */
923
          public Builder setIntervalCount(Long intervalCount) {
924
            this.intervalCount = intervalCount;
×
925
            return this;
×
926
          }
927
        }
928

929
        public enum Interval implements ApiRequestParams.EnumParam {
×
930
          @SerializedName("day")
×
931
          DAY("day"),
932

933
          @SerializedName("month")
×
934
          MONTH("month"),
935

936
          @SerializedName("week")
×
937
          WEEK("week"),
938

939
          @SerializedName("year")
×
940
          YEAR("year");
941

942
          @Getter(onMethod_ = {@Override})
943
          private final String value;
944

945
          Interval(String value) {
×
946
            this.value = value;
×
947
          }
×
948
        }
949
      }
950

951
      public enum Type implements ApiRequestParams.EnumParam {
×
952
        @SerializedName("duration")
×
953
        DURATION("duration"),
954

955
        @SerializedName("timestamp")
×
956
        TIMESTAMP("timestamp");
957

958
        @Getter(onMethod_ = {@Override})
959
        private final String value;
960

961
        Type(String value) {
×
962
          this.value = value;
×
963
        }
×
964
      }
965
    }
966
  }
967

968
  @Getter
969
  public static class Period {
970
    /**
971
     * <strong>Required.</strong> The end of the period, which must be greater than or equal to the
972
     * start. This value is inclusive.
973
     */
974
    @SerializedName("end")
975
    Long end;
976

977
    /**
978
     * Map of extra parameters for custom features not available in this client library. The content
979
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
980
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
981
     * param object. Effectively, this map is flattened to its parent instance.
982
     */
983
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
984
    Map<String, Object> extraParams;
985

986
    /** <strong>Required.</strong> The start of the period. This value is inclusive. */
987
    @SerializedName("start")
988
    Long start;
989

990
    private Period(Long end, Map<String, Object> extraParams, Long start) {
×
991
      this.end = end;
×
992
      this.extraParams = extraParams;
×
993
      this.start = start;
×
994
    }
×
995

996
    public static Builder builder() {
997
      return new Builder();
×
998
    }
999

1000
    public static class Builder {
×
1001
      private Long end;
1002

1003
      private Map<String, Object> extraParams;
1004

1005
      private Long start;
1006

1007
      /** Finalize and obtain parameter instance from this builder. */
1008
      public InvoiceLineItemUpdateParams.Period build() {
1009
        return new InvoiceLineItemUpdateParams.Period(this.end, this.extraParams, this.start);
×
1010
      }
1011

1012
      /**
1013
       * <strong>Required.</strong> The end of the period, which must be greater than or equal to
1014
       * the start. This value is inclusive.
1015
       */
1016
      public Builder setEnd(Long end) {
1017
        this.end = end;
×
1018
        return this;
×
1019
      }
1020

1021
      /**
1022
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
1023
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
1024
       * InvoiceLineItemUpdateParams.Period#extraParams} for the field documentation.
1025
       */
1026
      public Builder putExtraParam(String key, Object value) {
1027
        if (this.extraParams == null) {
×
1028
          this.extraParams = new HashMap<>();
×
1029
        }
1030
        this.extraParams.put(key, value);
×
1031
        return this;
×
1032
      }
1033

1034
      /**
1035
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1036
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
1037
       * See {@link InvoiceLineItemUpdateParams.Period#extraParams} for the field documentation.
1038
       */
1039
      public Builder putAllExtraParam(Map<String, Object> map) {
1040
        if (this.extraParams == null) {
×
1041
          this.extraParams = new HashMap<>();
×
1042
        }
1043
        this.extraParams.putAll(map);
×
1044
        return this;
×
1045
      }
1046

1047
      /** <strong>Required.</strong> The start of the period. This value is inclusive. */
1048
      public Builder setStart(Long start) {
1049
        this.start = start;
×
1050
        return this;
×
1051
      }
1052
    }
1053
  }
1054

1055
  @Getter
1056
  public static class PriceData {
1057
    /**
1058
     * <strong>Required.</strong> Three-letter <a
1059
     * href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase.
1060
     * Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
1061
     */
1062
    @SerializedName("currency")
1063
    Object currency;
1064

1065
    /**
1066
     * Map of extra parameters for custom features not available in this client library. The content
1067
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
1068
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
1069
     * param object. Effectively, this map is flattened to its parent instance.
1070
     */
1071
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1072
    Map<String, Object> extraParams;
1073

1074
    /**
1075
     * The ID of the product that this price will belong to. One of {@code product} or {@code
1076
     * product_data} is required.
1077
     */
1078
    @SerializedName("product")
1079
    Object product;
1080

1081
    /**
1082
     * Data used to generate a new product object inline. One of {@code product} or {@code
1083
     * product_data} is required.
1084
     */
1085
    @SerializedName("product_data")
1086
    ProductData productData;
1087

1088
    /**
1089
     * Only required if a <a
1090
     * href="https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)">default
1091
     * tax behavior</a> was not provided in the Stripe Tax settings. Specifies whether the price is
1092
     * considered inclusive of taxes or exclusive of taxes. One of {@code inclusive}, {@code
1093
     * exclusive}, or {@code unspecified}. Once specified as either {@code inclusive} or {@code
1094
     * exclusive}, it cannot be changed.
1095
     */
1096
    @SerializedName("tax_behavior")
1097
    TaxBehavior taxBehavior;
1098

1099
    /**
1100
     * A non-negative integer in cents (or local equivalent) representing how much to charge. One of
1101
     * {@code unit_amount} or {@code unit_amount_decimal} is required.
1102
     */
1103
    @SerializedName("unit_amount")
1104
    Long unitAmount;
1105

1106
    /**
1107
     * Same as {@code unit_amount}, but accepts a decimal value in cents (or local equivalent) with
1108
     * at most 12 decimal places. Only one of {@code unit_amount} and {@code unit_amount_decimal}
1109
     * can be set.
1110
     */
1111
    @SerializedName("unit_amount_decimal")
1112
    Object unitAmountDecimal;
1113

1114
    private PriceData(
1115
        Object currency,
1116
        Map<String, Object> extraParams,
1117
        Object product,
1118
        ProductData productData,
1119
        TaxBehavior taxBehavior,
1120
        Long unitAmount,
1121
        Object unitAmountDecimal) {
×
1122
      this.currency = currency;
×
1123
      this.extraParams = extraParams;
×
1124
      this.product = product;
×
1125
      this.productData = productData;
×
1126
      this.taxBehavior = taxBehavior;
×
1127
      this.unitAmount = unitAmount;
×
1128
      this.unitAmountDecimal = unitAmountDecimal;
×
1129
    }
×
1130

1131
    public static Builder builder() {
1132
      return new Builder();
×
1133
    }
1134

1135
    public static class Builder {
×
1136
      private Object currency;
1137

1138
      private Map<String, Object> extraParams;
1139

1140
      private Object product;
1141

1142
      private ProductData productData;
1143

1144
      private TaxBehavior taxBehavior;
1145

1146
      private Long unitAmount;
1147

1148
      private Object unitAmountDecimal;
1149

1150
      /** Finalize and obtain parameter instance from this builder. */
1151
      public InvoiceLineItemUpdateParams.PriceData build() {
1152
        return new InvoiceLineItemUpdateParams.PriceData(
×
1153
            this.currency,
1154
            this.extraParams,
1155
            this.product,
1156
            this.productData,
1157
            this.taxBehavior,
1158
            this.unitAmount,
1159
            this.unitAmountDecimal);
1160
      }
1161

1162
      /**
1163
       * <strong>Required.</strong> Three-letter <a
1164
       * href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in
1165
       * lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
1166
       */
1167
      public Builder setCurrency(String currency) {
1168
        this.currency = currency;
×
1169
        return this;
×
1170
      }
1171

1172
      /**
1173
       * <strong>Required.</strong> Three-letter <a
1174
       * href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in
1175
       * lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
1176
       */
1177
      public Builder setCurrency(EmptyParam currency) {
1178
        this.currency = currency;
×
1179
        return this;
×
1180
      }
1181

1182
      /**
1183
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
1184
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
1185
       * InvoiceLineItemUpdateParams.PriceData#extraParams} for the field documentation.
1186
       */
1187
      public Builder putExtraParam(String key, Object value) {
1188
        if (this.extraParams == null) {
×
1189
          this.extraParams = new HashMap<>();
×
1190
        }
1191
        this.extraParams.put(key, value);
×
1192
        return this;
×
1193
      }
1194

1195
      /**
1196
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1197
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
1198
       * See {@link InvoiceLineItemUpdateParams.PriceData#extraParams} for the field documentation.
1199
       */
1200
      public Builder putAllExtraParam(Map<String, Object> map) {
1201
        if (this.extraParams == null) {
×
1202
          this.extraParams = new HashMap<>();
×
1203
        }
1204
        this.extraParams.putAll(map);
×
1205
        return this;
×
1206
      }
1207

1208
      /**
1209
       * The ID of the product that this price will belong to. One of {@code product} or {@code
1210
       * product_data} is required.
1211
       */
1212
      public Builder setProduct(String product) {
1213
        this.product = product;
×
1214
        return this;
×
1215
      }
1216

1217
      /**
1218
       * The ID of the product that this price will belong to. One of {@code product} or {@code
1219
       * product_data} is required.
1220
       */
1221
      public Builder setProduct(EmptyParam product) {
1222
        this.product = product;
×
1223
        return this;
×
1224
      }
1225

1226
      /**
1227
       * Data used to generate a new product object inline. One of {@code product} or {@code
1228
       * product_data} is required.
1229
       */
1230
      public Builder setProductData(InvoiceLineItemUpdateParams.PriceData.ProductData productData) {
1231
        this.productData = productData;
×
1232
        return this;
×
1233
      }
1234

1235
      /**
1236
       * Only required if a <a
1237
       * href="https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)">default
1238
       * tax behavior</a> was not provided in the Stripe Tax settings. Specifies whether the price
1239
       * is considered inclusive of taxes or exclusive of taxes. One of {@code inclusive}, {@code
1240
       * exclusive}, or {@code unspecified}. Once specified as either {@code inclusive} or {@code
1241
       * exclusive}, it cannot be changed.
1242
       */
1243
      public Builder setTaxBehavior(InvoiceLineItemUpdateParams.PriceData.TaxBehavior taxBehavior) {
1244
        this.taxBehavior = taxBehavior;
×
1245
        return this;
×
1246
      }
1247

1248
      /**
1249
       * A non-negative integer in cents (or local equivalent) representing how much to charge. One
1250
       * of {@code unit_amount} or {@code unit_amount_decimal} is required.
1251
       */
1252
      public Builder setUnitAmount(Long unitAmount) {
1253
        this.unitAmount = unitAmount;
×
1254
        return this;
×
1255
      }
1256

1257
      /**
1258
       * Same as {@code unit_amount}, but accepts a decimal value in cents (or local equivalent)
1259
       * with at most 12 decimal places. Only one of {@code unit_amount} and {@code
1260
       * unit_amount_decimal} can be set.
1261
       */
1262
      public Builder setUnitAmountDecimal(BigDecimal unitAmountDecimal) {
1263
        this.unitAmountDecimal = unitAmountDecimal;
×
1264
        return this;
×
1265
      }
1266

1267
      /**
1268
       * Same as {@code unit_amount}, but accepts a decimal value in cents (or local equivalent)
1269
       * with at most 12 decimal places. Only one of {@code unit_amount} and {@code
1270
       * unit_amount_decimal} can be set.
1271
       */
1272
      public Builder setUnitAmountDecimal(EmptyParam unitAmountDecimal) {
1273
        this.unitAmountDecimal = unitAmountDecimal;
×
1274
        return this;
×
1275
      }
1276
    }
1277

1278
    @Getter
1279
    public static class ProductData {
1280
      /**
1281
       * The product's description, meant to be displayable to the customer. Use this field to
1282
       * optionally store a long form explanation of the product being sold for your own rendering
1283
       * purposes.
1284
       */
1285
      @SerializedName("description")
1286
      Object description;
1287

1288
      /**
1289
       * Map of extra parameters for custom features not available in this client library. The
1290
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1291
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1292
       * name in this param object. Effectively, this map is flattened to its parent instance.
1293
       */
1294
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1295
      Map<String, Object> extraParams;
1296

1297
      /**
1298
       * A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
1299
       */
1300
      @SerializedName("images")
1301
      List<String> images;
1302

1303
      /**
1304
       * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can
1305
       * attach to an object. This can be useful for storing additional information about the object
1306
       * in a structured format. Individual keys can be unset by posting an empty value to them. All
1307
       * keys can be unset by posting an empty value to {@code metadata}.
1308
       */
1309
      @SerializedName("metadata")
1310
      Map<String, String> metadata;
1311

1312
      /** <strong>Required.</strong> The product's name, meant to be displayable to the customer. */
1313
      @SerializedName("name")
1314
      Object name;
1315

1316
      /** A <a href="https://stripe.com/docs/tax/tax-categories">tax code</a> ID. */
1317
      @SerializedName("tax_code")
1318
      Object taxCode;
1319

1320
      private ProductData(
1321
          Object description,
1322
          Map<String, Object> extraParams,
1323
          List<String> images,
1324
          Map<String, String> metadata,
1325
          Object name,
1326
          Object taxCode) {
×
1327
        this.description = description;
×
1328
        this.extraParams = extraParams;
×
1329
        this.images = images;
×
1330
        this.metadata = metadata;
×
1331
        this.name = name;
×
1332
        this.taxCode = taxCode;
×
1333
      }
×
1334

1335
      public static Builder builder() {
1336
        return new Builder();
×
1337
      }
1338

1339
      public static class Builder {
×
1340
        private Object description;
1341

1342
        private Map<String, Object> extraParams;
1343

1344
        private List<String> images;
1345

1346
        private Map<String, String> metadata;
1347

1348
        private Object name;
1349

1350
        private Object taxCode;
1351

1352
        /** Finalize and obtain parameter instance from this builder. */
1353
        public InvoiceLineItemUpdateParams.PriceData.ProductData build() {
1354
          return new InvoiceLineItemUpdateParams.PriceData.ProductData(
×
1355
              this.description,
1356
              this.extraParams,
1357
              this.images,
1358
              this.metadata,
1359
              this.name,
1360
              this.taxCode);
1361
        }
1362

1363
        /**
1364
         * The product's description, meant to be displayable to the customer. Use this field to
1365
         * optionally store a long form explanation of the product being sold for your own rendering
1366
         * purposes.
1367
         */
1368
        public Builder setDescription(String description) {
1369
          this.description = description;
×
1370
          return this;
×
1371
        }
1372

1373
        /**
1374
         * The product's description, meant to be displayable to the customer. Use this field to
1375
         * optionally store a long form explanation of the product being sold for your own rendering
1376
         * purposes.
1377
         */
1378
        public Builder setDescription(EmptyParam description) {
1379
          this.description = description;
×
1380
          return this;
×
1381
        }
1382

1383
        /**
1384
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1385
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1386
         * map. See {@link InvoiceLineItemUpdateParams.PriceData.ProductData#extraParams} for the
1387
         * field documentation.
1388
         */
1389
        public Builder putExtraParam(String key, Object value) {
1390
          if (this.extraParams == null) {
×
1391
            this.extraParams = new HashMap<>();
×
1392
          }
1393
          this.extraParams.put(key, value);
×
1394
          return this;
×
1395
        }
1396

1397
        /**
1398
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1399
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1400
         * map. See {@link InvoiceLineItemUpdateParams.PriceData.ProductData#extraParams} for the
1401
         * field documentation.
1402
         */
1403
        public Builder putAllExtraParam(Map<String, Object> map) {
1404
          if (this.extraParams == null) {
×
1405
            this.extraParams = new HashMap<>();
×
1406
          }
1407
          this.extraParams.putAll(map);
×
1408
          return this;
×
1409
        }
1410

1411
        /**
1412
         * Add an element to `images` list. A list is initialized for the first `add/addAll` call,
1413
         * and subsequent calls adds additional elements to the original list. See {@link
1414
         * InvoiceLineItemUpdateParams.PriceData.ProductData#images} for the field documentation.
1415
         */
1416
        public Builder addImage(String element) {
1417
          if (this.images == null) {
×
1418
            this.images = new ArrayList<>();
×
1419
          }
1420
          this.images.add(element);
×
1421
          return this;
×
1422
        }
1423

1424
        /**
1425
         * Add all elements to `images` list. A list is initialized for the first `add/addAll` call,
1426
         * and subsequent calls adds additional elements to the original list. See {@link
1427
         * InvoiceLineItemUpdateParams.PriceData.ProductData#images} for the field documentation.
1428
         */
1429
        public Builder addAllImage(List<String> elements) {
1430
          if (this.images == null) {
×
1431
            this.images = new ArrayList<>();
×
1432
          }
1433
          this.images.addAll(elements);
×
1434
          return this;
×
1435
        }
1436

1437
        /**
1438
         * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll`
1439
         * call, and subsequent calls add additional key/value pairs to the original map. See {@link
1440
         * InvoiceLineItemUpdateParams.PriceData.ProductData#metadata} for the field documentation.
1441
         */
1442
        public Builder putMetadata(String key, String value) {
1443
          if (this.metadata == null) {
×
1444
            this.metadata = new HashMap<>();
×
1445
          }
1446
          this.metadata.put(key, value);
×
1447
          return this;
×
1448
        }
1449

1450
        /**
1451
         * Add all map key/value pairs to `metadata` map. A map is initialized for the first
1452
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1453
         * map. See {@link InvoiceLineItemUpdateParams.PriceData.ProductData#metadata} for the field
1454
         * documentation.
1455
         */
1456
        public Builder putAllMetadata(Map<String, String> map) {
1457
          if (this.metadata == null) {
×
1458
            this.metadata = new HashMap<>();
×
1459
          }
1460
          this.metadata.putAll(map);
×
1461
          return this;
×
1462
        }
1463

1464
        /**
1465
         * <strong>Required.</strong> The product's name, meant to be displayable to the customer.
1466
         */
1467
        public Builder setName(String name) {
1468
          this.name = name;
×
1469
          return this;
×
1470
        }
1471

1472
        /**
1473
         * <strong>Required.</strong> The product's name, meant to be displayable to the customer.
1474
         */
1475
        public Builder setName(EmptyParam name) {
1476
          this.name = name;
×
1477
          return this;
×
1478
        }
1479

1480
        /** A <a href="https://stripe.com/docs/tax/tax-categories">tax code</a> ID. */
1481
        public Builder setTaxCode(String taxCode) {
1482
          this.taxCode = taxCode;
×
1483
          return this;
×
1484
        }
1485

1486
        /** A <a href="https://stripe.com/docs/tax/tax-categories">tax code</a> ID. */
1487
        public Builder setTaxCode(EmptyParam taxCode) {
1488
          this.taxCode = taxCode;
×
1489
          return this;
×
1490
        }
1491
      }
1492
    }
1493

1494
    public enum TaxBehavior implements ApiRequestParams.EnumParam {
×
1495
      @SerializedName("exclusive")
×
1496
      EXCLUSIVE("exclusive"),
1497

1498
      @SerializedName("inclusive")
×
1499
      INCLUSIVE("inclusive"),
1500

1501
      @SerializedName("unspecified")
×
1502
      UNSPECIFIED("unspecified");
1503

1504
      @Getter(onMethod_ = {@Override})
1505
      private final String value;
1506

1507
      TaxBehavior(String value) {
×
1508
        this.value = value;
×
1509
      }
×
1510
    }
1511
  }
1512

1513
  @Getter
1514
  public static class TaxAmount {
1515
    /** <strong>Required.</strong> The amount, in cents (or local equivalent), of the tax. */
1516
    @SerializedName("amount")
1517
    Long amount;
1518

1519
    /**
1520
     * Map of extra parameters for custom features not available in this client library. The content
1521
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
1522
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
1523
     * param object. Effectively, this map is flattened to its parent instance.
1524
     */
1525
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1526
    Map<String, Object> extraParams;
1527

1528
    /**
1529
     * <strong>Required.</strong> Data to find or create a TaxRate object.
1530
     *
1531
     * <p>Stripe automatically creates or reuses a TaxRate object for each tax amount. If the {@code
1532
     * tax_rate_data} exactly matches a previous value, Stripe will reuse the TaxRate object.
1533
     * TaxRate objects created automatically by Stripe are immediately archived, do not appear in
1534
     * the line item’s {@code tax_rates}, and cannot be directly added to invoices, payments, or
1535
     * line items.
1536
     */
1537
    @SerializedName("tax_rate_data")
1538
    TaxRateData taxRateData;
1539

1540
    /**
1541
     * <strong>Required.</strong> The amount on which tax is calculated, in cents (or local
1542
     * equivalent).
1543
     */
1544
    @SerializedName("taxable_amount")
1545
    Long taxableAmount;
1546

1547
    private TaxAmount(
1548
        Long amount, Map<String, Object> extraParams, TaxRateData taxRateData, Long taxableAmount) {
×
1549
      this.amount = amount;
×
1550
      this.extraParams = extraParams;
×
1551
      this.taxRateData = taxRateData;
×
1552
      this.taxableAmount = taxableAmount;
×
1553
    }
×
1554

1555
    public static Builder builder() {
1556
      return new Builder();
×
1557
    }
1558

1559
    public static class Builder {
×
1560
      private Long amount;
1561

1562
      private Map<String, Object> extraParams;
1563

1564
      private TaxRateData taxRateData;
1565

1566
      private Long taxableAmount;
1567

1568
      /** Finalize and obtain parameter instance from this builder. */
1569
      public InvoiceLineItemUpdateParams.TaxAmount build() {
1570
        return new InvoiceLineItemUpdateParams.TaxAmount(
×
1571
            this.amount, this.extraParams, this.taxRateData, this.taxableAmount);
1572
      }
1573

1574
      /** <strong>Required.</strong> The amount, in cents (or local equivalent), of the tax. */
1575
      public Builder setAmount(Long amount) {
1576
        this.amount = amount;
×
1577
        return this;
×
1578
      }
1579

1580
      /**
1581
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
1582
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
1583
       * InvoiceLineItemUpdateParams.TaxAmount#extraParams} for the field documentation.
1584
       */
1585
      public Builder putExtraParam(String key, Object value) {
1586
        if (this.extraParams == null) {
×
1587
          this.extraParams = new HashMap<>();
×
1588
        }
1589
        this.extraParams.put(key, value);
×
1590
        return this;
×
1591
      }
1592

1593
      /**
1594
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1595
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
1596
       * See {@link InvoiceLineItemUpdateParams.TaxAmount#extraParams} for the field documentation.
1597
       */
1598
      public Builder putAllExtraParam(Map<String, Object> map) {
1599
        if (this.extraParams == null) {
×
1600
          this.extraParams = new HashMap<>();
×
1601
        }
1602
        this.extraParams.putAll(map);
×
1603
        return this;
×
1604
      }
1605

1606
      /**
1607
       * <strong>Required.</strong> Data to find or create a TaxRate object.
1608
       *
1609
       * <p>Stripe automatically creates or reuses a TaxRate object for each tax amount. If the
1610
       * {@code tax_rate_data} exactly matches a previous value, Stripe will reuse the TaxRate
1611
       * object. TaxRate objects created automatically by Stripe are immediately archived, do not
1612
       * appear in the line item’s {@code tax_rates}, and cannot be directly added to invoices,
1613
       * payments, or line items.
1614
       */
1615
      public Builder setTaxRateData(InvoiceLineItemUpdateParams.TaxAmount.TaxRateData taxRateData) {
1616
        this.taxRateData = taxRateData;
×
1617
        return this;
×
1618
      }
1619

1620
      /**
1621
       * <strong>Required.</strong> The amount on which tax is calculated, in cents (or local
1622
       * equivalent).
1623
       */
1624
      public Builder setTaxableAmount(Long taxableAmount) {
1625
        this.taxableAmount = taxableAmount;
×
1626
        return this;
×
1627
      }
1628
    }
1629

1630
    @Getter
1631
    public static class TaxRateData {
1632
      /**
1633
       * Two-letter country code (<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO
1634
       * 3166-1 alpha-2</a>).
1635
       */
1636
      @SerializedName("country")
1637
      Object country;
1638

1639
      /**
1640
       * An arbitrary string attached to the tax rate for your internal use only. It will not be
1641
       * visible to your customers.
1642
       */
1643
      @SerializedName("description")
1644
      Object description;
1645

1646
      /**
1647
       * <strong>Required.</strong> The display name of the tax rate, which will be shown to users.
1648
       */
1649
      @SerializedName("display_name")
1650
      Object displayName;
1651

1652
      /**
1653
       * Map of extra parameters for custom features not available in this client library. The
1654
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1655
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1656
       * name in this param object. Effectively, this map is flattened to its parent instance.
1657
       */
1658
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1659
      Map<String, Object> extraParams;
1660

1661
      /** <strong>Required.</strong> This specifies if the tax rate is inclusive or exclusive. */
1662
      @SerializedName("inclusive")
1663
      Boolean inclusive;
1664

1665
      /**
1666
       * The jurisdiction for the tax rate. You can use this label field for tax reporting purposes.
1667
       * It also appears on your customer’s invoice.
1668
       */
1669
      @SerializedName("jurisdiction")
1670
      Object jurisdiction;
1671

1672
      /**
1673
       * <strong>Required.</strong> The statutory tax rate percent. This field accepts decimal
1674
       * values between 0 and 100 inclusive with at most 4 decimal places. To accommodate
1675
       * fixed-amount taxes, set the percentage to zero. Stripe will not display zero percentages on
1676
       * the invoice unless the {@code amount} of the tax is also zero.
1677
       */
1678
      @SerializedName("percentage")
1679
      BigDecimal percentage;
1680

1681
      /**
1682
       * <a href="https://en.wikipedia.org/wiki/ISO_3166-2:US">ISO 3166-2 subdivision code</a>,
1683
       * without country prefix. For example, &quot;NY&quot; for New York, United States.
1684
       */
1685
      @SerializedName("state")
1686
      Object state;
1687

1688
      /** The high-level tax type, such as {@code vat} or {@code sales_tax}. */
1689
      @SerializedName("tax_type")
1690
      TaxType taxType;
1691

1692
      private TaxRateData(
1693
          Object country,
1694
          Object description,
1695
          Object displayName,
1696
          Map<String, Object> extraParams,
1697
          Boolean inclusive,
1698
          Object jurisdiction,
1699
          BigDecimal percentage,
1700
          Object state,
1701
          TaxType taxType) {
×
1702
        this.country = country;
×
1703
        this.description = description;
×
1704
        this.displayName = displayName;
×
1705
        this.extraParams = extraParams;
×
1706
        this.inclusive = inclusive;
×
1707
        this.jurisdiction = jurisdiction;
×
1708
        this.percentage = percentage;
×
1709
        this.state = state;
×
1710
        this.taxType = taxType;
×
1711
      }
×
1712

1713
      public static Builder builder() {
1714
        return new Builder();
×
1715
      }
1716

1717
      public static class Builder {
×
1718
        private Object country;
1719

1720
        private Object description;
1721

1722
        private Object displayName;
1723

1724
        private Map<String, Object> extraParams;
1725

1726
        private Boolean inclusive;
1727

1728
        private Object jurisdiction;
1729

1730
        private BigDecimal percentage;
1731

1732
        private Object state;
1733

1734
        private TaxType taxType;
1735

1736
        /** Finalize and obtain parameter instance from this builder. */
1737
        public InvoiceLineItemUpdateParams.TaxAmount.TaxRateData build() {
1738
          return new InvoiceLineItemUpdateParams.TaxAmount.TaxRateData(
×
1739
              this.country,
1740
              this.description,
1741
              this.displayName,
1742
              this.extraParams,
1743
              this.inclusive,
1744
              this.jurisdiction,
1745
              this.percentage,
1746
              this.state,
1747
              this.taxType);
1748
        }
1749

1750
        /**
1751
         * Two-letter country code (<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO
1752
         * 3166-1 alpha-2</a>).
1753
         */
1754
        public Builder setCountry(String country) {
1755
          this.country = country;
×
1756
          return this;
×
1757
        }
1758

1759
        /**
1760
         * Two-letter country code (<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO
1761
         * 3166-1 alpha-2</a>).
1762
         */
1763
        public Builder setCountry(EmptyParam country) {
1764
          this.country = country;
×
1765
          return this;
×
1766
        }
1767

1768
        /**
1769
         * An arbitrary string attached to the tax rate for your internal use only. It will not be
1770
         * visible to your customers.
1771
         */
1772
        public Builder setDescription(String description) {
1773
          this.description = description;
×
1774
          return this;
×
1775
        }
1776

1777
        /**
1778
         * An arbitrary string attached to the tax rate for your internal use only. It will not be
1779
         * visible to your customers.
1780
         */
1781
        public Builder setDescription(EmptyParam description) {
1782
          this.description = description;
×
1783
          return this;
×
1784
        }
1785

1786
        /**
1787
         * <strong>Required.</strong> The display name of the tax rate, which will be shown to
1788
         * users.
1789
         */
1790
        public Builder setDisplayName(String displayName) {
1791
          this.displayName = displayName;
×
1792
          return this;
×
1793
        }
1794

1795
        /**
1796
         * <strong>Required.</strong> The display name of the tax rate, which will be shown to
1797
         * users.
1798
         */
1799
        public Builder setDisplayName(EmptyParam displayName) {
1800
          this.displayName = displayName;
×
1801
          return this;
×
1802
        }
1803

1804
        /**
1805
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1806
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1807
         * map. See {@link InvoiceLineItemUpdateParams.TaxAmount.TaxRateData#extraParams} for the
1808
         * field documentation.
1809
         */
1810
        public Builder putExtraParam(String key, Object value) {
1811
          if (this.extraParams == null) {
×
1812
            this.extraParams = new HashMap<>();
×
1813
          }
1814
          this.extraParams.put(key, value);
×
1815
          return this;
×
1816
        }
1817

1818
        /**
1819
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1820
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1821
         * map. See {@link InvoiceLineItemUpdateParams.TaxAmount.TaxRateData#extraParams} for the
1822
         * field documentation.
1823
         */
1824
        public Builder putAllExtraParam(Map<String, Object> map) {
1825
          if (this.extraParams == null) {
×
1826
            this.extraParams = new HashMap<>();
×
1827
          }
1828
          this.extraParams.putAll(map);
×
1829
          return this;
×
1830
        }
1831

1832
        /** <strong>Required.</strong> This specifies if the tax rate is inclusive or exclusive. */
1833
        public Builder setInclusive(Boolean inclusive) {
1834
          this.inclusive = inclusive;
×
1835
          return this;
×
1836
        }
1837

1838
        /**
1839
         * The jurisdiction for the tax rate. You can use this label field for tax reporting
1840
         * purposes. It also appears on your customer’s invoice.
1841
         */
1842
        public Builder setJurisdiction(String jurisdiction) {
1843
          this.jurisdiction = jurisdiction;
×
1844
          return this;
×
1845
        }
1846

1847
        /**
1848
         * The jurisdiction for the tax rate. You can use this label field for tax reporting
1849
         * purposes. It also appears on your customer’s invoice.
1850
         */
1851
        public Builder setJurisdiction(EmptyParam jurisdiction) {
1852
          this.jurisdiction = jurisdiction;
×
1853
          return this;
×
1854
        }
1855

1856
        /**
1857
         * <strong>Required.</strong> The statutory tax rate percent. This field accepts decimal
1858
         * values between 0 and 100 inclusive with at most 4 decimal places. To accommodate
1859
         * fixed-amount taxes, set the percentage to zero. Stripe will not display zero percentages
1860
         * on the invoice unless the {@code amount} of the tax is also zero.
1861
         */
1862
        public Builder setPercentage(BigDecimal percentage) {
1863
          this.percentage = percentage;
×
1864
          return this;
×
1865
        }
1866

1867
        /**
1868
         * <a href="https://en.wikipedia.org/wiki/ISO_3166-2:US">ISO 3166-2 subdivision code</a>,
1869
         * without country prefix. For example, &quot;NY&quot; for New York, United States.
1870
         */
1871
        public Builder setState(String state) {
1872
          this.state = state;
×
1873
          return this;
×
1874
        }
1875

1876
        /**
1877
         * <a href="https://en.wikipedia.org/wiki/ISO_3166-2:US">ISO 3166-2 subdivision code</a>,
1878
         * without country prefix. For example, &quot;NY&quot; for New York, United States.
1879
         */
1880
        public Builder setState(EmptyParam state) {
1881
          this.state = state;
×
1882
          return this;
×
1883
        }
1884

1885
        /** The high-level tax type, such as {@code vat} or {@code sales_tax}. */
1886
        public Builder setTaxType(
1887
            InvoiceLineItemUpdateParams.TaxAmount.TaxRateData.TaxType taxType) {
1888
          this.taxType = taxType;
×
1889
          return this;
×
1890
        }
1891
      }
1892

1893
      public enum TaxType implements ApiRequestParams.EnumParam {
×
1894
        @SerializedName("amusement_tax")
×
1895
        AMUSEMENT_TAX("amusement_tax"),
1896

1897
        @SerializedName("communications_tax")
×
1898
        COMMUNICATIONS_TAX("communications_tax"),
1899

1900
        @SerializedName("gst")
×
1901
        GST("gst"),
1902

1903
        @SerializedName("hst")
×
1904
        HST("hst"),
1905

1906
        @SerializedName("igst")
×
1907
        IGST("igst"),
1908

1909
        @SerializedName("jct")
×
1910
        JCT("jct"),
1911

1912
        @SerializedName("lease_tax")
×
1913
        LEASE_TAX("lease_tax"),
1914

1915
        @SerializedName("pst")
×
1916
        PST("pst"),
1917

1918
        @SerializedName("qst")
×
1919
        QST("qst"),
1920

1921
        @SerializedName("retail_delivery_fee")
×
1922
        RETAIL_DELIVERY_FEE("retail_delivery_fee"),
1923

1924
        @SerializedName("rst")
×
1925
        RST("rst"),
1926

1927
        @SerializedName("sales_tax")
×
1928
        SALES_TAX("sales_tax"),
1929

NEW
1930
        @SerializedName("service_tax")
×
1931
        SERVICE_TAX("service_tax"),
1932

UNCOV
1933
        @SerializedName("vat")
×
1934
        VAT("vat");
1935

1936
        @Getter(onMethod_ = {@Override})
1937
        private final String value;
1938

1939
        TaxType(String value) {
×
1940
          this.value = value;
×
1941
        }
×
1942
      }
1943
    }
1944
  }
1945
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc