Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
68 ashish 1
/**
2
 * Autogenerated by Thrift
3
 *
4
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
 */
6
package in.shop2020.model.v1.order;
7
 
8
import java.util.List;
9
import java.util.ArrayList;
10
import java.util.Map;
11
import java.util.HashMap;
12
import java.util.EnumMap;
13
import java.util.Set;
14
import java.util.HashSet;
15
import java.util.EnumSet;
16
import java.util.Collections;
17
import java.util.BitSet;
18
import java.util.Arrays;
19
import org.slf4j.Logger;
20
import org.slf4j.LoggerFactory;
21
 
22
import org.apache.thrift.*;
23
import org.apache.thrift.meta_data.*;
24
import org.apache.thrift.protocol.*;
25
 
26
public class Transaction implements TBase<Transaction._Fields>, java.io.Serializable, Cloneable {
27
  private static final TStruct STRUCT_DESC = new TStruct("Transaction");
28
 
29
  private static final TField ID_FIELD_DESC = new TField("id", TType.I64, (short)1);
30
  private static final TField ORDER_INFO_FIELD_DESC = new TField("orderInfo", TType.STRUCT, (short)2);
31
  private static final TField SHIPMENT_INFO_FIELD_DESC = new TField("shipmentInfo", TType.STRUCT, (short)3);
32
  private static final TField BILLING_INFO_FIELD_DESC = new TField("billingInfo", TType.STRUCT, (short)4);
33
  private static final TField PAYMENT_INFO_FIELD_DESC = new TField("paymentInfo", TType.STRUCT, (short)5);
34
  private static final TField CREATED_ON_FIELD_DESC = new TField("createdOn", TType.I64, (short)6);
35
  private static final TField EXPECTED_DELIVERY_TIME_FIELD_DESC = new TField("expectedDeliveryTime", TType.I64, (short)7);
36
  private static final TField TRANSACTION_STATUS_FIELD_DESC = new TField("transactionStatus", TType.I32, (short)8);
37
  private static final TField STATUS_DESCRIPTION_FIELD_DESC = new TField("statusDescription", TType.STRING, (short)9);
38
  private static final TField CUSTOMER_ID_FIELD_DESC = new TField("customer_id", TType.I64, (short)10);
39
 
40
  private long id;
41
  private OrderInfo orderInfo;
42
  private ShipmentInfo shipmentInfo;
43
  private BillingInfo billingInfo;
44
  private PaymentInfo paymentInfo;
45
  private long createdOn;
46
  private long expectedDeliveryTime;
47
  private TransactionStatus transactionStatus;
48
  private String statusDescription;
49
  private long customer_id;
50
 
51
  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
52
  public enum _Fields implements TFieldIdEnum {
53
    ID((short)1, "id"),
54
    ORDER_INFO((short)2, "orderInfo"),
55
    SHIPMENT_INFO((short)3, "shipmentInfo"),
56
    BILLING_INFO((short)4, "billingInfo"),
57
    PAYMENT_INFO((short)5, "paymentInfo"),
58
    CREATED_ON((short)6, "createdOn"),
59
    EXPECTED_DELIVERY_TIME((short)7, "expectedDeliveryTime"),
60
    /**
61
     * 
62
     * @see TransactionStatus
63
     */
64
    TRANSACTION_STATUS((short)8, "transactionStatus"),
65
    STATUS_DESCRIPTION((short)9, "statusDescription"),
66
    CUSTOMER_ID((short)10, "customer_id");
67
 
68
    private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
69
    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
70
 
71
    static {
72
      for (_Fields field : EnumSet.allOf(_Fields.class)) {
73
        byId.put((int)field._thriftId, field);
74
        byName.put(field.getFieldName(), field);
75
      }
76
    }
77
 
78
    /**
79
     * Find the _Fields constant that matches fieldId, or null if its not found.
80
     */
81
    public static _Fields findByThriftId(int fieldId) {
82
      return byId.get(fieldId);
83
    }
84
 
85
    /**
86
     * Find the _Fields constant that matches fieldId, throwing an exception
87
     * if it is not found.
88
     */
89
    public static _Fields findByThriftIdOrThrow(int fieldId) {
90
      _Fields fields = findByThriftId(fieldId);
91
      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
92
      return fields;
93
    }
94
 
95
    /**
96
     * Find the _Fields constant that matches name, or null if its not found.
97
     */
98
    public static _Fields findByName(String name) {
99
      return byName.get(name);
100
    }
101
 
102
    private final short _thriftId;
103
    private final String _fieldName;
104
 
105
    _Fields(short thriftId, String fieldName) {
106
      _thriftId = thriftId;
107
      _fieldName = fieldName;
108
    }
109
 
110
    public short getThriftFieldId() {
111
      return _thriftId;
112
    }
113
 
114
    public String getFieldName() {
115
      return _fieldName;
116
    }
117
  }
118
 
119
  // isset id assignments
120
  private static final int __ID_ISSET_ID = 0;
121
  private static final int __CREATEDON_ISSET_ID = 1;
122
  private static final int __EXPECTEDDELIVERYTIME_ISSET_ID = 2;
123
  private static final int __CUSTOMER_ID_ISSET_ID = 3;
124
  private BitSet __isset_bit_vector = new BitSet(4);
125
 
126
  public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
127
    put(_Fields.ID, new FieldMetaData("id", TFieldRequirementType.DEFAULT, 
128
        new FieldValueMetaData(TType.I64)));
129
    put(_Fields.ORDER_INFO, new FieldMetaData("orderInfo", TFieldRequirementType.DEFAULT, 
130
        new StructMetaData(TType.STRUCT, OrderInfo.class)));
131
    put(_Fields.SHIPMENT_INFO, new FieldMetaData("shipmentInfo", TFieldRequirementType.DEFAULT, 
132
        new StructMetaData(TType.STRUCT, ShipmentInfo.class)));
133
    put(_Fields.BILLING_INFO, new FieldMetaData("billingInfo", TFieldRequirementType.DEFAULT, 
134
        new StructMetaData(TType.STRUCT, BillingInfo.class)));
135
    put(_Fields.PAYMENT_INFO, new FieldMetaData("paymentInfo", TFieldRequirementType.DEFAULT, 
136
        new StructMetaData(TType.STRUCT, PaymentInfo.class)));
137
    put(_Fields.CREATED_ON, new FieldMetaData("createdOn", TFieldRequirementType.DEFAULT, 
138
        new FieldValueMetaData(TType.I64)));
139
    put(_Fields.EXPECTED_DELIVERY_TIME, new FieldMetaData("expectedDeliveryTime", TFieldRequirementType.DEFAULT, 
140
        new FieldValueMetaData(TType.I64)));
141
    put(_Fields.TRANSACTION_STATUS, new FieldMetaData("transactionStatus", TFieldRequirementType.DEFAULT, 
142
        new EnumMetaData(TType.ENUM, TransactionStatus.class)));
143
    put(_Fields.STATUS_DESCRIPTION, new FieldMetaData("statusDescription", TFieldRequirementType.DEFAULT, 
144
        new FieldValueMetaData(TType.STRING)));
145
    put(_Fields.CUSTOMER_ID, new FieldMetaData("customer_id", TFieldRequirementType.DEFAULT, 
146
        new FieldValueMetaData(TType.I64)));
147
  }});
148
 
149
  static {
150
    FieldMetaData.addStructMetaDataMap(Transaction.class, metaDataMap);
151
  }
152
 
153
  public Transaction() {
154
  }
155
 
156
  public Transaction(
157
    long id,
158
    OrderInfo orderInfo,
159
    ShipmentInfo shipmentInfo,
160
    BillingInfo billingInfo,
161
    PaymentInfo paymentInfo,
162
    long createdOn,
163
    long expectedDeliveryTime,
164
    TransactionStatus transactionStatus,
165
    String statusDescription,
166
    long customer_id)
167
  {
168
    this();
169
    this.id = id;
170
    setIdIsSet(true);
171
    this.orderInfo = orderInfo;
172
    this.shipmentInfo = shipmentInfo;
173
    this.billingInfo = billingInfo;
174
    this.paymentInfo = paymentInfo;
175
    this.createdOn = createdOn;
176
    setCreatedOnIsSet(true);
177
    this.expectedDeliveryTime = expectedDeliveryTime;
178
    setExpectedDeliveryTimeIsSet(true);
179
    this.transactionStatus = transactionStatus;
180
    this.statusDescription = statusDescription;
181
    this.customer_id = customer_id;
182
    setCustomer_idIsSet(true);
183
  }
184
 
185
  /**
186
   * Performs a deep copy on <i>other</i>.
187
   */
188
  public Transaction(Transaction other) {
189
    __isset_bit_vector.clear();
190
    __isset_bit_vector.or(other.__isset_bit_vector);
191
    this.id = other.id;
192
    if (other.isSetOrderInfo()) {
193
      this.orderInfo = new OrderInfo(other.orderInfo);
194
    }
195
    if (other.isSetShipmentInfo()) {
196
      this.shipmentInfo = new ShipmentInfo(other.shipmentInfo);
197
    }
198
    if (other.isSetBillingInfo()) {
199
      this.billingInfo = new BillingInfo(other.billingInfo);
200
    }
201
    if (other.isSetPaymentInfo()) {
202
      this.paymentInfo = new PaymentInfo(other.paymentInfo);
203
    }
204
    this.createdOn = other.createdOn;
205
    this.expectedDeliveryTime = other.expectedDeliveryTime;
206
    if (other.isSetTransactionStatus()) {
207
      this.transactionStatus = other.transactionStatus;
208
    }
209
    if (other.isSetStatusDescription()) {
210
      this.statusDescription = other.statusDescription;
211
    }
212
    this.customer_id = other.customer_id;
213
  }
214
 
215
  public Transaction deepCopy() {
216
    return new Transaction(this);
217
  }
218
 
219
  @Deprecated
220
  public Transaction clone() {
221
    return new Transaction(this);
222
  }
223
 
224
  public long getId() {
225
    return this.id;
226
  }
227
 
228
  public Transaction setId(long id) {
229
    this.id = id;
230
    setIdIsSet(true);
231
    return this;
232
  }
233
 
234
  public void unsetId() {
235
    __isset_bit_vector.clear(__ID_ISSET_ID);
236
  }
237
 
238
  /** Returns true if field id is set (has been asigned a value) and false otherwise */
239
  public boolean isSetId() {
240
    return __isset_bit_vector.get(__ID_ISSET_ID);
241
  }
242
 
243
  public void setIdIsSet(boolean value) {
244
    __isset_bit_vector.set(__ID_ISSET_ID, value);
245
  }
246
 
247
  public OrderInfo getOrderInfo() {
248
    return this.orderInfo;
249
  }
250
 
251
  public Transaction setOrderInfo(OrderInfo orderInfo) {
252
    this.orderInfo = orderInfo;
253
    return this;
254
  }
255
 
256
  public void unsetOrderInfo() {
257
    this.orderInfo = null;
258
  }
259
 
260
  /** Returns true if field orderInfo is set (has been asigned a value) and false otherwise */
261
  public boolean isSetOrderInfo() {
262
    return this.orderInfo != null;
263
  }
264
 
265
  public void setOrderInfoIsSet(boolean value) {
266
    if (!value) {
267
      this.orderInfo = null;
268
    }
269
  }
270
 
271
  public ShipmentInfo getShipmentInfo() {
272
    return this.shipmentInfo;
273
  }
274
 
275
  public Transaction setShipmentInfo(ShipmentInfo shipmentInfo) {
276
    this.shipmentInfo = shipmentInfo;
277
    return this;
278
  }
279
 
280
  public void unsetShipmentInfo() {
281
    this.shipmentInfo = null;
282
  }
283
 
284
  /** Returns true if field shipmentInfo is set (has been asigned a value) and false otherwise */
285
  public boolean isSetShipmentInfo() {
286
    return this.shipmentInfo != null;
287
  }
288
 
289
  public void setShipmentInfoIsSet(boolean value) {
290
    if (!value) {
291
      this.shipmentInfo = null;
292
    }
293
  }
294
 
295
  public BillingInfo getBillingInfo() {
296
    return this.billingInfo;
297
  }
298
 
299
  public Transaction setBillingInfo(BillingInfo billingInfo) {
300
    this.billingInfo = billingInfo;
301
    return this;
302
  }
303
 
304
  public void unsetBillingInfo() {
305
    this.billingInfo = null;
306
  }
307
 
308
  /** Returns true if field billingInfo is set (has been asigned a value) and false otherwise */
309
  public boolean isSetBillingInfo() {
310
    return this.billingInfo != null;
311
  }
312
 
313
  public void setBillingInfoIsSet(boolean value) {
314
    if (!value) {
315
      this.billingInfo = null;
316
    }
317
  }
318
 
319
  public PaymentInfo getPaymentInfo() {
320
    return this.paymentInfo;
321
  }
322
 
323
  public Transaction setPaymentInfo(PaymentInfo paymentInfo) {
324
    this.paymentInfo = paymentInfo;
325
    return this;
326
  }
327
 
328
  public void unsetPaymentInfo() {
329
    this.paymentInfo = null;
330
  }
331
 
332
  /** Returns true if field paymentInfo is set (has been asigned a value) and false otherwise */
333
  public boolean isSetPaymentInfo() {
334
    return this.paymentInfo != null;
335
  }
336
 
337
  public void setPaymentInfoIsSet(boolean value) {
338
    if (!value) {
339
      this.paymentInfo = null;
340
    }
341
  }
342
 
343
  public long getCreatedOn() {
344
    return this.createdOn;
345
  }
346
 
347
  public Transaction setCreatedOn(long createdOn) {
348
    this.createdOn = createdOn;
349
    setCreatedOnIsSet(true);
350
    return this;
351
  }
352
 
353
  public void unsetCreatedOn() {
354
    __isset_bit_vector.clear(__CREATEDON_ISSET_ID);
355
  }
356
 
357
  /** Returns true if field createdOn is set (has been asigned a value) and false otherwise */
358
  public boolean isSetCreatedOn() {
359
    return __isset_bit_vector.get(__CREATEDON_ISSET_ID);
360
  }
361
 
362
  public void setCreatedOnIsSet(boolean value) {
363
    __isset_bit_vector.set(__CREATEDON_ISSET_ID, value);
364
  }
365
 
366
  public long getExpectedDeliveryTime() {
367
    return this.expectedDeliveryTime;
368
  }
369
 
370
  public Transaction setExpectedDeliveryTime(long expectedDeliveryTime) {
371
    this.expectedDeliveryTime = expectedDeliveryTime;
372
    setExpectedDeliveryTimeIsSet(true);
373
    return this;
374
  }
375
 
376
  public void unsetExpectedDeliveryTime() {
377
    __isset_bit_vector.clear(__EXPECTEDDELIVERYTIME_ISSET_ID);
378
  }
379
 
380
  /** Returns true if field expectedDeliveryTime is set (has been asigned a value) and false otherwise */
381
  public boolean isSetExpectedDeliveryTime() {
382
    return __isset_bit_vector.get(__EXPECTEDDELIVERYTIME_ISSET_ID);
383
  }
384
 
385
  public void setExpectedDeliveryTimeIsSet(boolean value) {
386
    __isset_bit_vector.set(__EXPECTEDDELIVERYTIME_ISSET_ID, value);
387
  }
388
 
389
  /**
390
   * 
391
   * @see TransactionStatus
392
   */
393
  public TransactionStatus getTransactionStatus() {
394
    return this.transactionStatus;
395
  }
396
 
397
  /**
398
   * 
399
   * @see TransactionStatus
400
   */
401
  public Transaction setTransactionStatus(TransactionStatus transactionStatus) {
402
    this.transactionStatus = transactionStatus;
403
    return this;
404
  }
405
 
406
  public void unsetTransactionStatus() {
407
    this.transactionStatus = null;
408
  }
409
 
410
  /** Returns true if field transactionStatus is set (has been asigned a value) and false otherwise */
411
  public boolean isSetTransactionStatus() {
412
    return this.transactionStatus != null;
413
  }
414
 
415
  public void setTransactionStatusIsSet(boolean value) {
416
    if (!value) {
417
      this.transactionStatus = null;
418
    }
419
  }
420
 
421
  public String getStatusDescription() {
422
    return this.statusDescription;
423
  }
424
 
425
  public Transaction setStatusDescription(String statusDescription) {
426
    this.statusDescription = statusDescription;
427
    return this;
428
  }
429
 
430
  public void unsetStatusDescription() {
431
    this.statusDescription = null;
432
  }
433
 
434
  /** Returns true if field statusDescription is set (has been asigned a value) and false otherwise */
435
  public boolean isSetStatusDescription() {
436
    return this.statusDescription != null;
437
  }
438
 
439
  public void setStatusDescriptionIsSet(boolean value) {
440
    if (!value) {
441
      this.statusDescription = null;
442
    }
443
  }
444
 
445
  public long getCustomer_id() {
446
    return this.customer_id;
447
  }
448
 
449
  public Transaction setCustomer_id(long customer_id) {
450
    this.customer_id = customer_id;
451
    setCustomer_idIsSet(true);
452
    return this;
453
  }
454
 
455
  public void unsetCustomer_id() {
456
    __isset_bit_vector.clear(__CUSTOMER_ID_ISSET_ID);
457
  }
458
 
459
  /** Returns true if field customer_id is set (has been asigned a value) and false otherwise */
460
  public boolean isSetCustomer_id() {
461
    return __isset_bit_vector.get(__CUSTOMER_ID_ISSET_ID);
462
  }
463
 
464
  public void setCustomer_idIsSet(boolean value) {
465
    __isset_bit_vector.set(__CUSTOMER_ID_ISSET_ID, value);
466
  }
467
 
468
  public void setFieldValue(_Fields field, Object value) {
469
    switch (field) {
470
    case ID:
471
      if (value == null) {
472
        unsetId();
473
      } else {
474
        setId((Long)value);
475
      }
476
      break;
477
 
478
    case ORDER_INFO:
479
      if (value == null) {
480
        unsetOrderInfo();
481
      } else {
482
        setOrderInfo((OrderInfo)value);
483
      }
484
      break;
485
 
486
    case SHIPMENT_INFO:
487
      if (value == null) {
488
        unsetShipmentInfo();
489
      } else {
490
        setShipmentInfo((ShipmentInfo)value);
491
      }
492
      break;
493
 
494
    case BILLING_INFO:
495
      if (value == null) {
496
        unsetBillingInfo();
497
      } else {
498
        setBillingInfo((BillingInfo)value);
499
      }
500
      break;
501
 
502
    case PAYMENT_INFO:
503
      if (value == null) {
504
        unsetPaymentInfo();
505
      } else {
506
        setPaymentInfo((PaymentInfo)value);
507
      }
508
      break;
509
 
510
    case CREATED_ON:
511
      if (value == null) {
512
        unsetCreatedOn();
513
      } else {
514
        setCreatedOn((Long)value);
515
      }
516
      break;
517
 
518
    case EXPECTED_DELIVERY_TIME:
519
      if (value == null) {
520
        unsetExpectedDeliveryTime();
521
      } else {
522
        setExpectedDeliveryTime((Long)value);
523
      }
524
      break;
525
 
526
    case TRANSACTION_STATUS:
527
      if (value == null) {
528
        unsetTransactionStatus();
529
      } else {
530
        setTransactionStatus((TransactionStatus)value);
531
      }
532
      break;
533
 
534
    case STATUS_DESCRIPTION:
535
      if (value == null) {
536
        unsetStatusDescription();
537
      } else {
538
        setStatusDescription((String)value);
539
      }
540
      break;
541
 
542
    case CUSTOMER_ID:
543
      if (value == null) {
544
        unsetCustomer_id();
545
      } else {
546
        setCustomer_id((Long)value);
547
      }
548
      break;
549
 
550
    }
551
  }
552
 
553
  public void setFieldValue(int fieldID, Object value) {
554
    setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
555
  }
556
 
557
  public Object getFieldValue(_Fields field) {
558
    switch (field) {
559
    case ID:
560
      return new Long(getId());
561
 
562
    case ORDER_INFO:
563
      return getOrderInfo();
564
 
565
    case SHIPMENT_INFO:
566
      return getShipmentInfo();
567
 
568
    case BILLING_INFO:
569
      return getBillingInfo();
570
 
571
    case PAYMENT_INFO:
572
      return getPaymentInfo();
573
 
574
    case CREATED_ON:
575
      return new Long(getCreatedOn());
576
 
577
    case EXPECTED_DELIVERY_TIME:
578
      return new Long(getExpectedDeliveryTime());
579
 
580
    case TRANSACTION_STATUS:
581
      return getTransactionStatus();
582
 
583
    case STATUS_DESCRIPTION:
584
      return getStatusDescription();
585
 
586
    case CUSTOMER_ID:
587
      return new Long(getCustomer_id());
588
 
589
    }
590
    throw new IllegalStateException();
591
  }
592
 
593
  public Object getFieldValue(int fieldId) {
594
    return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
595
  }
596
 
597
  /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
598
  public boolean isSet(_Fields field) {
599
    switch (field) {
600
    case ID:
601
      return isSetId();
602
    case ORDER_INFO:
603
      return isSetOrderInfo();
604
    case SHIPMENT_INFO:
605
      return isSetShipmentInfo();
606
    case BILLING_INFO:
607
      return isSetBillingInfo();
608
    case PAYMENT_INFO:
609
      return isSetPaymentInfo();
610
    case CREATED_ON:
611
      return isSetCreatedOn();
612
    case EXPECTED_DELIVERY_TIME:
613
      return isSetExpectedDeliveryTime();
614
    case TRANSACTION_STATUS:
615
      return isSetTransactionStatus();
616
    case STATUS_DESCRIPTION:
617
      return isSetStatusDescription();
618
    case CUSTOMER_ID:
619
      return isSetCustomer_id();
620
    }
621
    throw new IllegalStateException();
622
  }
623
 
624
  public boolean isSet(int fieldID) {
625
    return isSet(_Fields.findByThriftIdOrThrow(fieldID));
626
  }
627
 
628
  @Override
629
  public boolean equals(Object that) {
630
    if (that == null)
631
      return false;
632
    if (that instanceof Transaction)
633
      return this.equals((Transaction)that);
634
    return false;
635
  }
636
 
637
  public boolean equals(Transaction that) {
638
    if (that == null)
639
      return false;
640
 
641
    boolean this_present_id = true;
642
    boolean that_present_id = true;
643
    if (this_present_id || that_present_id) {
644
      if (!(this_present_id && that_present_id))
645
        return false;
646
      if (this.id != that.id)
647
        return false;
648
    }
649
 
650
    boolean this_present_orderInfo = true && this.isSetOrderInfo();
651
    boolean that_present_orderInfo = true && that.isSetOrderInfo();
652
    if (this_present_orderInfo || that_present_orderInfo) {
653
      if (!(this_present_orderInfo && that_present_orderInfo))
654
        return false;
655
      if (!this.orderInfo.equals(that.orderInfo))
656
        return false;
657
    }
658
 
659
    boolean this_present_shipmentInfo = true && this.isSetShipmentInfo();
660
    boolean that_present_shipmentInfo = true && that.isSetShipmentInfo();
661
    if (this_present_shipmentInfo || that_present_shipmentInfo) {
662
      if (!(this_present_shipmentInfo && that_present_shipmentInfo))
663
        return false;
664
      if (!this.shipmentInfo.equals(that.shipmentInfo))
665
        return false;
666
    }
667
 
668
    boolean this_present_billingInfo = true && this.isSetBillingInfo();
669
    boolean that_present_billingInfo = true && that.isSetBillingInfo();
670
    if (this_present_billingInfo || that_present_billingInfo) {
671
      if (!(this_present_billingInfo && that_present_billingInfo))
672
        return false;
673
      if (!this.billingInfo.equals(that.billingInfo))
674
        return false;
675
    }
676
 
677
    boolean this_present_paymentInfo = true && this.isSetPaymentInfo();
678
    boolean that_present_paymentInfo = true && that.isSetPaymentInfo();
679
    if (this_present_paymentInfo || that_present_paymentInfo) {
680
      if (!(this_present_paymentInfo && that_present_paymentInfo))
681
        return false;
682
      if (!this.paymentInfo.equals(that.paymentInfo))
683
        return false;
684
    }
685
 
686
    boolean this_present_createdOn = true;
687
    boolean that_present_createdOn = true;
688
    if (this_present_createdOn || that_present_createdOn) {
689
      if (!(this_present_createdOn && that_present_createdOn))
690
        return false;
691
      if (this.createdOn != that.createdOn)
692
        return false;
693
    }
694
 
695
    boolean this_present_expectedDeliveryTime = true;
696
    boolean that_present_expectedDeliveryTime = true;
697
    if (this_present_expectedDeliveryTime || that_present_expectedDeliveryTime) {
698
      if (!(this_present_expectedDeliveryTime && that_present_expectedDeliveryTime))
699
        return false;
700
      if (this.expectedDeliveryTime != that.expectedDeliveryTime)
701
        return false;
702
    }
703
 
704
    boolean this_present_transactionStatus = true && this.isSetTransactionStatus();
705
    boolean that_present_transactionStatus = true && that.isSetTransactionStatus();
706
    if (this_present_transactionStatus || that_present_transactionStatus) {
707
      if (!(this_present_transactionStatus && that_present_transactionStatus))
708
        return false;
709
      if (!this.transactionStatus.equals(that.transactionStatus))
710
        return false;
711
    }
712
 
713
    boolean this_present_statusDescription = true && this.isSetStatusDescription();
714
    boolean that_present_statusDescription = true && that.isSetStatusDescription();
715
    if (this_present_statusDescription || that_present_statusDescription) {
716
      if (!(this_present_statusDescription && that_present_statusDescription))
717
        return false;
718
      if (!this.statusDescription.equals(that.statusDescription))
719
        return false;
720
    }
721
 
722
    boolean this_present_customer_id = true;
723
    boolean that_present_customer_id = true;
724
    if (this_present_customer_id || that_present_customer_id) {
725
      if (!(this_present_customer_id && that_present_customer_id))
726
        return false;
727
      if (this.customer_id != that.customer_id)
728
        return false;
729
    }
730
 
731
    return true;
732
  }
733
 
734
  @Override
735
  public int hashCode() {
736
    return 0;
737
  }
738
 
739
  public void read(TProtocol iprot) throws TException {
740
    TField field;
741
    iprot.readStructBegin();
742
    while (true)
743
    {
744
      field = iprot.readFieldBegin();
745
      if (field.type == TType.STOP) { 
746
        break;
747
      }
748
      _Fields fieldId = _Fields.findByThriftId(field.id);
749
      if (fieldId == null) {
750
        TProtocolUtil.skip(iprot, field.type);
751
      } else {
752
        switch (fieldId) {
753
          case ID:
754
            if (field.type == TType.I64) {
755
              this.id = iprot.readI64();
756
              setIdIsSet(true);
757
            } else { 
758
              TProtocolUtil.skip(iprot, field.type);
759
            }
760
            break;
761
          case ORDER_INFO:
762
            if (field.type == TType.STRUCT) {
763
              this.orderInfo = new OrderInfo();
764
              this.orderInfo.read(iprot);
765
            } else { 
766
              TProtocolUtil.skip(iprot, field.type);
767
            }
768
            break;
769
          case SHIPMENT_INFO:
770
            if (field.type == TType.STRUCT) {
771
              this.shipmentInfo = new ShipmentInfo();
772
              this.shipmentInfo.read(iprot);
773
            } else { 
774
              TProtocolUtil.skip(iprot, field.type);
775
            }
776
            break;
777
          case BILLING_INFO:
778
            if (field.type == TType.STRUCT) {
779
              this.billingInfo = new BillingInfo();
780
              this.billingInfo.read(iprot);
781
            } else { 
782
              TProtocolUtil.skip(iprot, field.type);
783
            }
784
            break;
785
          case PAYMENT_INFO:
786
            if (field.type == TType.STRUCT) {
787
              this.paymentInfo = new PaymentInfo();
788
              this.paymentInfo.read(iprot);
789
            } else { 
790
              TProtocolUtil.skip(iprot, field.type);
791
            }
792
            break;
793
          case CREATED_ON:
794
            if (field.type == TType.I64) {
795
              this.createdOn = iprot.readI64();
796
              setCreatedOnIsSet(true);
797
            } else { 
798
              TProtocolUtil.skip(iprot, field.type);
799
            }
800
            break;
801
          case EXPECTED_DELIVERY_TIME:
802
            if (field.type == TType.I64) {
803
              this.expectedDeliveryTime = iprot.readI64();
804
              setExpectedDeliveryTimeIsSet(true);
805
            } else { 
806
              TProtocolUtil.skip(iprot, field.type);
807
            }
808
            break;
809
          case TRANSACTION_STATUS:
810
            if (field.type == TType.I32) {
811
              this.transactionStatus = TransactionStatus.findByValue(iprot.readI32());
812
            } else { 
813
              TProtocolUtil.skip(iprot, field.type);
814
            }
815
            break;
816
          case STATUS_DESCRIPTION:
817
            if (field.type == TType.STRING) {
818
              this.statusDescription = iprot.readString();
819
            } else { 
820
              TProtocolUtil.skip(iprot, field.type);
821
            }
822
            break;
823
          case CUSTOMER_ID:
824
            if (field.type == TType.I64) {
825
              this.customer_id = iprot.readI64();
826
              setCustomer_idIsSet(true);
827
            } else { 
828
              TProtocolUtil.skip(iprot, field.type);
829
            }
830
            break;
831
        }
832
        iprot.readFieldEnd();
833
      }
834
    }
835
    iprot.readStructEnd();
836
    validate();
837
  }
838
 
839
  public void write(TProtocol oprot) throws TException {
840
    validate();
841
 
842
    oprot.writeStructBegin(STRUCT_DESC);
843
    oprot.writeFieldBegin(ID_FIELD_DESC);
844
    oprot.writeI64(this.id);
845
    oprot.writeFieldEnd();
846
    if (this.orderInfo != null) {
847
      oprot.writeFieldBegin(ORDER_INFO_FIELD_DESC);
848
      this.orderInfo.write(oprot);
849
      oprot.writeFieldEnd();
850
    }
851
    if (this.shipmentInfo != null) {
852
      oprot.writeFieldBegin(SHIPMENT_INFO_FIELD_DESC);
853
      this.shipmentInfo.write(oprot);
854
      oprot.writeFieldEnd();
855
    }
856
    if (this.billingInfo != null) {
857
      oprot.writeFieldBegin(BILLING_INFO_FIELD_DESC);
858
      this.billingInfo.write(oprot);
859
      oprot.writeFieldEnd();
860
    }
861
    if (this.paymentInfo != null) {
862
      oprot.writeFieldBegin(PAYMENT_INFO_FIELD_DESC);
863
      this.paymentInfo.write(oprot);
864
      oprot.writeFieldEnd();
865
    }
866
    oprot.writeFieldBegin(CREATED_ON_FIELD_DESC);
867
    oprot.writeI64(this.createdOn);
868
    oprot.writeFieldEnd();
869
    oprot.writeFieldBegin(EXPECTED_DELIVERY_TIME_FIELD_DESC);
870
    oprot.writeI64(this.expectedDeliveryTime);
871
    oprot.writeFieldEnd();
872
    if (this.transactionStatus != null) {
873
      oprot.writeFieldBegin(TRANSACTION_STATUS_FIELD_DESC);
874
      oprot.writeI32(this.transactionStatus.getValue());
875
      oprot.writeFieldEnd();
876
    }
877
    if (this.statusDescription != null) {
878
      oprot.writeFieldBegin(STATUS_DESCRIPTION_FIELD_DESC);
879
      oprot.writeString(this.statusDescription);
880
      oprot.writeFieldEnd();
881
    }
882
    oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
883
    oprot.writeI64(this.customer_id);
884
    oprot.writeFieldEnd();
885
    oprot.writeFieldStop();
886
    oprot.writeStructEnd();
887
  }
888
 
889
  @Override
890
  public String toString() {
891
    StringBuilder sb = new StringBuilder("Transaction(");
892
    boolean first = true;
893
 
894
    sb.append("id:");
895
    sb.append(this.id);
896
    first = false;
897
    if (!first) sb.append(", ");
898
    sb.append("orderInfo:");
899
    if (this.orderInfo == null) {
900
      sb.append("null");
901
    } else {
902
      sb.append(this.orderInfo);
903
    }
904
    first = false;
905
    if (!first) sb.append(", ");
906
    sb.append("shipmentInfo:");
907
    if (this.shipmentInfo == null) {
908
      sb.append("null");
909
    } else {
910
      sb.append(this.shipmentInfo);
911
    }
912
    first = false;
913
    if (!first) sb.append(", ");
914
    sb.append("billingInfo:");
915
    if (this.billingInfo == null) {
916
      sb.append("null");
917
    } else {
918
      sb.append(this.billingInfo);
919
    }
920
    first = false;
921
    if (!first) sb.append(", ");
922
    sb.append("paymentInfo:");
923
    if (this.paymentInfo == null) {
924
      sb.append("null");
925
    } else {
926
      sb.append(this.paymentInfo);
927
    }
928
    first = false;
929
    if (!first) sb.append(", ");
930
    sb.append("createdOn:");
931
    sb.append(this.createdOn);
932
    first = false;
933
    if (!first) sb.append(", ");
934
    sb.append("expectedDeliveryTime:");
935
    sb.append(this.expectedDeliveryTime);
936
    first = false;
937
    if (!first) sb.append(", ");
938
    sb.append("transactionStatus:");
939
    if (this.transactionStatus == null) {
940
      sb.append("null");
941
    } else {
942
      String transactionStatus_name = transactionStatus.name();
943
      if (transactionStatus_name != null) {
944
        sb.append(transactionStatus_name);
945
        sb.append(" (");
946
      }
947
      sb.append(this.transactionStatus);
948
      if (transactionStatus_name != null) {
949
        sb.append(")");
950
      }
951
    }
952
    first = false;
953
    if (!first) sb.append(", ");
954
    sb.append("statusDescription:");
955
    if (this.statusDescription == null) {
956
      sb.append("null");
957
    } else {
958
      sb.append(this.statusDescription);
959
    }
960
    first = false;
961
    if (!first) sb.append(", ");
962
    sb.append("customer_id:");
963
    sb.append(this.customer_id);
964
    first = false;
965
    sb.append(")");
966
    return sb.toString();
967
  }
968
 
969
  public void validate() throws TException {
970
    // check for required fields
971
  }
972
 
973
}
974