Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
7905 manish.sha 1
/**
2
 * ShipmentRateDetail.java
3
 *
4
 * This file was auto-generated from WSDL
5
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6
 */
7
 
8
package com.fedex.ship.stub;
9
 
10
 
11
/**
12
 * Data for a shipment's total/summary rates, as calculated per a
13
 * specific rate type. The "total..." fields may differ from the sum
14
 * of corresponding package data for Multiweight or Express MPS.
15
 */
16
public class ShipmentRateDetail  implements java.io.Serializable {
17
    /* Type used for this specific set of rate data. */
18
    private com.fedex.ship.stub.ReturnedRateType rateType;
19
 
20
    /* Indicates the rate scale used. */
21
    private java.lang.String rateScale;
22
 
23
    /* Indicates the rate zone used (based on origin and destination). */
24
    private java.lang.String rateZone;
25
 
26
    /* Identifies the type of pricing used for this shipment. */
27
    private com.fedex.ship.stub.PricingCodeType pricingCode;
28
 
29
    /* Indicates which weight was used. */
30
    private com.fedex.ship.stub.RatedWeightMethod ratedWeightMethod;
31
 
32
    /* INTERNAL FEDEX USE ONLY. */
33
    private com.fedex.ship.stub.MinimumChargeType minimumChargeType;
34
 
35
    /* Specifies the currency exchange performed on financial amounts
36
     * for this rate. */
37
    private com.fedex.ship.stub.CurrencyExchangeRate currencyExchangeRate;
38
 
39
    /* Indicates which special rating cases applied to this shipment. */
40
    private com.fedex.ship.stub.SpecialRatingAppliedType[] specialRatingApplied;
41
 
42
    /* The value used to calculate the weight based on the dimensions. */
43
    private org.apache.axis.types.NonNegativeInteger dimDivisor;
44
 
45
    /* Identifies the type of dim divisor that was applied. */
46
    private com.fedex.ship.stub.RateDimensionalDivisorType dimDivisorType;
47
 
48
    /* Specifies a fuel surcharge percentage. */
49
    private java.math.BigDecimal fuelSurchargePercent;
50
 
51
    /* The weight used to calculate these rates. */
52
    private com.fedex.ship.stub.Weight totalBillingWeight;
53
 
54
    /* Sum of dimensional weights for all packages. */
55
    private com.fedex.ship.stub.Weight totalDimWeight;
56
 
57
    /* The total freight charge that was calculated for this package
58
     * before surcharges, discounts and taxes. */
59
    private com.fedex.ship.stub.Money totalBaseCharge;
60
 
61
    /* The total discounts used in the rate calculation. */
62
    private com.fedex.ship.stub.Money totalFreightDiscounts;
63
 
64
    /* The freight charge minus discounts. */
65
    private com.fedex.ship.stub.Money totalNetFreight;
66
 
67
    /* The total amount of all surcharges applied to this shipment. */
68
    private com.fedex.ship.stub.Money totalSurcharges;
69
 
70
    /* This shipment's totalNetFreight + totalSurcharges (not including
71
     * totalTaxes). */
72
    private com.fedex.ship.stub.Money totalNetFedExCharge;
73
 
74
    /* Total of the transportation-based taxes. */
75
    private com.fedex.ship.stub.Money totalTaxes;
76
 
77
    /* The net charge after applying all discounts and surcharges. */
78
    private com.fedex.ship.stub.Money totalNetCharge;
79
 
80
    /* The total sum of all rebates applied to this shipment. */
81
    private com.fedex.ship.stub.Money totalRebates;
82
 
83
    /* Total of all values under this shipment's dutiesAndTaxes; only
84
     * provided if estimated duties and taxes were calculated for this shipment. */
85
    private com.fedex.ship.stub.Money totalDutiesAndTaxes;
86
 
87
    /* This shipment's totalNetCharge + totalDutiesAndTaxes; only
88
     * provided if estimated duties and taxes were calculated for this shipment
89
     * AND duties, taxes and transportation charges are all paid by the same
90
     * sender's account. */
91
    private com.fedex.ship.stub.Money totalNetChargeWithDutiesAndTaxes;
92
 
93
    /* Identifies the Rate Details per each leg in a Freight Shipment */
94
    private com.fedex.ship.stub.ShipmentLegRateDetail[] shipmentLegRateDetails;
95
 
96
    /* Rate data specific to FedEx Freight and FedEx National Freight
97
     * services. */
98
    private com.fedex.ship.stub.FreightRateDetail freightRateDetail;
99
 
100
    /* All rate discounts that apply to this shipment. */
101
    private com.fedex.ship.stub.RateDiscount[] freightDiscounts;
102
 
103
    /* All rebates that apply to this shipment. */
104
    private com.fedex.ship.stub.Rebate[] rebates;
105
 
106
    /* All surcharges that apply to this shipment. */
107
    private com.fedex.ship.stub.Surcharge[] surcharges;
108
 
109
    /* All transportation-based taxes applicable to this shipment. */
110
    private com.fedex.ship.stub.Tax[] taxes;
111
 
112
    /* All commodity-based duties and taxes applicable to this shipment. */
113
    private com.fedex.ship.stub.EdtCommodityTax[] dutiesAndTaxes;
114
 
115
    /* The "order level" variable handling charges. */
116
    private com.fedex.ship.stub.VariableHandlingCharges variableHandlingCharges;
117
 
118
    /* The total of all variable handling charges at both shipment
119
     * (order) and package level. */
120
    private com.fedex.ship.stub.VariableHandlingCharges totalVariableHandlingCharges;
121
 
122
    public ShipmentRateDetail() {
123
    }
124
 
125
    public ShipmentRateDetail(
126
           com.fedex.ship.stub.ReturnedRateType rateType,
127
           java.lang.String rateScale,
128
           java.lang.String rateZone,
129
           com.fedex.ship.stub.PricingCodeType pricingCode,
130
           com.fedex.ship.stub.RatedWeightMethod ratedWeightMethod,
131
           com.fedex.ship.stub.MinimumChargeType minimumChargeType,
132
           com.fedex.ship.stub.CurrencyExchangeRate currencyExchangeRate,
133
           com.fedex.ship.stub.SpecialRatingAppliedType[] specialRatingApplied,
134
           org.apache.axis.types.NonNegativeInteger dimDivisor,
135
           com.fedex.ship.stub.RateDimensionalDivisorType dimDivisorType,
136
           java.math.BigDecimal fuelSurchargePercent,
137
           com.fedex.ship.stub.Weight totalBillingWeight,
138
           com.fedex.ship.stub.Weight totalDimWeight,
139
           com.fedex.ship.stub.Money totalBaseCharge,
140
           com.fedex.ship.stub.Money totalFreightDiscounts,
141
           com.fedex.ship.stub.Money totalNetFreight,
142
           com.fedex.ship.stub.Money totalSurcharges,
143
           com.fedex.ship.stub.Money totalNetFedExCharge,
144
           com.fedex.ship.stub.Money totalTaxes,
145
           com.fedex.ship.stub.Money totalNetCharge,
146
           com.fedex.ship.stub.Money totalRebates,
147
           com.fedex.ship.stub.Money totalDutiesAndTaxes,
148
           com.fedex.ship.stub.Money totalNetChargeWithDutiesAndTaxes,
149
           com.fedex.ship.stub.ShipmentLegRateDetail[] shipmentLegRateDetails,
150
           com.fedex.ship.stub.FreightRateDetail freightRateDetail,
151
           com.fedex.ship.stub.RateDiscount[] freightDiscounts,
152
           com.fedex.ship.stub.Rebate[] rebates,
153
           com.fedex.ship.stub.Surcharge[] surcharges,
154
           com.fedex.ship.stub.Tax[] taxes,
155
           com.fedex.ship.stub.EdtCommodityTax[] dutiesAndTaxes,
156
           com.fedex.ship.stub.VariableHandlingCharges variableHandlingCharges,
157
           com.fedex.ship.stub.VariableHandlingCharges totalVariableHandlingCharges) {
158
           this.rateType = rateType;
159
           this.rateScale = rateScale;
160
           this.rateZone = rateZone;
161
           this.pricingCode = pricingCode;
162
           this.ratedWeightMethod = ratedWeightMethod;
163
           this.minimumChargeType = minimumChargeType;
164
           this.currencyExchangeRate = currencyExchangeRate;
165
           this.specialRatingApplied = specialRatingApplied;
166
           this.dimDivisor = dimDivisor;
167
           this.dimDivisorType = dimDivisorType;
168
           this.fuelSurchargePercent = fuelSurchargePercent;
169
           this.totalBillingWeight = totalBillingWeight;
170
           this.totalDimWeight = totalDimWeight;
171
           this.totalBaseCharge = totalBaseCharge;
172
           this.totalFreightDiscounts = totalFreightDiscounts;
173
           this.totalNetFreight = totalNetFreight;
174
           this.totalSurcharges = totalSurcharges;
175
           this.totalNetFedExCharge = totalNetFedExCharge;
176
           this.totalTaxes = totalTaxes;
177
           this.totalNetCharge = totalNetCharge;
178
           this.totalRebates = totalRebates;
179
           this.totalDutiesAndTaxes = totalDutiesAndTaxes;
180
           this.totalNetChargeWithDutiesAndTaxes = totalNetChargeWithDutiesAndTaxes;
181
           this.shipmentLegRateDetails = shipmentLegRateDetails;
182
           this.freightRateDetail = freightRateDetail;
183
           this.freightDiscounts = freightDiscounts;
184
           this.rebates = rebates;
185
           this.surcharges = surcharges;
186
           this.taxes = taxes;
187
           this.dutiesAndTaxes = dutiesAndTaxes;
188
           this.variableHandlingCharges = variableHandlingCharges;
189
           this.totalVariableHandlingCharges = totalVariableHandlingCharges;
190
    }
191
 
192
 
193
    /**
194
     * Gets the rateType value for this ShipmentRateDetail.
195
     * 
196
     * @return rateType   * Type used for this specific set of rate data.
197
     */
198
    public com.fedex.ship.stub.ReturnedRateType getRateType() {
199
        return rateType;
200
    }
201
 
202
 
203
    /**
204
     * Sets the rateType value for this ShipmentRateDetail.
205
     * 
206
     * @param rateType   * Type used for this specific set of rate data.
207
     */
208
    public void setRateType(com.fedex.ship.stub.ReturnedRateType rateType) {
209
        this.rateType = rateType;
210
    }
211
 
212
 
213
    /**
214
     * Gets the rateScale value for this ShipmentRateDetail.
215
     * 
216
     * @return rateScale   * Indicates the rate scale used.
217
     */
218
    public java.lang.String getRateScale() {
219
        return rateScale;
220
    }
221
 
222
 
223
    /**
224
     * Sets the rateScale value for this ShipmentRateDetail.
225
     * 
226
     * @param rateScale   * Indicates the rate scale used.
227
     */
228
    public void setRateScale(java.lang.String rateScale) {
229
        this.rateScale = rateScale;
230
    }
231
 
232
 
233
    /**
234
     * Gets the rateZone value for this ShipmentRateDetail.
235
     * 
236
     * @return rateZone   * Indicates the rate zone used (based on origin and destination).
237
     */
238
    public java.lang.String getRateZone() {
239
        return rateZone;
240
    }
241
 
242
 
243
    /**
244
     * Sets the rateZone value for this ShipmentRateDetail.
245
     * 
246
     * @param rateZone   * Indicates the rate zone used (based on origin and destination).
247
     */
248
    public void setRateZone(java.lang.String rateZone) {
249
        this.rateZone = rateZone;
250
    }
251
 
252
 
253
    /**
254
     * Gets the pricingCode value for this ShipmentRateDetail.
255
     * 
256
     * @return pricingCode   * Identifies the type of pricing used for this shipment.
257
     */
258
    public com.fedex.ship.stub.PricingCodeType getPricingCode() {
259
        return pricingCode;
260
    }
261
 
262
 
263
    /**
264
     * Sets the pricingCode value for this ShipmentRateDetail.
265
     * 
266
     * @param pricingCode   * Identifies the type of pricing used for this shipment.
267
     */
268
    public void setPricingCode(com.fedex.ship.stub.PricingCodeType pricingCode) {
269
        this.pricingCode = pricingCode;
270
    }
271
 
272
 
273
    /**
274
     * Gets the ratedWeightMethod value for this ShipmentRateDetail.
275
     * 
276
     * @return ratedWeightMethod   * Indicates which weight was used.
277
     */
278
    public com.fedex.ship.stub.RatedWeightMethod getRatedWeightMethod() {
279
        return ratedWeightMethod;
280
    }
281
 
282
 
283
    /**
284
     * Sets the ratedWeightMethod value for this ShipmentRateDetail.
285
     * 
286
     * @param ratedWeightMethod   * Indicates which weight was used.
287
     */
288
    public void setRatedWeightMethod(com.fedex.ship.stub.RatedWeightMethod ratedWeightMethod) {
289
        this.ratedWeightMethod = ratedWeightMethod;
290
    }
291
 
292
 
293
    /**
294
     * Gets the minimumChargeType value for this ShipmentRateDetail.
295
     * 
296
     * @return minimumChargeType   * INTERNAL FEDEX USE ONLY.
297
     */
298
    public com.fedex.ship.stub.MinimumChargeType getMinimumChargeType() {
299
        return minimumChargeType;
300
    }
301
 
302
 
303
    /**
304
     * Sets the minimumChargeType value for this ShipmentRateDetail.
305
     * 
306
     * @param minimumChargeType   * INTERNAL FEDEX USE ONLY.
307
     */
308
    public void setMinimumChargeType(com.fedex.ship.stub.MinimumChargeType minimumChargeType) {
309
        this.minimumChargeType = minimumChargeType;
310
    }
311
 
312
 
313
    /**
314
     * Gets the currencyExchangeRate value for this ShipmentRateDetail.
315
     * 
316
     * @return currencyExchangeRate   * Specifies the currency exchange performed on financial amounts
317
     * for this rate.
318
     */
319
    public com.fedex.ship.stub.CurrencyExchangeRate getCurrencyExchangeRate() {
320
        return currencyExchangeRate;
321
    }
322
 
323
 
324
    /**
325
     * Sets the currencyExchangeRate value for this ShipmentRateDetail.
326
     * 
327
     * @param currencyExchangeRate   * Specifies the currency exchange performed on financial amounts
328
     * for this rate.
329
     */
330
    public void setCurrencyExchangeRate(com.fedex.ship.stub.CurrencyExchangeRate currencyExchangeRate) {
331
        this.currencyExchangeRate = currencyExchangeRate;
332
    }
333
 
334
 
335
    /**
336
     * Gets the specialRatingApplied value for this ShipmentRateDetail.
337
     * 
338
     * @return specialRatingApplied   * Indicates which special rating cases applied to this shipment.
339
     */
340
    public com.fedex.ship.stub.SpecialRatingAppliedType[] getSpecialRatingApplied() {
341
        return specialRatingApplied;
342
    }
343
 
344
 
345
    /**
346
     * Sets the specialRatingApplied value for this ShipmentRateDetail.
347
     * 
348
     * @param specialRatingApplied   * Indicates which special rating cases applied to this shipment.
349
     */
350
    public void setSpecialRatingApplied(com.fedex.ship.stub.SpecialRatingAppliedType[] specialRatingApplied) {
351
        this.specialRatingApplied = specialRatingApplied;
352
    }
353
 
354
    public com.fedex.ship.stub.SpecialRatingAppliedType getSpecialRatingApplied(int i) {
355
        return this.specialRatingApplied[i];
356
    }
357
 
358
    public void setSpecialRatingApplied(int i, com.fedex.ship.stub.SpecialRatingAppliedType _value) {
359
        this.specialRatingApplied[i] = _value;
360
    }
361
 
362
 
363
    /**
364
     * Gets the dimDivisor value for this ShipmentRateDetail.
365
     * 
366
     * @return dimDivisor   * The value used to calculate the weight based on the dimensions.
367
     */
368
    public org.apache.axis.types.NonNegativeInteger getDimDivisor() {
369
        return dimDivisor;
370
    }
371
 
372
 
373
    /**
374
     * Sets the dimDivisor value for this ShipmentRateDetail.
375
     * 
376
     * @param dimDivisor   * The value used to calculate the weight based on the dimensions.
377
     */
378
    public void setDimDivisor(org.apache.axis.types.NonNegativeInteger dimDivisor) {
379
        this.dimDivisor = dimDivisor;
380
    }
381
 
382
 
383
    /**
384
     * Gets the dimDivisorType value for this ShipmentRateDetail.
385
     * 
386
     * @return dimDivisorType   * Identifies the type of dim divisor that was applied.
387
     */
388
    public com.fedex.ship.stub.RateDimensionalDivisorType getDimDivisorType() {
389
        return dimDivisorType;
390
    }
391
 
392
 
393
    /**
394
     * Sets the dimDivisorType value for this ShipmentRateDetail.
395
     * 
396
     * @param dimDivisorType   * Identifies the type of dim divisor that was applied.
397
     */
398
    public void setDimDivisorType(com.fedex.ship.stub.RateDimensionalDivisorType dimDivisorType) {
399
        this.dimDivisorType = dimDivisorType;
400
    }
401
 
402
 
403
    /**
404
     * Gets the fuelSurchargePercent value for this ShipmentRateDetail.
405
     * 
406
     * @return fuelSurchargePercent   * Specifies a fuel surcharge percentage.
407
     */
408
    public java.math.BigDecimal getFuelSurchargePercent() {
409
        return fuelSurchargePercent;
410
    }
411
 
412
 
413
    /**
414
     * Sets the fuelSurchargePercent value for this ShipmentRateDetail.
415
     * 
416
     * @param fuelSurchargePercent   * Specifies a fuel surcharge percentage.
417
     */
418
    public void setFuelSurchargePercent(java.math.BigDecimal fuelSurchargePercent) {
419
        this.fuelSurchargePercent = fuelSurchargePercent;
420
    }
421
 
422
 
423
    /**
424
     * Gets the totalBillingWeight value for this ShipmentRateDetail.
425
     * 
426
     * @return totalBillingWeight   * The weight used to calculate these rates.
427
     */
428
    public com.fedex.ship.stub.Weight getTotalBillingWeight() {
429
        return totalBillingWeight;
430
    }
431
 
432
 
433
    /**
434
     * Sets the totalBillingWeight value for this ShipmentRateDetail.
435
     * 
436
     * @param totalBillingWeight   * The weight used to calculate these rates.
437
     */
438
    public void setTotalBillingWeight(com.fedex.ship.stub.Weight totalBillingWeight) {
439
        this.totalBillingWeight = totalBillingWeight;
440
    }
441
 
442
 
443
    /**
444
     * Gets the totalDimWeight value for this ShipmentRateDetail.
445
     * 
446
     * @return totalDimWeight   * Sum of dimensional weights for all packages.
447
     */
448
    public com.fedex.ship.stub.Weight getTotalDimWeight() {
449
        return totalDimWeight;
450
    }
451
 
452
 
453
    /**
454
     * Sets the totalDimWeight value for this ShipmentRateDetail.
455
     * 
456
     * @param totalDimWeight   * Sum of dimensional weights for all packages.
457
     */
458
    public void setTotalDimWeight(com.fedex.ship.stub.Weight totalDimWeight) {
459
        this.totalDimWeight = totalDimWeight;
460
    }
461
 
462
 
463
    /**
464
     * Gets the totalBaseCharge value for this ShipmentRateDetail.
465
     * 
466
     * @return totalBaseCharge   * The total freight charge that was calculated for this package
467
     * before surcharges, discounts and taxes.
468
     */
469
    public com.fedex.ship.stub.Money getTotalBaseCharge() {
470
        return totalBaseCharge;
471
    }
472
 
473
 
474
    /**
475
     * Sets the totalBaseCharge value for this ShipmentRateDetail.
476
     * 
477
     * @param totalBaseCharge   * The total freight charge that was calculated for this package
478
     * before surcharges, discounts and taxes.
479
     */
480
    public void setTotalBaseCharge(com.fedex.ship.stub.Money totalBaseCharge) {
481
        this.totalBaseCharge = totalBaseCharge;
482
    }
483
 
484
 
485
    /**
486
     * Gets the totalFreightDiscounts value for this ShipmentRateDetail.
487
     * 
488
     * @return totalFreightDiscounts   * The total discounts used in the rate calculation.
489
     */
490
    public com.fedex.ship.stub.Money getTotalFreightDiscounts() {
491
        return totalFreightDiscounts;
492
    }
493
 
494
 
495
    /**
496
     * Sets the totalFreightDiscounts value for this ShipmentRateDetail.
497
     * 
498
     * @param totalFreightDiscounts   * The total discounts used in the rate calculation.
499
     */
500
    public void setTotalFreightDiscounts(com.fedex.ship.stub.Money totalFreightDiscounts) {
501
        this.totalFreightDiscounts = totalFreightDiscounts;
502
    }
503
 
504
 
505
    /**
506
     * Gets the totalNetFreight value for this ShipmentRateDetail.
507
     * 
508
     * @return totalNetFreight   * The freight charge minus discounts.
509
     */
510
    public com.fedex.ship.stub.Money getTotalNetFreight() {
511
        return totalNetFreight;
512
    }
513
 
514
 
515
    /**
516
     * Sets the totalNetFreight value for this ShipmentRateDetail.
517
     * 
518
     * @param totalNetFreight   * The freight charge minus discounts.
519
     */
520
    public void setTotalNetFreight(com.fedex.ship.stub.Money totalNetFreight) {
521
        this.totalNetFreight = totalNetFreight;
522
    }
523
 
524
 
525
    /**
526
     * Gets the totalSurcharges value for this ShipmentRateDetail.
527
     * 
528
     * @return totalSurcharges   * The total amount of all surcharges applied to this shipment.
529
     */
530
    public com.fedex.ship.stub.Money getTotalSurcharges() {
531
        return totalSurcharges;
532
    }
533
 
534
 
535
    /**
536
     * Sets the totalSurcharges value for this ShipmentRateDetail.
537
     * 
538
     * @param totalSurcharges   * The total amount of all surcharges applied to this shipment.
539
     */
540
    public void setTotalSurcharges(com.fedex.ship.stub.Money totalSurcharges) {
541
        this.totalSurcharges = totalSurcharges;
542
    }
543
 
544
 
545
    /**
546
     * Gets the totalNetFedExCharge value for this ShipmentRateDetail.
547
     * 
548
     * @return totalNetFedExCharge   * This shipment's totalNetFreight + totalSurcharges (not including
549
     * totalTaxes).
550
     */
551
    public com.fedex.ship.stub.Money getTotalNetFedExCharge() {
552
        return totalNetFedExCharge;
553
    }
554
 
555
 
556
    /**
557
     * Sets the totalNetFedExCharge value for this ShipmentRateDetail.
558
     * 
559
     * @param totalNetFedExCharge   * This shipment's totalNetFreight + totalSurcharges (not including
560
     * totalTaxes).
561
     */
562
    public void setTotalNetFedExCharge(com.fedex.ship.stub.Money totalNetFedExCharge) {
563
        this.totalNetFedExCharge = totalNetFedExCharge;
564
    }
565
 
566
 
567
    /**
568
     * Gets the totalTaxes value for this ShipmentRateDetail.
569
     * 
570
     * @return totalTaxes   * Total of the transportation-based taxes.
571
     */
572
    public com.fedex.ship.stub.Money getTotalTaxes() {
573
        return totalTaxes;
574
    }
575
 
576
 
577
    /**
578
     * Sets the totalTaxes value for this ShipmentRateDetail.
579
     * 
580
     * @param totalTaxes   * Total of the transportation-based taxes.
581
     */
582
    public void setTotalTaxes(com.fedex.ship.stub.Money totalTaxes) {
583
        this.totalTaxes = totalTaxes;
584
    }
585
 
586
 
587
    /**
588
     * Gets the totalNetCharge value for this ShipmentRateDetail.
589
     * 
590
     * @return totalNetCharge   * The net charge after applying all discounts and surcharges.
591
     */
592
    public com.fedex.ship.stub.Money getTotalNetCharge() {
593
        return totalNetCharge;
594
    }
595
 
596
 
597
    /**
598
     * Sets the totalNetCharge value for this ShipmentRateDetail.
599
     * 
600
     * @param totalNetCharge   * The net charge after applying all discounts and surcharges.
601
     */
602
    public void setTotalNetCharge(com.fedex.ship.stub.Money totalNetCharge) {
603
        this.totalNetCharge = totalNetCharge;
604
    }
605
 
606
 
607
    /**
608
     * Gets the totalRebates value for this ShipmentRateDetail.
609
     * 
610
     * @return totalRebates   * The total sum of all rebates applied to this shipment.
611
     */
612
    public com.fedex.ship.stub.Money getTotalRebates() {
613
        return totalRebates;
614
    }
615
 
616
 
617
    /**
618
     * Sets the totalRebates value for this ShipmentRateDetail.
619
     * 
620
     * @param totalRebates   * The total sum of all rebates applied to this shipment.
621
     */
622
    public void setTotalRebates(com.fedex.ship.stub.Money totalRebates) {
623
        this.totalRebates = totalRebates;
624
    }
625
 
626
 
627
    /**
628
     * Gets the totalDutiesAndTaxes value for this ShipmentRateDetail.
629
     * 
630
     * @return totalDutiesAndTaxes   * Total of all values under this shipment's dutiesAndTaxes; only
631
     * provided if estimated duties and taxes were calculated for this shipment.
632
     */
633
    public com.fedex.ship.stub.Money getTotalDutiesAndTaxes() {
634
        return totalDutiesAndTaxes;
635
    }
636
 
637
 
638
    /**
639
     * Sets the totalDutiesAndTaxes value for this ShipmentRateDetail.
640
     * 
641
     * @param totalDutiesAndTaxes   * Total of all values under this shipment's dutiesAndTaxes; only
642
     * provided if estimated duties and taxes were calculated for this shipment.
643
     */
644
    public void setTotalDutiesAndTaxes(com.fedex.ship.stub.Money totalDutiesAndTaxes) {
645
        this.totalDutiesAndTaxes = totalDutiesAndTaxes;
646
    }
647
 
648
 
649
    /**
650
     * Gets the totalNetChargeWithDutiesAndTaxes value for this ShipmentRateDetail.
651
     * 
652
     * @return totalNetChargeWithDutiesAndTaxes   * This shipment's totalNetCharge + totalDutiesAndTaxes; only
653
     * provided if estimated duties and taxes were calculated for this shipment
654
     * AND duties, taxes and transportation charges are all paid by the same
655
     * sender's account.
656
     */
657
    public com.fedex.ship.stub.Money getTotalNetChargeWithDutiesAndTaxes() {
658
        return totalNetChargeWithDutiesAndTaxes;
659
    }
660
 
661
 
662
    /**
663
     * Sets the totalNetChargeWithDutiesAndTaxes value for this ShipmentRateDetail.
664
     * 
665
     * @param totalNetChargeWithDutiesAndTaxes   * This shipment's totalNetCharge + totalDutiesAndTaxes; only
666
     * provided if estimated duties and taxes were calculated for this shipment
667
     * AND duties, taxes and transportation charges are all paid by the same
668
     * sender's account.
669
     */
670
    public void setTotalNetChargeWithDutiesAndTaxes(com.fedex.ship.stub.Money totalNetChargeWithDutiesAndTaxes) {
671
        this.totalNetChargeWithDutiesAndTaxes = totalNetChargeWithDutiesAndTaxes;
672
    }
673
 
674
 
675
    /**
676
     * Gets the shipmentLegRateDetails value for this ShipmentRateDetail.
677
     * 
678
     * @return shipmentLegRateDetails   * Identifies the Rate Details per each leg in a Freight Shipment
679
     */
680
    public com.fedex.ship.stub.ShipmentLegRateDetail[] getShipmentLegRateDetails() {
681
        return shipmentLegRateDetails;
682
    }
683
 
684
 
685
    /**
686
     * Sets the shipmentLegRateDetails value for this ShipmentRateDetail.
687
     * 
688
     * @param shipmentLegRateDetails   * Identifies the Rate Details per each leg in a Freight Shipment
689
     */
690
    public void setShipmentLegRateDetails(com.fedex.ship.stub.ShipmentLegRateDetail[] shipmentLegRateDetails) {
691
        this.shipmentLegRateDetails = shipmentLegRateDetails;
692
    }
693
 
694
    public com.fedex.ship.stub.ShipmentLegRateDetail getShipmentLegRateDetails(int i) {
695
        return this.shipmentLegRateDetails[i];
696
    }
697
 
698
    public void setShipmentLegRateDetails(int i, com.fedex.ship.stub.ShipmentLegRateDetail _value) {
699
        this.shipmentLegRateDetails[i] = _value;
700
    }
701
 
702
 
703
    /**
704
     * Gets the freightRateDetail value for this ShipmentRateDetail.
705
     * 
706
     * @return freightRateDetail   * Rate data specific to FedEx Freight and FedEx National Freight
707
     * services.
708
     */
709
    public com.fedex.ship.stub.FreightRateDetail getFreightRateDetail() {
710
        return freightRateDetail;
711
    }
712
 
713
 
714
    /**
715
     * Sets the freightRateDetail value for this ShipmentRateDetail.
716
     * 
717
     * @param freightRateDetail   * Rate data specific to FedEx Freight and FedEx National Freight
718
     * services.
719
     */
720
    public void setFreightRateDetail(com.fedex.ship.stub.FreightRateDetail freightRateDetail) {
721
        this.freightRateDetail = freightRateDetail;
722
    }
723
 
724
 
725
    /**
726
     * Gets the freightDiscounts value for this ShipmentRateDetail.
727
     * 
728
     * @return freightDiscounts   * All rate discounts that apply to this shipment.
729
     */
730
    public com.fedex.ship.stub.RateDiscount[] getFreightDiscounts() {
731
        return freightDiscounts;
732
    }
733
 
734
 
735
    /**
736
     * Sets the freightDiscounts value for this ShipmentRateDetail.
737
     * 
738
     * @param freightDiscounts   * All rate discounts that apply to this shipment.
739
     */
740
    public void setFreightDiscounts(com.fedex.ship.stub.RateDiscount[] freightDiscounts) {
741
        this.freightDiscounts = freightDiscounts;
742
    }
743
 
744
    public com.fedex.ship.stub.RateDiscount getFreightDiscounts(int i) {
745
        return this.freightDiscounts[i];
746
    }
747
 
748
    public void setFreightDiscounts(int i, com.fedex.ship.stub.RateDiscount _value) {
749
        this.freightDiscounts[i] = _value;
750
    }
751
 
752
 
753
    /**
754
     * Gets the rebates value for this ShipmentRateDetail.
755
     * 
756
     * @return rebates   * All rebates that apply to this shipment.
757
     */
758
    public com.fedex.ship.stub.Rebate[] getRebates() {
759
        return rebates;
760
    }
761
 
762
 
763
    /**
764
     * Sets the rebates value for this ShipmentRateDetail.
765
     * 
766
     * @param rebates   * All rebates that apply to this shipment.
767
     */
768
    public void setRebates(com.fedex.ship.stub.Rebate[] rebates) {
769
        this.rebates = rebates;
770
    }
771
 
772
    public com.fedex.ship.stub.Rebate getRebates(int i) {
773
        return this.rebates[i];
774
    }
775
 
776
    public void setRebates(int i, com.fedex.ship.stub.Rebate _value) {
777
        this.rebates[i] = _value;
778
    }
779
 
780
 
781
    /**
782
     * Gets the surcharges value for this ShipmentRateDetail.
783
     * 
784
     * @return surcharges   * All surcharges that apply to this shipment.
785
     */
786
    public com.fedex.ship.stub.Surcharge[] getSurcharges() {
787
        return surcharges;
788
    }
789
 
790
 
791
    /**
792
     * Sets the surcharges value for this ShipmentRateDetail.
793
     * 
794
     * @param surcharges   * All surcharges that apply to this shipment.
795
     */
796
    public void setSurcharges(com.fedex.ship.stub.Surcharge[] surcharges) {
797
        this.surcharges = surcharges;
798
    }
799
 
800
    public com.fedex.ship.stub.Surcharge getSurcharges(int i) {
801
        return this.surcharges[i];
802
    }
803
 
804
    public void setSurcharges(int i, com.fedex.ship.stub.Surcharge _value) {
805
        this.surcharges[i] = _value;
806
    }
807
 
808
 
809
    /**
810
     * Gets the taxes value for this ShipmentRateDetail.
811
     * 
812
     * @return taxes   * All transportation-based taxes applicable to this shipment.
813
     */
814
    public com.fedex.ship.stub.Tax[] getTaxes() {
815
        return taxes;
816
    }
817
 
818
 
819
    /**
820
     * Sets the taxes value for this ShipmentRateDetail.
821
     * 
822
     * @param taxes   * All transportation-based taxes applicable to this shipment.
823
     */
824
    public void setTaxes(com.fedex.ship.stub.Tax[] taxes) {
825
        this.taxes = taxes;
826
    }
827
 
828
    public com.fedex.ship.stub.Tax getTaxes(int i) {
829
        return this.taxes[i];
830
    }
831
 
832
    public void setTaxes(int i, com.fedex.ship.stub.Tax _value) {
833
        this.taxes[i] = _value;
834
    }
835
 
836
 
837
    /**
838
     * Gets the dutiesAndTaxes value for this ShipmentRateDetail.
839
     * 
840
     * @return dutiesAndTaxes   * All commodity-based duties and taxes applicable to this shipment.
841
     */
842
    public com.fedex.ship.stub.EdtCommodityTax[] getDutiesAndTaxes() {
843
        return dutiesAndTaxes;
844
    }
845
 
846
 
847
    /**
848
     * Sets the dutiesAndTaxes value for this ShipmentRateDetail.
849
     * 
850
     * @param dutiesAndTaxes   * All commodity-based duties and taxes applicable to this shipment.
851
     */
852
    public void setDutiesAndTaxes(com.fedex.ship.stub.EdtCommodityTax[] dutiesAndTaxes) {
853
        this.dutiesAndTaxes = dutiesAndTaxes;
854
    }
855
 
856
    public com.fedex.ship.stub.EdtCommodityTax getDutiesAndTaxes(int i) {
857
        return this.dutiesAndTaxes[i];
858
    }
859
 
860
    public void setDutiesAndTaxes(int i, com.fedex.ship.stub.EdtCommodityTax _value) {
861
        this.dutiesAndTaxes[i] = _value;
862
    }
863
 
864
 
865
    /**
866
     * Gets the variableHandlingCharges value for this ShipmentRateDetail.
867
     * 
868
     * @return variableHandlingCharges   * The "order level" variable handling charges.
869
     */
870
    public com.fedex.ship.stub.VariableHandlingCharges getVariableHandlingCharges() {
871
        return variableHandlingCharges;
872
    }
873
 
874
 
875
    /**
876
     * Sets the variableHandlingCharges value for this ShipmentRateDetail.
877
     * 
878
     * @param variableHandlingCharges   * The "order level" variable handling charges.
879
     */
880
    public void setVariableHandlingCharges(com.fedex.ship.stub.VariableHandlingCharges variableHandlingCharges) {
881
        this.variableHandlingCharges = variableHandlingCharges;
882
    }
883
 
884
 
885
    /**
886
     * Gets the totalVariableHandlingCharges value for this ShipmentRateDetail.
887
     * 
888
     * @return totalVariableHandlingCharges   * The total of all variable handling charges at both shipment
889
     * (order) and package level.
890
     */
891
    public com.fedex.ship.stub.VariableHandlingCharges getTotalVariableHandlingCharges() {
892
        return totalVariableHandlingCharges;
893
    }
894
 
895
 
896
    /**
897
     * Sets the totalVariableHandlingCharges value for this ShipmentRateDetail.
898
     * 
899
     * @param totalVariableHandlingCharges   * The total of all variable handling charges at both shipment
900
     * (order) and package level.
901
     */
902
    public void setTotalVariableHandlingCharges(com.fedex.ship.stub.VariableHandlingCharges totalVariableHandlingCharges) {
903
        this.totalVariableHandlingCharges = totalVariableHandlingCharges;
904
    }
905
 
906
    private java.lang.Object __equalsCalc = null;
907
    public synchronized boolean equals(java.lang.Object obj) {
908
        if (!(obj instanceof ShipmentRateDetail)) return false;
909
        ShipmentRateDetail other = (ShipmentRateDetail) obj;
910
        if (obj == null) return false;
911
        if (this == obj) return true;
912
        if (__equalsCalc != null) {
913
            return (__equalsCalc == obj);
914
        }
915
        __equalsCalc = obj;
916
        boolean _equals;
917
        _equals = true && 
918
            ((this.rateType==null && other.getRateType()==null) || 
919
             (this.rateType!=null &&
920
              this.rateType.equals(other.getRateType()))) &&
921
            ((this.rateScale==null && other.getRateScale()==null) || 
922
             (this.rateScale!=null &&
923
              this.rateScale.equals(other.getRateScale()))) &&
924
            ((this.rateZone==null && other.getRateZone()==null) || 
925
             (this.rateZone!=null &&
926
              this.rateZone.equals(other.getRateZone()))) &&
927
            ((this.pricingCode==null && other.getPricingCode()==null) || 
928
             (this.pricingCode!=null &&
929
              this.pricingCode.equals(other.getPricingCode()))) &&
930
            ((this.ratedWeightMethod==null && other.getRatedWeightMethod()==null) || 
931
             (this.ratedWeightMethod!=null &&
932
              this.ratedWeightMethod.equals(other.getRatedWeightMethod()))) &&
933
            ((this.minimumChargeType==null && other.getMinimumChargeType()==null) || 
934
             (this.minimumChargeType!=null &&
935
              this.minimumChargeType.equals(other.getMinimumChargeType()))) &&
936
            ((this.currencyExchangeRate==null && other.getCurrencyExchangeRate()==null) || 
937
             (this.currencyExchangeRate!=null &&
938
              this.currencyExchangeRate.equals(other.getCurrencyExchangeRate()))) &&
939
            ((this.specialRatingApplied==null && other.getSpecialRatingApplied()==null) || 
940
             (this.specialRatingApplied!=null &&
941
              java.util.Arrays.equals(this.specialRatingApplied, other.getSpecialRatingApplied()))) &&
942
            ((this.dimDivisor==null && other.getDimDivisor()==null) || 
943
             (this.dimDivisor!=null &&
944
              this.dimDivisor.equals(other.getDimDivisor()))) &&
945
            ((this.dimDivisorType==null && other.getDimDivisorType()==null) || 
946
             (this.dimDivisorType!=null &&
947
              this.dimDivisorType.equals(other.getDimDivisorType()))) &&
948
            ((this.fuelSurchargePercent==null && other.getFuelSurchargePercent()==null) || 
949
             (this.fuelSurchargePercent!=null &&
950
              this.fuelSurchargePercent.equals(other.getFuelSurchargePercent()))) &&
951
            ((this.totalBillingWeight==null && other.getTotalBillingWeight()==null) || 
952
             (this.totalBillingWeight!=null &&
953
              this.totalBillingWeight.equals(other.getTotalBillingWeight()))) &&
954
            ((this.totalDimWeight==null && other.getTotalDimWeight()==null) || 
955
             (this.totalDimWeight!=null &&
956
              this.totalDimWeight.equals(other.getTotalDimWeight()))) &&
957
            ((this.totalBaseCharge==null && other.getTotalBaseCharge()==null) || 
958
             (this.totalBaseCharge!=null &&
959
              this.totalBaseCharge.equals(other.getTotalBaseCharge()))) &&
960
            ((this.totalFreightDiscounts==null && other.getTotalFreightDiscounts()==null) || 
961
             (this.totalFreightDiscounts!=null &&
962
              this.totalFreightDiscounts.equals(other.getTotalFreightDiscounts()))) &&
963
            ((this.totalNetFreight==null && other.getTotalNetFreight()==null) || 
964
             (this.totalNetFreight!=null &&
965
              this.totalNetFreight.equals(other.getTotalNetFreight()))) &&
966
            ((this.totalSurcharges==null && other.getTotalSurcharges()==null) || 
967
             (this.totalSurcharges!=null &&
968
              this.totalSurcharges.equals(other.getTotalSurcharges()))) &&
969
            ((this.totalNetFedExCharge==null && other.getTotalNetFedExCharge()==null) || 
970
             (this.totalNetFedExCharge!=null &&
971
              this.totalNetFedExCharge.equals(other.getTotalNetFedExCharge()))) &&
972
            ((this.totalTaxes==null && other.getTotalTaxes()==null) || 
973
             (this.totalTaxes!=null &&
974
              this.totalTaxes.equals(other.getTotalTaxes()))) &&
975
            ((this.totalNetCharge==null && other.getTotalNetCharge()==null) || 
976
             (this.totalNetCharge!=null &&
977
              this.totalNetCharge.equals(other.getTotalNetCharge()))) &&
978
            ((this.totalRebates==null && other.getTotalRebates()==null) || 
979
             (this.totalRebates!=null &&
980
              this.totalRebates.equals(other.getTotalRebates()))) &&
981
            ((this.totalDutiesAndTaxes==null && other.getTotalDutiesAndTaxes()==null) || 
982
             (this.totalDutiesAndTaxes!=null &&
983
              this.totalDutiesAndTaxes.equals(other.getTotalDutiesAndTaxes()))) &&
984
            ((this.totalNetChargeWithDutiesAndTaxes==null && other.getTotalNetChargeWithDutiesAndTaxes()==null) || 
985
             (this.totalNetChargeWithDutiesAndTaxes!=null &&
986
              this.totalNetChargeWithDutiesAndTaxes.equals(other.getTotalNetChargeWithDutiesAndTaxes()))) &&
987
            ((this.shipmentLegRateDetails==null && other.getShipmentLegRateDetails()==null) || 
988
             (this.shipmentLegRateDetails!=null &&
989
              java.util.Arrays.equals(this.shipmentLegRateDetails, other.getShipmentLegRateDetails()))) &&
990
            ((this.freightRateDetail==null && other.getFreightRateDetail()==null) || 
991
             (this.freightRateDetail!=null &&
992
              this.freightRateDetail.equals(other.getFreightRateDetail()))) &&
993
            ((this.freightDiscounts==null && other.getFreightDiscounts()==null) || 
994
             (this.freightDiscounts!=null &&
995
              java.util.Arrays.equals(this.freightDiscounts, other.getFreightDiscounts()))) &&
996
            ((this.rebates==null && other.getRebates()==null) || 
997
             (this.rebates!=null &&
998
              java.util.Arrays.equals(this.rebates, other.getRebates()))) &&
999
            ((this.surcharges==null && other.getSurcharges()==null) || 
1000
             (this.surcharges!=null &&
1001
              java.util.Arrays.equals(this.surcharges, other.getSurcharges()))) &&
1002
            ((this.taxes==null && other.getTaxes()==null) || 
1003
             (this.taxes!=null &&
1004
              java.util.Arrays.equals(this.taxes, other.getTaxes()))) &&
1005
            ((this.dutiesAndTaxes==null && other.getDutiesAndTaxes()==null) || 
1006
             (this.dutiesAndTaxes!=null &&
1007
              java.util.Arrays.equals(this.dutiesAndTaxes, other.getDutiesAndTaxes()))) &&
1008
            ((this.variableHandlingCharges==null && other.getVariableHandlingCharges()==null) || 
1009
             (this.variableHandlingCharges!=null &&
1010
              this.variableHandlingCharges.equals(other.getVariableHandlingCharges()))) &&
1011
            ((this.totalVariableHandlingCharges==null && other.getTotalVariableHandlingCharges()==null) || 
1012
             (this.totalVariableHandlingCharges!=null &&
1013
              this.totalVariableHandlingCharges.equals(other.getTotalVariableHandlingCharges())));
1014
        __equalsCalc = null;
1015
        return _equals;
1016
    }
1017
 
1018
    private boolean __hashCodeCalc = false;
1019
    public synchronized int hashCode() {
1020
        if (__hashCodeCalc) {
1021
            return 0;
1022
        }
1023
        __hashCodeCalc = true;
1024
        int _hashCode = 1;
1025
        if (getRateType() != null) {
1026
            _hashCode += getRateType().hashCode();
1027
        }
1028
        if (getRateScale() != null) {
1029
            _hashCode += getRateScale().hashCode();
1030
        }
1031
        if (getRateZone() != null) {
1032
            _hashCode += getRateZone().hashCode();
1033
        }
1034
        if (getPricingCode() != null) {
1035
            _hashCode += getPricingCode().hashCode();
1036
        }
1037
        if (getRatedWeightMethod() != null) {
1038
            _hashCode += getRatedWeightMethod().hashCode();
1039
        }
1040
        if (getMinimumChargeType() != null) {
1041
            _hashCode += getMinimumChargeType().hashCode();
1042
        }
1043
        if (getCurrencyExchangeRate() != null) {
1044
            _hashCode += getCurrencyExchangeRate().hashCode();
1045
        }
1046
        if (getSpecialRatingApplied() != null) {
1047
            for (int i=0;
1048
                 i<java.lang.reflect.Array.getLength(getSpecialRatingApplied());
1049
                 i++) {
1050
                java.lang.Object obj = java.lang.reflect.Array.get(getSpecialRatingApplied(), i);
1051
                if (obj != null &&
1052
                    !obj.getClass().isArray()) {
1053
                    _hashCode += obj.hashCode();
1054
                }
1055
            }
1056
        }
1057
        if (getDimDivisor() != null) {
1058
            _hashCode += getDimDivisor().hashCode();
1059
        }
1060
        if (getDimDivisorType() != null) {
1061
            _hashCode += getDimDivisorType().hashCode();
1062
        }
1063
        if (getFuelSurchargePercent() != null) {
1064
            _hashCode += getFuelSurchargePercent().hashCode();
1065
        }
1066
        if (getTotalBillingWeight() != null) {
1067
            _hashCode += getTotalBillingWeight().hashCode();
1068
        }
1069
        if (getTotalDimWeight() != null) {
1070
            _hashCode += getTotalDimWeight().hashCode();
1071
        }
1072
        if (getTotalBaseCharge() != null) {
1073
            _hashCode += getTotalBaseCharge().hashCode();
1074
        }
1075
        if (getTotalFreightDiscounts() != null) {
1076
            _hashCode += getTotalFreightDiscounts().hashCode();
1077
        }
1078
        if (getTotalNetFreight() != null) {
1079
            _hashCode += getTotalNetFreight().hashCode();
1080
        }
1081
        if (getTotalSurcharges() != null) {
1082
            _hashCode += getTotalSurcharges().hashCode();
1083
        }
1084
        if (getTotalNetFedExCharge() != null) {
1085
            _hashCode += getTotalNetFedExCharge().hashCode();
1086
        }
1087
        if (getTotalTaxes() != null) {
1088
            _hashCode += getTotalTaxes().hashCode();
1089
        }
1090
        if (getTotalNetCharge() != null) {
1091
            _hashCode += getTotalNetCharge().hashCode();
1092
        }
1093
        if (getTotalRebates() != null) {
1094
            _hashCode += getTotalRebates().hashCode();
1095
        }
1096
        if (getTotalDutiesAndTaxes() != null) {
1097
            _hashCode += getTotalDutiesAndTaxes().hashCode();
1098
        }
1099
        if (getTotalNetChargeWithDutiesAndTaxes() != null) {
1100
            _hashCode += getTotalNetChargeWithDutiesAndTaxes().hashCode();
1101
        }
1102
        if (getShipmentLegRateDetails() != null) {
1103
            for (int i=0;
1104
                 i<java.lang.reflect.Array.getLength(getShipmentLegRateDetails());
1105
                 i++) {
1106
                java.lang.Object obj = java.lang.reflect.Array.get(getShipmentLegRateDetails(), i);
1107
                if (obj != null &&
1108
                    !obj.getClass().isArray()) {
1109
                    _hashCode += obj.hashCode();
1110
                }
1111
            }
1112
        }
1113
        if (getFreightRateDetail() != null) {
1114
            _hashCode += getFreightRateDetail().hashCode();
1115
        }
1116
        if (getFreightDiscounts() != null) {
1117
            for (int i=0;
1118
                 i<java.lang.reflect.Array.getLength(getFreightDiscounts());
1119
                 i++) {
1120
                java.lang.Object obj = java.lang.reflect.Array.get(getFreightDiscounts(), i);
1121
                if (obj != null &&
1122
                    !obj.getClass().isArray()) {
1123
                    _hashCode += obj.hashCode();
1124
                }
1125
            }
1126
        }
1127
        if (getRebates() != null) {
1128
            for (int i=0;
1129
                 i<java.lang.reflect.Array.getLength(getRebates());
1130
                 i++) {
1131
                java.lang.Object obj = java.lang.reflect.Array.get(getRebates(), i);
1132
                if (obj != null &&
1133
                    !obj.getClass().isArray()) {
1134
                    _hashCode += obj.hashCode();
1135
                }
1136
            }
1137
        }
1138
        if (getSurcharges() != null) {
1139
            for (int i=0;
1140
                 i<java.lang.reflect.Array.getLength(getSurcharges());
1141
                 i++) {
1142
                java.lang.Object obj = java.lang.reflect.Array.get(getSurcharges(), i);
1143
                if (obj != null &&
1144
                    !obj.getClass().isArray()) {
1145
                    _hashCode += obj.hashCode();
1146
                }
1147
            }
1148
        }
1149
        if (getTaxes() != null) {
1150
            for (int i=0;
1151
                 i<java.lang.reflect.Array.getLength(getTaxes());
1152
                 i++) {
1153
                java.lang.Object obj = java.lang.reflect.Array.get(getTaxes(), i);
1154
                if (obj != null &&
1155
                    !obj.getClass().isArray()) {
1156
                    _hashCode += obj.hashCode();
1157
                }
1158
            }
1159
        }
1160
        if (getDutiesAndTaxes() != null) {
1161
            for (int i=0;
1162
                 i<java.lang.reflect.Array.getLength(getDutiesAndTaxes());
1163
                 i++) {
1164
                java.lang.Object obj = java.lang.reflect.Array.get(getDutiesAndTaxes(), i);
1165
                if (obj != null &&
1166
                    !obj.getClass().isArray()) {
1167
                    _hashCode += obj.hashCode();
1168
                }
1169
            }
1170
        }
1171
        if (getVariableHandlingCharges() != null) {
1172
            _hashCode += getVariableHandlingCharges().hashCode();
1173
        }
1174
        if (getTotalVariableHandlingCharges() != null) {
1175
            _hashCode += getTotalVariableHandlingCharges().hashCode();
1176
        }
1177
        __hashCodeCalc = false;
1178
        return _hashCode;
1179
    }
1180
 
1181
    // Type metadata
1182
    private static org.apache.axis.description.TypeDesc typeDesc =
1183
        new org.apache.axis.description.TypeDesc(ShipmentRateDetail.class, true);
1184
 
1185
    static {
1186
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "ShipmentRateDetail"));
1187
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
1188
        elemField.setFieldName("rateType");
1189
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RateType"));
1190
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "ReturnedRateType"));
1191
        elemField.setMinOccurs(0);
1192
        elemField.setNillable(false);
1193
        typeDesc.addFieldDesc(elemField);
1194
        elemField = new org.apache.axis.description.ElementDesc();
1195
        elemField.setFieldName("rateScale");
1196
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RateScale"));
1197
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
1198
        elemField.setMinOccurs(0);
1199
        elemField.setNillable(false);
1200
        typeDesc.addFieldDesc(elemField);
1201
        elemField = new org.apache.axis.description.ElementDesc();
1202
        elemField.setFieldName("rateZone");
1203
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RateZone"));
1204
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
1205
        elemField.setMinOccurs(0);
1206
        elemField.setNillable(false);
1207
        typeDesc.addFieldDesc(elemField);
1208
        elemField = new org.apache.axis.description.ElementDesc();
1209
        elemField.setFieldName("pricingCode");
1210
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "PricingCode"));
1211
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "PricingCodeType"));
1212
        elemField.setMinOccurs(0);
1213
        elemField.setNillable(false);
1214
        typeDesc.addFieldDesc(elemField);
1215
        elemField = new org.apache.axis.description.ElementDesc();
1216
        elemField.setFieldName("ratedWeightMethod");
1217
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RatedWeightMethod"));
1218
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RatedWeightMethod"));
1219
        elemField.setMinOccurs(0);
1220
        elemField.setNillable(false);
1221
        typeDesc.addFieldDesc(elemField);
1222
        elemField = new org.apache.axis.description.ElementDesc();
1223
        elemField.setFieldName("minimumChargeType");
1224
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "MinimumChargeType"));
1225
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "MinimumChargeType"));
1226
        elemField.setMinOccurs(0);
1227
        elemField.setNillable(false);
1228
        typeDesc.addFieldDesc(elemField);
1229
        elemField = new org.apache.axis.description.ElementDesc();
1230
        elemField.setFieldName("currencyExchangeRate");
1231
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "CurrencyExchangeRate"));
1232
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "CurrencyExchangeRate"));
1233
        elemField.setMinOccurs(0);
1234
        elemField.setNillable(false);
1235
        typeDesc.addFieldDesc(elemField);
1236
        elemField = new org.apache.axis.description.ElementDesc();
1237
        elemField.setFieldName("specialRatingApplied");
1238
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "SpecialRatingApplied"));
1239
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "SpecialRatingAppliedType"));
1240
        elemField.setMinOccurs(0);
1241
        elemField.setNillable(false);
1242
        elemField.setMaxOccursUnbounded(true);
1243
        typeDesc.addFieldDesc(elemField);
1244
        elemField = new org.apache.axis.description.ElementDesc();
1245
        elemField.setFieldName("dimDivisor");
1246
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "DimDivisor"));
1247
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "nonNegativeInteger"));
1248
        elemField.setMinOccurs(0);
1249
        elemField.setNillable(false);
1250
        typeDesc.addFieldDesc(elemField);
1251
        elemField = new org.apache.axis.description.ElementDesc();
1252
        elemField.setFieldName("dimDivisorType");
1253
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "DimDivisorType"));
1254
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RateDimensionalDivisorType"));
1255
        elemField.setMinOccurs(0);
1256
        elemField.setNillable(false);
1257
        typeDesc.addFieldDesc(elemField);
1258
        elemField = new org.apache.axis.description.ElementDesc();
1259
        elemField.setFieldName("fuelSurchargePercent");
1260
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "FuelSurchargePercent"));
1261
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "decimal"));
1262
        elemField.setMinOccurs(0);
1263
        elemField.setNillable(false);
1264
        typeDesc.addFieldDesc(elemField);
1265
        elemField = new org.apache.axis.description.ElementDesc();
1266
        elemField.setFieldName("totalBillingWeight");
1267
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalBillingWeight"));
1268
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Weight"));
1269
        elemField.setMinOccurs(0);
1270
        elemField.setNillable(false);
1271
        typeDesc.addFieldDesc(elemField);
1272
        elemField = new org.apache.axis.description.ElementDesc();
1273
        elemField.setFieldName("totalDimWeight");
1274
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalDimWeight"));
1275
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Weight"));
1276
        elemField.setMinOccurs(0);
1277
        elemField.setNillable(false);
1278
        typeDesc.addFieldDesc(elemField);
1279
        elemField = new org.apache.axis.description.ElementDesc();
1280
        elemField.setFieldName("totalBaseCharge");
1281
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalBaseCharge"));
1282
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1283
        elemField.setMinOccurs(0);
1284
        elemField.setNillable(false);
1285
        typeDesc.addFieldDesc(elemField);
1286
        elemField = new org.apache.axis.description.ElementDesc();
1287
        elemField.setFieldName("totalFreightDiscounts");
1288
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalFreightDiscounts"));
1289
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1290
        elemField.setMinOccurs(0);
1291
        elemField.setNillable(false);
1292
        typeDesc.addFieldDesc(elemField);
1293
        elemField = new org.apache.axis.description.ElementDesc();
1294
        elemField.setFieldName("totalNetFreight");
1295
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalNetFreight"));
1296
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1297
        elemField.setMinOccurs(0);
1298
        elemField.setNillable(false);
1299
        typeDesc.addFieldDesc(elemField);
1300
        elemField = new org.apache.axis.description.ElementDesc();
1301
        elemField.setFieldName("totalSurcharges");
1302
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalSurcharges"));
1303
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1304
        elemField.setMinOccurs(0);
1305
        elemField.setNillable(false);
1306
        typeDesc.addFieldDesc(elemField);
1307
        elemField = new org.apache.axis.description.ElementDesc();
1308
        elemField.setFieldName("totalNetFedExCharge");
1309
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalNetFedExCharge"));
1310
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1311
        elemField.setMinOccurs(0);
1312
        elemField.setNillable(false);
1313
        typeDesc.addFieldDesc(elemField);
1314
        elemField = new org.apache.axis.description.ElementDesc();
1315
        elemField.setFieldName("totalTaxes");
1316
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalTaxes"));
1317
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1318
        elemField.setMinOccurs(0);
1319
        elemField.setNillable(false);
1320
        typeDesc.addFieldDesc(elemField);
1321
        elemField = new org.apache.axis.description.ElementDesc();
1322
        elemField.setFieldName("totalNetCharge");
1323
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalNetCharge"));
1324
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1325
        elemField.setMinOccurs(0);
1326
        elemField.setNillable(false);
1327
        typeDesc.addFieldDesc(elemField);
1328
        elemField = new org.apache.axis.description.ElementDesc();
1329
        elemField.setFieldName("totalRebates");
1330
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalRebates"));
1331
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1332
        elemField.setMinOccurs(0);
1333
        elemField.setNillable(false);
1334
        typeDesc.addFieldDesc(elemField);
1335
        elemField = new org.apache.axis.description.ElementDesc();
1336
        elemField.setFieldName("totalDutiesAndTaxes");
1337
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalDutiesAndTaxes"));
1338
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1339
        elemField.setMinOccurs(0);
1340
        elemField.setNillable(false);
1341
        typeDesc.addFieldDesc(elemField);
1342
        elemField = new org.apache.axis.description.ElementDesc();
1343
        elemField.setFieldName("totalNetChargeWithDutiesAndTaxes");
1344
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalNetChargeWithDutiesAndTaxes"));
1345
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Money"));
1346
        elemField.setMinOccurs(0);
1347
        elemField.setNillable(false);
1348
        typeDesc.addFieldDesc(elemField);
1349
        elemField = new org.apache.axis.description.ElementDesc();
1350
        elemField.setFieldName("shipmentLegRateDetails");
1351
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "ShipmentLegRateDetails"));
1352
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "ShipmentLegRateDetail"));
1353
        elemField.setMinOccurs(0);
1354
        elemField.setNillable(false);
1355
        elemField.setMaxOccursUnbounded(true);
1356
        typeDesc.addFieldDesc(elemField);
1357
        elemField = new org.apache.axis.description.ElementDesc();
1358
        elemField.setFieldName("freightRateDetail");
1359
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "FreightRateDetail"));
1360
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "FreightRateDetail"));
1361
        elemField.setMinOccurs(0);
1362
        elemField.setNillable(false);
1363
        typeDesc.addFieldDesc(elemField);
1364
        elemField = new org.apache.axis.description.ElementDesc();
1365
        elemField.setFieldName("freightDiscounts");
1366
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "FreightDiscounts"));
1367
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "RateDiscount"));
1368
        elemField.setMinOccurs(0);
1369
        elemField.setNillable(false);
1370
        elemField.setMaxOccursUnbounded(true);
1371
        typeDesc.addFieldDesc(elemField);
1372
        elemField = new org.apache.axis.description.ElementDesc();
1373
        elemField.setFieldName("rebates");
1374
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Rebates"));
1375
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Rebate"));
1376
        elemField.setMinOccurs(0);
1377
        elemField.setNillable(false);
1378
        elemField.setMaxOccursUnbounded(true);
1379
        typeDesc.addFieldDesc(elemField);
1380
        elemField = new org.apache.axis.description.ElementDesc();
1381
        elemField.setFieldName("surcharges");
1382
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Surcharges"));
1383
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Surcharge"));
1384
        elemField.setMinOccurs(0);
1385
        elemField.setNillable(false);
1386
        elemField.setMaxOccursUnbounded(true);
1387
        typeDesc.addFieldDesc(elemField);
1388
        elemField = new org.apache.axis.description.ElementDesc();
1389
        elemField.setFieldName("taxes");
1390
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Taxes"));
1391
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "Tax"));
1392
        elemField.setMinOccurs(0);
1393
        elemField.setNillable(false);
1394
        elemField.setMaxOccursUnbounded(true);
1395
        typeDesc.addFieldDesc(elemField);
1396
        elemField = new org.apache.axis.description.ElementDesc();
1397
        elemField.setFieldName("dutiesAndTaxes");
1398
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "DutiesAndTaxes"));
1399
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "EdtCommodityTax"));
1400
        elemField.setMinOccurs(0);
1401
        elemField.setNillable(false);
1402
        elemField.setMaxOccursUnbounded(true);
1403
        typeDesc.addFieldDesc(elemField);
1404
        elemField = new org.apache.axis.description.ElementDesc();
1405
        elemField.setFieldName("variableHandlingCharges");
1406
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "VariableHandlingCharges"));
1407
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "VariableHandlingCharges"));
1408
        elemField.setMinOccurs(0);
1409
        elemField.setNillable(false);
1410
        typeDesc.addFieldDesc(elemField);
1411
        elemField = new org.apache.axis.description.ElementDesc();
1412
        elemField.setFieldName("totalVariableHandlingCharges");
1413
        elemField.setXmlName(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "TotalVariableHandlingCharges"));
1414
        elemField.setXmlType(new javax.xml.namespace.QName("http://fedex.com/ws/ship/v12", "VariableHandlingCharges"));
1415
        elemField.setMinOccurs(0);
1416
        elemField.setNillable(false);
1417
        typeDesc.addFieldDesc(elemField);
1418
    }
1419
 
1420
    /**
1421
     * Return type metadata object
1422
     */
1423
    public static org.apache.axis.description.TypeDesc getTypeDesc() {
1424
        return typeDesc;
1425
    }
1426
 
1427
    /**
1428
     * Get Custom Serializer
1429
     */
1430
    public static org.apache.axis.encoding.Serializer getSerializer(
1431
           java.lang.String mechType, 
1432
           java.lang.Class _javaType,  
1433
           javax.xml.namespace.QName _xmlType) {
1434
        return 
1435
          new  org.apache.axis.encoding.ser.BeanSerializer(
1436
            _javaType, _xmlType, typeDesc);
1437
    }
1438
 
1439
    /**
1440
     * Get Custom Deserializer
1441
     */
1442
    public static org.apache.axis.encoding.Deserializer getDeserializer(
1443
           java.lang.String mechType, 
1444
           java.lang.Class _javaType,  
1445
           javax.xml.namespace.QName _xmlType) {
1446
        return 
1447
          new  org.apache.axis.encoding.ser.BeanDeserializer(
1448
            _javaType, _xmlType, typeDesc);
1449
    }
1450
 
1451
}