1#![allow(clippy::new_without_default)]
3#![allow(clippy::needless_pass_by_value)]
4#![allow(clippy::too_many_arguments)]
5#![allow(unused_imports)]
6
7use fixer::message::Message;
8use fixer::fix_string::FIXString;
9use fixer::errors::MessageRejectErrorEnum;
10use fixer::session::session_id::SessionID;
11
12use rust_decimal::Decimal;
13
14
15use jiff::Timestamp;
16
17use crate::field;
18use crate::tag;
19
20pub struct CollateralReport {
22 pub message: Message,
23}
24
25impl CollateralReport {
26 pub fn new(coll_rpt_id: field::CollRptIDField, coll_status: field::CollStatusField) -> Self {
28 let mut msg = Message::new();
29 msg.header.set_field(tag::MSG_TYPE, FIXString::from("BA".to_string()));
30
31 msg.body.set_field(tag::COLL_RPT_ID, coll_rpt_id.0);
32
33 msg.body.set_field(tag::COLL_STATUS, coll_status.0);
34
35 Self { message: msg }
36 }
37
38 pub fn from_message(msg: Message) -> Self {
40 Self { message: msg }
41 }
42
43 pub fn to_message(self) -> Message {
45 self.message
46 }
47
48
49
50
51 pub fn set_account(&mut self, v: String) {
53 self.message.body.set_field(tag::ACCOUNT, FIXString::from(v));
54 }
55
56 pub fn get_account(&self) -> Result<String, MessageRejectErrorEnum> {
58 let mut fld = field::AccountField::new(String::new());
59 self.message.body.get_field(tag::ACCOUNT, &mut fld.0)?;
60 Ok(fld.value().to_string())
61 }
62
63
64 pub fn has_account(&self) -> bool {
66 self.message.body.has(tag::ACCOUNT)
67 }
68
69
70
71
72 pub fn set_account_type(&mut self, v: isize) {
74 self.message.body.set_field(tag::ACCOUNT_TYPE, fixer::fix_int::FIXInt::from(v));
75 }
76
77 pub fn get_account_type(&self) -> Result<isize, MessageRejectErrorEnum> {
79 let mut fld = field::AccountTypeField::new(0);
80 self.message.body.get_field(tag::ACCOUNT_TYPE, &mut fld.0)?;
81 Ok(fld.value())
82 }
83
84
85 pub fn has_account_type(&self) -> bool {
87 self.message.body.has(tag::ACCOUNT_TYPE)
88 }
89
90
91
92
93 pub fn set_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
95 self.message.body.set_field(tag::ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
96 }
97
98 pub fn get_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
100 let mut fld = field::AccruedInterestAmtField::new(Decimal::ZERO, 0);
101 self.message.body.get_field(tag::ACCRUED_INTEREST_AMT, &mut fld.0)?;
102 Ok(fld.value())
103 }
104
105
106 pub fn has_accrued_interest_amt(&self) -> bool {
108 self.message.body.has(tag::ACCRUED_INTEREST_AMT)
109 }
110
111
112
113
114 pub fn set_agreement_currency(&mut self, v: String) {
116 self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
117 }
118
119 pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
121 let mut fld = field::AgreementCurrencyField::new(String::new());
122 self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
123 Ok(fld.value().to_string())
124 }
125
126
127 pub fn has_agreement_currency(&self) -> bool {
129 self.message.body.has(tag::AGREEMENT_CURRENCY)
130 }
131
132
133
134
135 pub fn set_agreement_date(&mut self, v: String) {
137 self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
138 }
139
140 pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
142 let mut fld = field::AgreementDateField::new(String::new());
143 self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
144 Ok(fld.value().to_string())
145 }
146
147
148 pub fn has_agreement_date(&self) -> bool {
150 self.message.body.has(tag::AGREEMENT_DATE)
151 }
152
153
154
155
156 pub fn set_agreement_desc(&mut self, v: String) {
158 self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
159 }
160
161 pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
163 let mut fld = field::AgreementDescField::new(String::new());
164 self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
165 Ok(fld.value().to_string())
166 }
167
168
169 pub fn has_agreement_desc(&self) -> bool {
171 self.message.body.has(tag::AGREEMENT_DESC)
172 }
173
174
175
176
177 pub fn set_agreement_id(&mut self, v: String) {
179 self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
180 }
181
182 pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
184 let mut fld = field::AgreementIDField::new(String::new());
185 self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
186 Ok(fld.value().to_string())
187 }
188
189
190 pub fn has_agreement_id(&self) -> bool {
192 self.message.body.has(tag::AGREEMENT_ID)
193 }
194
195
196
197
198 pub fn set_benchmark_curve_currency(&mut self, v: String) {
200 self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
201 }
202
203 pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
205 let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
206 self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
207 Ok(fld.value().to_string())
208 }
209
210
211 pub fn has_benchmark_curve_currency(&self) -> bool {
213 self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
214 }
215
216
217
218
219 pub fn set_benchmark_curve_name(&mut self, v: String) {
221 self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
222 }
223
224 pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
226 let mut fld = field::BenchmarkCurveNameField::new(String::new());
227 self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
228 Ok(fld.value().to_string())
229 }
230
231
232 pub fn has_benchmark_curve_name(&self) -> bool {
234 self.message.body.has(tag::BENCHMARK_CURVE_NAME)
235 }
236
237
238
239
240 pub fn set_benchmark_curve_point(&mut self, v: String) {
242 self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
243 }
244
245 pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
247 let mut fld = field::BenchmarkCurvePointField::new(String::new());
248 self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
249 Ok(fld.value().to_string())
250 }
251
252
253 pub fn has_benchmark_curve_point(&self) -> bool {
255 self.message.body.has(tag::BENCHMARK_CURVE_POINT)
256 }
257
258
259
260
261 pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
263 self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
264 }
265
266 pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
268 let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
269 self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
270 Ok(fld.value())
271 }
272
273
274 pub fn has_benchmark_price(&self) -> bool {
276 self.message.body.has(tag::BENCHMARK_PRICE)
277 }
278
279
280
281
282 pub fn set_benchmark_price_type(&mut self, v: isize) {
284 self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
285 }
286
287 pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
289 let mut fld = field::BenchmarkPriceTypeField::new(0);
290 self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
291 Ok(fld.value())
292 }
293
294
295 pub fn has_benchmark_price_type(&self) -> bool {
297 self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
298 }
299
300
301
302
303 pub fn set_benchmark_security_id(&mut self, v: String) {
305 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
306 }
307
308 pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
310 let mut fld = field::BenchmarkSecurityIDField::new(String::new());
311 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
312 Ok(fld.value().to_string())
313 }
314
315
316 pub fn has_benchmark_security_id(&self) -> bool {
318 self.message.body.has(tag::BENCHMARK_SECURITY_ID)
319 }
320
321
322
323
324 pub fn set_benchmark_security_id_source(&mut self, v: String) {
326 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
327 }
328
329 pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
331 let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
332 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
333 Ok(fld.value().to_string())
334 }
335
336
337 pub fn has_benchmark_security_id_source(&self) -> bool {
339 self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
340 }
341
342
343
344
345 pub fn set_cfi_code(&mut self, v: String) {
347 self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
348 }
349
350 pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
352 let mut fld = field::CFICodeField::new(String::new());
353 self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
354 Ok(fld.value().to_string())
355 }
356
357
358 pub fn has_cfi_code(&self) -> bool {
360 self.message.body.has(tag::CFI_CODE)
361 }
362
363
364
365
366 pub fn set_cp_program(&mut self, v: isize) {
368 self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
369 }
370
371 pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
373 let mut fld = field::CPProgramField::new(0);
374 self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
375 Ok(fld.value())
376 }
377
378
379 pub fn has_cp_program(&self) -> bool {
381 self.message.body.has(tag::CP_PROGRAM)
382 }
383
384
385
386
387 pub fn set_cp_reg_type(&mut self, v: String) {
389 self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
390 }
391
392 pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
394 let mut fld = field::CPRegTypeField::new(String::new());
395 self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
396 Ok(fld.value().to_string())
397 }
398
399
400 pub fn has_cp_reg_type(&self) -> bool {
402 self.message.body.has(tag::CP_REG_TYPE)
403 }
404
405
406
407
408 pub fn set_cash_outstanding(&mut self, val: Decimal, scale: i32) {
410 self.message.body.set_field(tag::CASH_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
411 }
412
413 pub fn get_cash_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
415 let mut fld = field::CashOutstandingField::new(Decimal::ZERO, 0);
416 self.message.body.get_field(tag::CASH_OUTSTANDING, &mut fld.0)?;
417 Ok(fld.value())
418 }
419
420
421 pub fn has_cash_outstanding(&self) -> bool {
423 self.message.body.has(tag::CASH_OUTSTANDING)
424 }
425
426
427
428
429 pub fn set_cl_ord_id(&mut self, v: String) {
431 self.message.body.set_field(tag::CL_ORD_ID, FIXString::from(v));
432 }
433
434 pub fn get_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
436 let mut fld = field::ClOrdIDField::new(String::new());
437 self.message.body.get_field(tag::CL_ORD_ID, &mut fld.0)?;
438 Ok(fld.value().to_string())
439 }
440
441
442 pub fn has_cl_ord_id(&self) -> bool {
444 self.message.body.has(tag::CL_ORD_ID)
445 }
446
447
448
449
450 pub fn set_clearing_business_date(&mut self, v: String) {
452 self.message.body.set_field(tag::CLEARING_BUSINESS_DATE, FIXString::from(v));
453 }
454
455 pub fn get_clearing_business_date(&self) -> Result<String, MessageRejectErrorEnum> {
457 let mut fld = field::ClearingBusinessDateField::new(String::new());
458 self.message.body.get_field(tag::CLEARING_BUSINESS_DATE, &mut fld.0)?;
459 Ok(fld.value().to_string())
460 }
461
462
463 pub fn has_clearing_business_date(&self) -> bool {
465 self.message.body.has(tag::CLEARING_BUSINESS_DATE)
466 }
467
468
469
470
471 pub fn set_coll_appl_type(&mut self, v: isize) {
473 self.message.body.set_field(tag::COLL_APPL_TYPE, fixer::fix_int::FIXInt::from(v));
474 }
475
476 pub fn get_coll_appl_type(&self) -> Result<isize, MessageRejectErrorEnum> {
478 let mut fld = field::CollApplTypeField::new(0);
479 self.message.body.get_field(tag::COLL_APPL_TYPE, &mut fld.0)?;
480 Ok(fld.value())
481 }
482
483
484 pub fn has_coll_appl_type(&self) -> bool {
486 self.message.body.has(tag::COLL_APPL_TYPE)
487 }
488
489
490
491
492 pub fn set_coll_inquiry_id(&mut self, v: String) {
494 self.message.body.set_field(tag::COLL_INQUIRY_ID, FIXString::from(v));
495 }
496
497 pub fn get_coll_inquiry_id(&self) -> Result<String, MessageRejectErrorEnum> {
499 let mut fld = field::CollInquiryIDField::new(String::new());
500 self.message.body.get_field(tag::COLL_INQUIRY_ID, &mut fld.0)?;
501 Ok(fld.value().to_string())
502 }
503
504
505 pub fn has_coll_inquiry_id(&self) -> bool {
507 self.message.body.has(tag::COLL_INQUIRY_ID)
508 }
509
510
511
512
513 pub fn set_coll_rpt_id(&mut self, v: String) {
515 self.message.body.set_field(tag::COLL_RPT_ID, FIXString::from(v));
516 }
517
518 pub fn get_coll_rpt_id(&self) -> Result<String, MessageRejectErrorEnum> {
520 let mut fld = field::CollRptIDField::new(String::new());
521 self.message.body.get_field(tag::COLL_RPT_ID, &mut fld.0)?;
522 Ok(fld.value().to_string())
523 }
524
525
526 pub fn has_coll_rpt_id(&self) -> bool {
528 self.message.body.has(tag::COLL_RPT_ID)
529 }
530
531
532
533
534 pub fn set_coll_status(&mut self, v: isize) {
536 self.message.body.set_field(tag::COLL_STATUS, fixer::fix_int::FIXInt::from(v));
537 }
538
539 pub fn get_coll_status(&self) -> Result<isize, MessageRejectErrorEnum> {
541 let mut fld = field::CollStatusField::new(0);
542 self.message.body.get_field(tag::COLL_STATUS, &mut fld.0)?;
543 Ok(fld.value())
544 }
545
546
547 pub fn has_coll_status(&self) -> bool {
549 self.message.body.has(tag::COLL_STATUS)
550 }
551
552
553
554
555 pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
557 self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
558 }
559
560 pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
562 let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
563 self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
564 Ok(fld.value())
565 }
566
567
568 pub fn has_contract_multiplier(&self) -> bool {
570 self.message.body.has(tag::CONTRACT_MULTIPLIER)
571 }
572
573
574
575
576 pub fn set_contract_settl_month(&mut self, v: String) {
578 self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
579 }
580
581 pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
583 let mut fld = field::ContractSettlMonthField::new(String::new());
584 self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
585 Ok(fld.value().to_string())
586 }
587
588
589 pub fn has_contract_settl_month(&self) -> bool {
591 self.message.body.has(tag::CONTRACT_SETTL_MONTH)
592 }
593
594
595
596
597 pub fn set_country_of_issue(&mut self, v: String) {
599 self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
600 }
601
602 pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
604 let mut fld = field::CountryOfIssueField::new(String::new());
605 self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
606 Ok(fld.value().to_string())
607 }
608
609
610 pub fn has_country_of_issue(&self) -> bool {
612 self.message.body.has(tag::COUNTRY_OF_ISSUE)
613 }
614
615
616
617
618 pub fn set_coupon_payment_date(&mut self, v: String) {
620 self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
621 }
622
623 pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
625 let mut fld = field::CouponPaymentDateField::new(String::new());
626 self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
627 Ok(fld.value().to_string())
628 }
629
630
631 pub fn has_coupon_payment_date(&self) -> bool {
633 self.message.body.has(tag::COUPON_PAYMENT_DATE)
634 }
635
636
637
638
639 pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
641 self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
642 }
643
644 pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
646 let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
647 self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
648 Ok(fld.value())
649 }
650
651
652 pub fn has_coupon_rate(&self) -> bool {
654 self.message.body.has(tag::COUPON_RATE)
655 }
656
657
658
659
660 pub fn set_credit_rating(&mut self, v: String) {
662 self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
663 }
664
665 pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
667 let mut fld = field::CreditRatingField::new(String::new());
668 self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
669 Ok(fld.value().to_string())
670 }
671
672
673 pub fn has_credit_rating(&self) -> bool {
675 self.message.body.has(tag::CREDIT_RATING)
676 }
677
678
679
680
681 pub fn set_currency(&mut self, v: String) {
683 self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
684 }
685
686 pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
688 let mut fld = field::CurrencyField::new(String::new());
689 self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
690 Ok(fld.value().to_string())
691 }
692
693
694 pub fn has_currency(&self) -> bool {
696 self.message.body.has(tag::CURRENCY)
697 }
698
699
700
701
702 pub fn set_dated_date(&mut self, v: String) {
704 self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
705 }
706
707 pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
709 let mut fld = field::DatedDateField::new(String::new());
710 self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
711 Ok(fld.value().to_string())
712 }
713
714
715 pub fn has_dated_date(&self) -> bool {
717 self.message.body.has(tag::DATED_DATE)
718 }
719
720
721
722
723 pub fn set_delivery_type(&mut self, v: isize) {
725 self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
726 }
727
728 pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
730 let mut fld = field::DeliveryTypeField::new(0);
731 self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
732 Ok(fld.value())
733 }
734
735
736 pub fn has_delivery_type(&self) -> bool {
738 self.message.body.has(tag::DELIVERY_TYPE)
739 }
740
741
742
743
744 pub fn set_encoded_issuer(&mut self, v: String) {
746 self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
747 }
748
749 pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
751 let mut fld = field::EncodedIssuerField::new(String::new());
752 self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
753 Ok(fld.value().to_string())
754 }
755
756
757 pub fn has_encoded_issuer(&self) -> bool {
759 self.message.body.has(tag::ENCODED_ISSUER)
760 }
761
762
763
764
765 pub fn set_encoded_issuer_len(&mut self, v: isize) {
767 self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
768 }
769
770 pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
772 let mut fld = field::EncodedIssuerLenField::new(0);
773 self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
774 Ok(fld.value())
775 }
776
777
778 pub fn has_encoded_issuer_len(&self) -> bool {
780 self.message.body.has(tag::ENCODED_ISSUER_LEN)
781 }
782
783
784
785
786 pub fn set_encoded_security_desc(&mut self, v: String) {
788 self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
789 }
790
791 pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
793 let mut fld = field::EncodedSecurityDescField::new(String::new());
794 self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
795 Ok(fld.value().to_string())
796 }
797
798
799 pub fn has_encoded_security_desc(&self) -> bool {
801 self.message.body.has(tag::ENCODED_SECURITY_DESC)
802 }
803
804
805
806
807 pub fn set_encoded_security_desc_len(&mut self, v: isize) {
809 self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
810 }
811
812 pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
814 let mut fld = field::EncodedSecurityDescLenField::new(0);
815 self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
816 Ok(fld.value())
817 }
818
819
820 pub fn has_encoded_security_desc_len(&self) -> bool {
822 self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
823 }
824
825
826
827
828 pub fn set_encoded_text(&mut self, v: String) {
830 self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
831 }
832
833 pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
835 let mut fld = field::EncodedTextField::new(String::new());
836 self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
837 Ok(fld.value().to_string())
838 }
839
840
841 pub fn has_encoded_text(&self) -> bool {
843 self.message.body.has(tag::ENCODED_TEXT)
844 }
845
846
847
848
849 pub fn set_encoded_text_len(&mut self, v: isize) {
851 self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
852 }
853
854 pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
856 let mut fld = field::EncodedTextLenField::new(0);
857 self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
858 Ok(fld.value())
859 }
860
861
862 pub fn has_encoded_text_len(&self) -> bool {
864 self.message.body.has(tag::ENCODED_TEXT_LEN)
865 }
866
867
868
869
870 pub fn set_end_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
872 self.message.body.set_field(tag::END_ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
873 }
874
875 pub fn get_end_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
877 let mut fld = field::EndAccruedInterestAmtField::new(Decimal::ZERO, 0);
878 self.message.body.get_field(tag::END_ACCRUED_INTEREST_AMT, &mut fld.0)?;
879 Ok(fld.value())
880 }
881
882
883 pub fn has_end_accrued_interest_amt(&self) -> bool {
885 self.message.body.has(tag::END_ACCRUED_INTEREST_AMT)
886 }
887
888
889
890
891 pub fn set_end_cash(&mut self, val: Decimal, scale: i32) {
893 self.message.body.set_field(tag::END_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
894 }
895
896 pub fn get_end_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
898 let mut fld = field::EndCashField::new(Decimal::ZERO, 0);
899 self.message.body.get_field(tag::END_CASH, &mut fld.0)?;
900 Ok(fld.value())
901 }
902
903
904 pub fn has_end_cash(&self) -> bool {
906 self.message.body.has(tag::END_CASH)
907 }
908
909
910
911
912 pub fn set_end_date(&mut self, v: String) {
914 self.message.body.set_field(tag::END_DATE, FIXString::from(v));
915 }
916
917 pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
919 let mut fld = field::EndDateField::new(String::new());
920 self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
921 Ok(fld.value().to_string())
922 }
923
924
925 pub fn has_end_date(&self) -> bool {
927 self.message.body.has(tag::END_DATE)
928 }
929
930
931
932
933 pub fn set_factor(&mut self, val: Decimal, scale: i32) {
935 self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
936 }
937
938 pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
940 let mut fld = field::FactorField::new(Decimal::ZERO, 0);
941 self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
942 Ok(fld.value())
943 }
944
945
946 pub fn has_factor(&self) -> bool {
948 self.message.body.has(tag::FACTOR)
949 }
950
951
952
953
954 pub fn set_financial_status(&mut self, v: String) {
956 self.message.body.set_field(tag::FINANCIAL_STATUS, FIXString::from(v));
957 }
958
959 pub fn get_financial_status(&self) -> Result<String, MessageRejectErrorEnum> {
961 let mut fld = field::FinancialStatusField::new(String::new());
962 self.message.body.get_field(tag::FINANCIAL_STATUS, &mut fld.0)?;
963 Ok(fld.value().to_string())
964 }
965
966
967 pub fn has_financial_status(&self) -> bool {
969 self.message.body.has(tag::FINANCIAL_STATUS)
970 }
971
972
973
974
975 pub fn set_instr_registry(&mut self, v: String) {
977 self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
978 }
979
980 pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
982 let mut fld = field::InstrRegistryField::new(String::new());
983 self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
984 Ok(fld.value().to_string())
985 }
986
987
988 pub fn has_instr_registry(&self) -> bool {
990 self.message.body.has(tag::INSTR_REGISTRY)
991 }
992
993
994
995
996 pub fn set_instrmt_assignment_method(&mut self, v: String) {
998 self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
999 }
1000
1001 pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
1003 let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
1004 self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
1005 Ok(fld.value().to_string())
1006 }
1007
1008
1009 pub fn has_instrmt_assignment_method(&self) -> bool {
1011 self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
1012 }
1013
1014
1015
1016
1017 pub fn set_interest_accrual_date(&mut self, v: String) {
1019 self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1020 }
1021
1022 pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1024 let mut fld = field::InterestAccrualDateField::new(String::new());
1025 self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1026 Ok(fld.value().to_string())
1027 }
1028
1029
1030 pub fn has_interest_accrual_date(&self) -> bool {
1032 self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1033 }
1034
1035
1036
1037
1038 pub fn set_issue_date(&mut self, v: String) {
1040 self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1041 }
1042
1043 pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1045 let mut fld = field::IssueDateField::new(String::new());
1046 self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1047 Ok(fld.value().to_string())
1048 }
1049
1050
1051 pub fn has_issue_date(&self) -> bool {
1053 self.message.body.has(tag::ISSUE_DATE)
1054 }
1055
1056
1057
1058
1059 pub fn set_issuer(&mut self, v: String) {
1061 self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1062 }
1063
1064 pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1066 let mut fld = field::IssuerField::new(String::new());
1067 self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1068 Ok(fld.value().to_string())
1069 }
1070
1071
1072 pub fn has_issuer(&self) -> bool {
1074 self.message.body.has(tag::ISSUER)
1075 }
1076
1077
1078
1079
1080 pub fn set_last_rpt_requested(&mut self, v: bool) {
1082 self.message.body.set_field(tag::LAST_RPT_REQUESTED, fixer::fix_boolean::FIXBoolean::from(v));
1083 }
1084
1085 pub fn get_last_rpt_requested(&self) -> Result<bool, MessageRejectErrorEnum> {
1087 let mut fld = field::LastRptRequestedField::new(false);
1088 self.message.body.get_field(tag::LAST_RPT_REQUESTED, &mut fld.0)?;
1089 Ok(fld.value())
1090 }
1091
1092
1093 pub fn has_last_rpt_requested(&self) -> bool {
1095 self.message.body.has(tag::LAST_RPT_REQUESTED)
1096 }
1097
1098
1099
1100
1101 pub fn set_locale_of_issue(&mut self, v: String) {
1103 self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1104 }
1105
1106 pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1108 let mut fld = field::LocaleOfIssueField::new(String::new());
1109 self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1110 Ok(fld.value().to_string())
1111 }
1112
1113
1114 pub fn has_locale_of_issue(&self) -> bool {
1116 self.message.body.has(tag::LOCALE_OF_ISSUE)
1117 }
1118
1119
1120
1121
1122 pub fn set_margin_excess(&mut self, val: Decimal, scale: i32) {
1124 self.message.body.set_field(tag::MARGIN_EXCESS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1125 }
1126
1127 pub fn get_margin_excess(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1129 let mut fld = field::MarginExcessField::new(Decimal::ZERO, 0);
1130 self.message.body.get_field(tag::MARGIN_EXCESS, &mut fld.0)?;
1131 Ok(fld.value())
1132 }
1133
1134
1135 pub fn has_margin_excess(&self) -> bool {
1137 self.message.body.has(tag::MARGIN_EXCESS)
1138 }
1139
1140
1141
1142
1143 pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
1145 self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1146 }
1147
1148 pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1150 let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
1151 self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
1152 Ok(fld.value())
1153 }
1154
1155
1156 pub fn has_margin_ratio(&self) -> bool {
1158 self.message.body.has(tag::MARGIN_RATIO)
1159 }
1160
1161
1162
1163
1164 pub fn set_maturity_date(&mut self, v: String) {
1166 self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1167 }
1168
1169 pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1171 let mut fld = field::MaturityDateField::new(String::new());
1172 self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1173 Ok(fld.value().to_string())
1174 }
1175
1176
1177 pub fn has_maturity_date(&self) -> bool {
1179 self.message.body.has(tag::MATURITY_DATE)
1180 }
1181
1182
1183
1184
1185 pub fn set_maturity_month_year(&mut self, v: String) {
1187 self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1188 }
1189
1190 pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1192 let mut fld = field::MaturityMonthYearField::new(String::new());
1193 self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1194 Ok(fld.value().to_string())
1195 }
1196
1197
1198 pub fn has_maturity_month_year(&self) -> bool {
1200 self.message.body.has(tag::MATURITY_MONTH_YEAR)
1201 }
1202
1203
1204
1205
1206 pub fn set_maturity_time(&mut self, v: String) {
1208 self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
1209 }
1210
1211 pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
1213 let mut fld = field::MaturityTimeField::new(String::new());
1214 self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
1215 Ok(fld.value().to_string())
1216 }
1217
1218
1219 pub fn has_maturity_time(&self) -> bool {
1221 self.message.body.has(tag::MATURITY_TIME)
1222 }
1223
1224
1225
1226
1227 pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
1229 self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1230 }
1231
1232 pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1234 let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
1235 self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
1236 Ok(fld.value())
1237 }
1238
1239
1240 pub fn has_min_price_increment(&self) -> bool {
1242 self.message.body.has(tag::MIN_PRICE_INCREMENT)
1243 }
1244
1245
1246
1247
1248 pub fn set_nt_position_limit(&mut self, v: isize) {
1250 self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1251 }
1252
1253 pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1255 let mut fld = field::NTPositionLimitField::new(0);
1256 self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
1257 Ok(fld.value())
1258 }
1259
1260
1261 pub fn has_nt_position_limit(&self) -> bool {
1263 self.message.body.has(tag::NT_POSITION_LIMIT)
1264 }
1265
1266
1267
1268
1269 pub fn set_no_dlvy_inst(&mut self, v: isize) {
1271 self.message.body.set_field(tag::NO_DLVY_INST, fixer::fix_int::FIXInt::from(v));
1272 }
1273
1274 pub fn get_no_dlvy_inst(&self) -> Result<isize, MessageRejectErrorEnum> {
1276 let mut fld = field::NoDlvyInstField::new(0);
1277 self.message.body.get_field(tag::NO_DLVY_INST, &mut fld.0)?;
1278 Ok(fld.value())
1279 }
1280
1281
1282 pub fn has_no_dlvy_inst(&self) -> bool {
1284 self.message.body.has(tag::NO_DLVY_INST)
1285 }
1286
1287
1288
1289
1290 pub fn set_no_events(&mut self, v: isize) {
1292 self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1293 }
1294
1295 pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1297 let mut fld = field::NoEventsField::new(0);
1298 self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1299 Ok(fld.value())
1300 }
1301
1302
1303 pub fn has_no_events(&self) -> bool {
1305 self.message.body.has(tag::NO_EVENTS)
1306 }
1307
1308
1309
1310
1311 pub fn set_no_execs(&mut self, v: isize) {
1313 self.message.body.set_field(tag::NO_EXECS, fixer::fix_int::FIXInt::from(v));
1314 }
1315
1316 pub fn get_no_execs(&self) -> Result<isize, MessageRejectErrorEnum> {
1318 let mut fld = field::NoExecsField::new(0);
1319 self.message.body.get_field(tag::NO_EXECS, &mut fld.0)?;
1320 Ok(fld.value())
1321 }
1322
1323
1324 pub fn has_no_execs(&self) -> bool {
1326 self.message.body.has(tag::NO_EXECS)
1327 }
1328
1329
1330
1331
1332 pub fn set_no_instrument_parties(&mut self, v: isize) {
1334 self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1335 }
1336
1337 pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1339 let mut fld = field::NoInstrumentPartiesField::new(0);
1340 self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1341 Ok(fld.value())
1342 }
1343
1344
1345 pub fn has_no_instrument_parties(&self) -> bool {
1347 self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1348 }
1349
1350
1351
1352
1353 pub fn set_no_legs(&mut self, v: isize) {
1355 self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1356 }
1357
1358 pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1360 let mut fld = field::NoLegsField::new(0);
1361 self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1362 Ok(fld.value())
1363 }
1364
1365
1366 pub fn has_no_legs(&self) -> bool {
1368 self.message.body.has(tag::NO_LEGS)
1369 }
1370
1371
1372
1373
1374 pub fn set_no_misc_fees(&mut self, v: isize) {
1376 self.message.body.set_field(tag::NO_MISC_FEES, fixer::fix_int::FIXInt::from(v));
1377 }
1378
1379 pub fn get_no_misc_fees(&self) -> Result<isize, MessageRejectErrorEnum> {
1381 let mut fld = field::NoMiscFeesField::new(0);
1382 self.message.body.get_field(tag::NO_MISC_FEES, &mut fld.0)?;
1383 Ok(fld.value())
1384 }
1385
1386
1387 pub fn has_no_misc_fees(&self) -> bool {
1389 self.message.body.has(tag::NO_MISC_FEES)
1390 }
1391
1392
1393
1394
1395 pub fn set_no_party_i_ds(&mut self, v: isize) {
1397 self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1398 }
1399
1400 pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1402 let mut fld = field::NoPartyIDsField::new(0);
1403 self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1404 Ok(fld.value())
1405 }
1406
1407
1408 pub fn has_no_party_i_ds(&self) -> bool {
1410 self.message.body.has(tag::NO_PARTY_I_DS)
1411 }
1412
1413
1414
1415
1416 pub fn set_no_security_alt_id(&mut self, v: isize) {
1418 self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1419 }
1420
1421 pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1423 let mut fld = field::NoSecurityAltIDField::new(0);
1424 self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1425 Ok(fld.value())
1426 }
1427
1428
1429 pub fn has_no_security_alt_id(&self) -> bool {
1431 self.message.body.has(tag::NO_SECURITY_ALT_ID)
1432 }
1433
1434
1435
1436
1437 pub fn set_no_stipulations(&mut self, v: isize) {
1439 self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1440 }
1441
1442 pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1444 let mut fld = field::NoStipulationsField::new(0);
1445 self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1446 Ok(fld.value())
1447 }
1448
1449
1450 pub fn has_no_stipulations(&self) -> bool {
1452 self.message.body.has(tag::NO_STIPULATIONS)
1453 }
1454
1455
1456
1457
1458 pub fn set_no_trades(&mut self, v: isize) {
1460 self.message.body.set_field(tag::NO_TRADES, fixer::fix_int::FIXInt::from(v));
1461 }
1462
1463 pub fn get_no_trades(&self) -> Result<isize, MessageRejectErrorEnum> {
1465 let mut fld = field::NoTradesField::new(0);
1466 self.message.body.get_field(tag::NO_TRADES, &mut fld.0)?;
1467 Ok(fld.value())
1468 }
1469
1470
1471 pub fn has_no_trades(&self) -> bool {
1473 self.message.body.has(tag::NO_TRADES)
1474 }
1475
1476
1477
1478
1479 pub fn set_no_trd_reg_timestamps(&mut self, v: isize) {
1481 self.message.body.set_field(tag::NO_TRD_REG_TIMESTAMPS, fixer::fix_int::FIXInt::from(v));
1482 }
1483
1484 pub fn get_no_trd_reg_timestamps(&self) -> Result<isize, MessageRejectErrorEnum> {
1486 let mut fld = field::NoTrdRegTimestampsField::new(0);
1487 self.message.body.get_field(tag::NO_TRD_REG_TIMESTAMPS, &mut fld.0)?;
1488 Ok(fld.value())
1489 }
1490
1491
1492 pub fn has_no_trd_reg_timestamps(&self) -> bool {
1494 self.message.body.has(tag::NO_TRD_REG_TIMESTAMPS)
1495 }
1496
1497
1498
1499
1500 pub fn set_no_underlyings(&mut self, v: isize) {
1502 self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1503 }
1504
1505 pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1507 let mut fld = field::NoUnderlyingsField::new(0);
1508 self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1509 Ok(fld.value())
1510 }
1511
1512
1513 pub fn has_no_underlyings(&self) -> bool {
1515 self.message.body.has(tag::NO_UNDERLYINGS)
1516 }
1517
1518
1519
1520
1521 pub fn set_opt_attribute(&mut self, v: String) {
1523 self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1524 }
1525
1526 pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1528 let mut fld = field::OptAttributeField::new(String::new());
1529 self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1530 Ok(fld.value().to_string())
1531 }
1532
1533
1534 pub fn has_opt_attribute(&self) -> bool {
1536 self.message.body.has(tag::OPT_ATTRIBUTE)
1537 }
1538
1539
1540
1541
1542 pub fn set_order_id(&mut self, v: String) {
1544 self.message.body.set_field(tag::ORDER_ID, FIXString::from(v));
1545 }
1546
1547 pub fn get_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
1549 let mut fld = field::OrderIDField::new(String::new());
1550 self.message.body.get_field(tag::ORDER_ID, &mut fld.0)?;
1551 Ok(fld.value().to_string())
1552 }
1553
1554
1555 pub fn has_order_id(&self) -> bool {
1557 self.message.body.has(tag::ORDER_ID)
1558 }
1559
1560
1561
1562
1563 pub fn set_pool(&mut self, v: String) {
1565 self.message.body.set_field(tag::POOL, FIXString::from(v));
1566 }
1567
1568 pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1570 let mut fld = field::PoolField::new(String::new());
1571 self.message.body.get_field(tag::POOL, &mut fld.0)?;
1572 Ok(fld.value().to_string())
1573 }
1574
1575
1576 pub fn has_pool(&self) -> bool {
1578 self.message.body.has(tag::POOL)
1579 }
1580
1581
1582
1583
1584 pub fn set_position_limit(&mut self, v: isize) {
1586 self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1587 }
1588
1589 pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1591 let mut fld = field::PositionLimitField::new(0);
1592 self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
1593 Ok(fld.value())
1594 }
1595
1596
1597 pub fn has_position_limit(&self) -> bool {
1599 self.message.body.has(tag::POSITION_LIMIT)
1600 }
1601
1602
1603
1604
1605 pub fn set_price(&mut self, val: Decimal, scale: i32) {
1607 self.message.body.set_field(tag::PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1608 }
1609
1610 pub fn get_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1612 let mut fld = field::PriceField::new(Decimal::ZERO, 0);
1613 self.message.body.get_field(tag::PRICE, &mut fld.0)?;
1614 Ok(fld.value())
1615 }
1616
1617
1618 pub fn has_price(&self) -> bool {
1620 self.message.body.has(tag::PRICE)
1621 }
1622
1623
1624
1625
1626 pub fn set_price_type(&mut self, v: isize) {
1628 self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
1629 }
1630
1631 pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1633 let mut fld = field::PriceTypeField::new(0);
1634 self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
1635 Ok(fld.value())
1636 }
1637
1638
1639 pub fn has_price_type(&self) -> bool {
1641 self.message.body.has(tag::PRICE_TYPE)
1642 }
1643
1644
1645
1646
1647 pub fn set_product(&mut self, v: isize) {
1649 self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
1650 }
1651
1652 pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
1654 let mut fld = field::ProductField::new(0);
1655 self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
1656 Ok(fld.value())
1657 }
1658
1659
1660 pub fn has_product(&self) -> bool {
1662 self.message.body.has(tag::PRODUCT)
1663 }
1664
1665
1666
1667
1668 pub fn set_qty_type(&mut self, v: isize) {
1670 self.message.body.set_field(tag::QTY_TYPE, fixer::fix_int::FIXInt::from(v));
1671 }
1672
1673 pub fn get_qty_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1675 let mut fld = field::QtyTypeField::new(0);
1676 self.message.body.get_field(tag::QTY_TYPE, &mut fld.0)?;
1677 Ok(fld.value())
1678 }
1679
1680
1681 pub fn has_qty_type(&self) -> bool {
1683 self.message.body.has(tag::QTY_TYPE)
1684 }
1685
1686
1687
1688
1689 pub fn set_quantity(&mut self, val: Decimal, scale: i32) {
1691 self.message.body.set_field(tag::QUANTITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1692 }
1693
1694 pub fn get_quantity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1696 let mut fld = field::QuantityField::new(Decimal::ZERO, 0);
1697 self.message.body.get_field(tag::QUANTITY, &mut fld.0)?;
1698 Ok(fld.value())
1699 }
1700
1701
1702 pub fn has_quantity(&self) -> bool {
1704 self.message.body.has(tag::QUANTITY)
1705 }
1706
1707
1708
1709
1710 pub fn set_redemption_date(&mut self, v: String) {
1712 self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
1713 }
1714
1715 pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
1717 let mut fld = field::RedemptionDateField::new(String::new());
1718 self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
1719 Ok(fld.value().to_string())
1720 }
1721
1722
1723 pub fn has_redemption_date(&self) -> bool {
1725 self.message.body.has(tag::REDEMPTION_DATE)
1726 }
1727
1728
1729
1730
1731 pub fn set_repo_collateral_security_type(&mut self, v: isize) {
1733 self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
1734 }
1735
1736 pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1738 let mut fld = field::RepoCollateralSecurityTypeField::new(0);
1739 self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
1740 Ok(fld.value())
1741 }
1742
1743
1744 pub fn has_repo_collateral_security_type(&self) -> bool {
1746 self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
1747 }
1748
1749
1750
1751
1752 pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
1754 self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1755 }
1756
1757 pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1759 let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
1760 self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
1761 Ok(fld.value())
1762 }
1763
1764
1765 pub fn has_repurchase_rate(&self) -> bool {
1767 self.message.body.has(tag::REPURCHASE_RATE)
1768 }
1769
1770
1771
1772
1773 pub fn set_repurchase_term(&mut self, v: isize) {
1775 self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
1776 }
1777
1778 pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
1780 let mut fld = field::RepurchaseTermField::new(0);
1781 self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
1782 Ok(fld.value())
1783 }
1784
1785
1786 pub fn has_repurchase_term(&self) -> bool {
1788 self.message.body.has(tag::REPURCHASE_TERM)
1789 }
1790
1791
1792
1793
1794 pub fn set_secondary_cl_ord_id(&mut self, v: String) {
1796 self.message.body.set_field(tag::SECONDARY_CL_ORD_ID, FIXString::from(v));
1797 }
1798
1799 pub fn get_secondary_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
1801 let mut fld = field::SecondaryClOrdIDField::new(String::new());
1802 self.message.body.get_field(tag::SECONDARY_CL_ORD_ID, &mut fld.0)?;
1803 Ok(fld.value().to_string())
1804 }
1805
1806
1807 pub fn has_secondary_cl_ord_id(&self) -> bool {
1809 self.message.body.has(tag::SECONDARY_CL_ORD_ID)
1810 }
1811
1812
1813
1814
1815 pub fn set_secondary_order_id(&mut self, v: String) {
1817 self.message.body.set_field(tag::SECONDARY_ORDER_ID, FIXString::from(v));
1818 }
1819
1820 pub fn get_secondary_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
1822 let mut fld = field::SecondaryOrderIDField::new(String::new());
1823 self.message.body.get_field(tag::SECONDARY_ORDER_ID, &mut fld.0)?;
1824 Ok(fld.value().to_string())
1825 }
1826
1827
1828 pub fn has_secondary_order_id(&self) -> bool {
1830 self.message.body.has(tag::SECONDARY_ORDER_ID)
1831 }
1832
1833
1834
1835
1836 pub fn set_security_desc(&mut self, v: String) {
1838 self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
1839 }
1840
1841 pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1843 let mut fld = field::SecurityDescField::new(String::new());
1844 self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
1845 Ok(fld.value().to_string())
1846 }
1847
1848
1849 pub fn has_security_desc(&self) -> bool {
1851 self.message.body.has(tag::SECURITY_DESC)
1852 }
1853
1854
1855
1856
1857 pub fn set_security_exchange(&mut self, v: String) {
1859 self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
1860 }
1861
1862 pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
1864 let mut fld = field::SecurityExchangeField::new(String::new());
1865 self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
1866 Ok(fld.value().to_string())
1867 }
1868
1869
1870 pub fn has_security_exchange(&self) -> bool {
1872 self.message.body.has(tag::SECURITY_EXCHANGE)
1873 }
1874
1875
1876
1877
1878 pub fn set_security_id(&mut self, v: String) {
1880 self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
1881 }
1882
1883 pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
1885 let mut fld = field::SecurityIDField::new(String::new());
1886 self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
1887 Ok(fld.value().to_string())
1888 }
1889
1890
1891 pub fn has_security_id(&self) -> bool {
1893 self.message.body.has(tag::SECURITY_ID)
1894 }
1895
1896
1897
1898
1899 pub fn set_security_id_source(&mut self, v: String) {
1901 self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
1902 }
1903
1904 pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
1906 let mut fld = field::SecurityIDSourceField::new(String::new());
1907 self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
1908 Ok(fld.value().to_string())
1909 }
1910
1911
1912 pub fn has_security_id_source(&self) -> bool {
1914 self.message.body.has(tag::SECURITY_ID_SOURCE)
1915 }
1916
1917
1918
1919
1920 pub fn set_security_status(&mut self, v: String) {
1922 self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
1923 }
1924
1925 pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
1927 let mut fld = field::SecurityStatusField::new(String::new());
1928 self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
1929 Ok(fld.value().to_string())
1930 }
1931
1932
1933 pub fn has_security_status(&self) -> bool {
1935 self.message.body.has(tag::SECURITY_STATUS)
1936 }
1937
1938
1939
1940
1941 pub fn set_security_sub_type(&mut self, v: String) {
1943 self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
1944 }
1945
1946 pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
1948 let mut fld = field::SecuritySubTypeField::new(String::new());
1949 self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
1950 Ok(fld.value().to_string())
1951 }
1952
1953
1954 pub fn has_security_sub_type(&self) -> bool {
1956 self.message.body.has(tag::SECURITY_SUB_TYPE)
1957 }
1958
1959
1960
1961
1962 pub fn set_security_type(&mut self, v: String) {
1964 self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
1965 }
1966
1967 pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
1969 let mut fld = field::SecurityTypeField::new(String::new());
1970 self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
1971 Ok(fld.value().to_string())
1972 }
1973
1974
1975 pub fn has_security_type(&self) -> bool {
1977 self.message.body.has(tag::SECURITY_TYPE)
1978 }
1979
1980
1981
1982
1983 pub fn set_settl_date(&mut self, v: String) {
1985 self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
1986 }
1987
1988 pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
1990 let mut fld = field::SettlDateField::new(String::new());
1991 self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
1992 Ok(fld.value().to_string())
1993 }
1994
1995
1996 pub fn has_settl_date(&self) -> bool {
1998 self.message.body.has(tag::SETTL_DATE)
1999 }
2000
2001
2002
2003
2004 pub fn set_settl_delivery_type(&mut self, v: isize) {
2006 self.message.body.set_field(tag::SETTL_DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
2007 }
2008
2009 pub fn get_settl_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2011 let mut fld = field::SettlDeliveryTypeField::new(0);
2012 self.message.body.get_field(tag::SETTL_DELIVERY_TYPE, &mut fld.0)?;
2013 Ok(fld.value())
2014 }
2015
2016
2017 pub fn has_settl_delivery_type(&self) -> bool {
2019 self.message.body.has(tag::SETTL_DELIVERY_TYPE)
2020 }
2021
2022
2023
2024
2025 pub fn set_settl_sess_id(&mut self, v: String) {
2027 self.message.body.set_field(tag::SETTL_SESS_ID, FIXString::from(v));
2028 }
2029
2030 pub fn get_settl_sess_id(&self) -> Result<String, MessageRejectErrorEnum> {
2032 let mut fld = field::SettlSessIDField::new(String::new());
2033 self.message.body.get_field(tag::SETTL_SESS_ID, &mut fld.0)?;
2034 Ok(fld.value().to_string())
2035 }
2036
2037
2038 pub fn has_settl_sess_id(&self) -> bool {
2040 self.message.body.has(tag::SETTL_SESS_ID)
2041 }
2042
2043
2044
2045
2046 pub fn set_settl_sess_sub_id(&mut self, v: String) {
2048 self.message.body.set_field(tag::SETTL_SESS_SUB_ID, FIXString::from(v));
2049 }
2050
2051 pub fn get_settl_sess_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2053 let mut fld = field::SettlSessSubIDField::new(String::new());
2054 self.message.body.get_field(tag::SETTL_SESS_SUB_ID, &mut fld.0)?;
2055 Ok(fld.value().to_string())
2056 }
2057
2058
2059 pub fn has_settl_sess_sub_id(&self) -> bool {
2061 self.message.body.has(tag::SETTL_SESS_SUB_ID)
2062 }
2063
2064
2065
2066
2067 pub fn set_settle_on_open_flag(&mut self, v: String) {
2069 self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
2070 }
2071
2072 pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
2074 let mut fld = field::SettleOnOpenFlagField::new(String::new());
2075 self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
2076 Ok(fld.value().to_string())
2077 }
2078
2079
2080 pub fn has_settle_on_open_flag(&self) -> bool {
2082 self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
2083 }
2084
2085
2086
2087
2088 pub fn set_side(&mut self, v: String) {
2090 self.message.body.set_field(tag::SIDE, FIXString::from(v));
2091 }
2092
2093 pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2095 let mut fld = field::SideField::new(String::new());
2096 self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2097 Ok(fld.value().to_string())
2098 }
2099
2100
2101 pub fn has_side(&self) -> bool {
2103 self.message.body.has(tag::SIDE)
2104 }
2105
2106
2107
2108
2109 pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2111 self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2112 }
2113
2114 pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2116 let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2117 self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2118 Ok(fld.value())
2119 }
2120
2121
2122 pub fn has_spread(&self) -> bool {
2124 self.message.body.has(tag::SPREAD)
2125 }
2126
2127
2128
2129
2130 pub fn set_stand_inst_db_id(&mut self, v: String) {
2132 self.message.body.set_field(tag::STAND_INST_DB_ID, FIXString::from(v));
2133 }
2134
2135 pub fn get_stand_inst_db_id(&self) -> Result<String, MessageRejectErrorEnum> {
2137 let mut fld = field::StandInstDbIDField::new(String::new());
2138 self.message.body.get_field(tag::STAND_INST_DB_ID, &mut fld.0)?;
2139 Ok(fld.value().to_string())
2140 }
2141
2142
2143 pub fn has_stand_inst_db_id(&self) -> bool {
2145 self.message.body.has(tag::STAND_INST_DB_ID)
2146 }
2147
2148
2149
2150
2151 pub fn set_stand_inst_db_name(&mut self, v: String) {
2153 self.message.body.set_field(tag::STAND_INST_DB_NAME, FIXString::from(v));
2154 }
2155
2156 pub fn get_stand_inst_db_name(&self) -> Result<String, MessageRejectErrorEnum> {
2158 let mut fld = field::StandInstDbNameField::new(String::new());
2159 self.message.body.get_field(tag::STAND_INST_DB_NAME, &mut fld.0)?;
2160 Ok(fld.value().to_string())
2161 }
2162
2163
2164 pub fn has_stand_inst_db_name(&self) -> bool {
2166 self.message.body.has(tag::STAND_INST_DB_NAME)
2167 }
2168
2169
2170
2171
2172 pub fn set_stand_inst_db_type(&mut self, v: isize) {
2174 self.message.body.set_field(tag::STAND_INST_DB_TYPE, fixer::fix_int::FIXInt::from(v));
2175 }
2176
2177 pub fn get_stand_inst_db_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2179 let mut fld = field::StandInstDbTypeField::new(0);
2180 self.message.body.get_field(tag::STAND_INST_DB_TYPE, &mut fld.0)?;
2181 Ok(fld.value())
2182 }
2183
2184
2185 pub fn has_stand_inst_db_type(&self) -> bool {
2187 self.message.body.has(tag::STAND_INST_DB_TYPE)
2188 }
2189
2190
2191
2192
2193 pub fn set_start_cash(&mut self, val: Decimal, scale: i32) {
2195 self.message.body.set_field(tag::START_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2196 }
2197
2198 pub fn get_start_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2200 let mut fld = field::StartCashField::new(Decimal::ZERO, 0);
2201 self.message.body.get_field(tag::START_CASH, &mut fld.0)?;
2202 Ok(fld.value())
2203 }
2204
2205
2206 pub fn has_start_cash(&self) -> bool {
2208 self.message.body.has(tag::START_CASH)
2209 }
2210
2211
2212
2213
2214 pub fn set_start_date(&mut self, v: String) {
2216 self.message.body.set_field(tag::START_DATE, FIXString::from(v));
2217 }
2218
2219 pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
2221 let mut fld = field::StartDateField::new(String::new());
2222 self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
2223 Ok(fld.value().to_string())
2224 }
2225
2226
2227 pub fn has_start_date(&self) -> bool {
2229 self.message.body.has(tag::START_DATE)
2230 }
2231
2232
2233
2234
2235 pub fn set_state_or_province_of_issue(&mut self, v: String) {
2237 self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2238 }
2239
2240 pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2242 let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2243 self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2244 Ok(fld.value().to_string())
2245 }
2246
2247
2248 pub fn has_state_or_province_of_issue(&self) -> bool {
2250 self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2251 }
2252
2253
2254
2255
2256 pub fn set_strike_currency(&mut self, v: String) {
2258 self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2259 }
2260
2261 pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2263 let mut fld = field::StrikeCurrencyField::new(String::new());
2264 self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2265 Ok(fld.value().to_string())
2266 }
2267
2268
2269 pub fn has_strike_currency(&self) -> bool {
2271 self.message.body.has(tag::STRIKE_CURRENCY)
2272 }
2273
2274
2275
2276
2277 pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
2279 self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2280 }
2281
2282 pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2284 let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
2285 self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
2286 Ok(fld.value())
2287 }
2288
2289
2290 pub fn has_strike_multiplier(&self) -> bool {
2292 self.message.body.has(tag::STRIKE_MULTIPLIER)
2293 }
2294
2295
2296
2297
2298 pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2300 self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2301 }
2302
2303 pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2305 let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2306 self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2307 Ok(fld.value())
2308 }
2309
2310
2311 pub fn has_strike_price(&self) -> bool {
2313 self.message.body.has(tag::STRIKE_PRICE)
2314 }
2315
2316
2317
2318
2319 pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2321 self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2322 }
2323
2324 pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2326 let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2327 self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2328 Ok(fld.value())
2329 }
2330
2331
2332 pub fn has_strike_value(&self) -> bool {
2334 self.message.body.has(tag::STRIKE_VALUE)
2335 }
2336
2337
2338
2339
2340 pub fn set_symbol(&mut self, v: String) {
2342 self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2343 }
2344
2345 pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2347 let mut fld = field::SymbolField::new(String::new());
2348 self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2349 Ok(fld.value().to_string())
2350 }
2351
2352
2353 pub fn has_symbol(&self) -> bool {
2355 self.message.body.has(tag::SYMBOL)
2356 }
2357
2358
2359
2360
2361 pub fn set_symbol_sfx(&mut self, v: String) {
2363 self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2364 }
2365
2366 pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2368 let mut fld = field::SymbolSfxField::new(String::new());
2369 self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2370 Ok(fld.value().to_string())
2371 }
2372
2373
2374 pub fn has_symbol_sfx(&self) -> bool {
2376 self.message.body.has(tag::SYMBOL_SFX)
2377 }
2378
2379
2380
2381
2382 pub fn set_termination_type(&mut self, v: isize) {
2384 self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
2385 }
2386
2387 pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2389 let mut fld = field::TerminationTypeField::new(0);
2390 self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
2391 Ok(fld.value())
2392 }
2393
2394
2395 pub fn has_termination_type(&self) -> bool {
2397 self.message.body.has(tag::TERMINATION_TYPE)
2398 }
2399
2400
2401
2402
2403 pub fn set_text(&mut self, v: String) {
2405 self.message.body.set_field(tag::TEXT, FIXString::from(v));
2406 }
2407
2408 pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2410 let mut fld = field::TextField::new(String::new());
2411 self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2412 Ok(fld.value().to_string())
2413 }
2414
2415
2416 pub fn has_text(&self) -> bool {
2418 self.message.body.has(tag::TEXT)
2419 }
2420
2421
2422
2423
2424 pub fn set_time_unit(&mut self, v: String) {
2426 self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
2427 }
2428
2429 pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
2431 let mut fld = field::TimeUnitField::new(String::new());
2432 self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
2433 Ok(fld.value().to_string())
2434 }
2435
2436
2437 pub fn has_time_unit(&self) -> bool {
2439 self.message.body.has(tag::TIME_UNIT)
2440 }
2441
2442
2443
2444
2445 pub fn set_tot_num_reports(&mut self, v: isize) {
2447 self.message.body.set_field(tag::TOT_NUM_REPORTS, fixer::fix_int::FIXInt::from(v));
2448 }
2449
2450 pub fn get_tot_num_reports(&self) -> Result<isize, MessageRejectErrorEnum> {
2452 let mut fld = field::TotNumReportsField::new(0);
2453 self.message.body.get_field(tag::TOT_NUM_REPORTS, &mut fld.0)?;
2454 Ok(fld.value())
2455 }
2456
2457
2458 pub fn has_tot_num_reports(&self) -> bool {
2460 self.message.body.has(tag::TOT_NUM_REPORTS)
2461 }
2462
2463
2464
2465
2466 pub fn set_total_net_value(&mut self, val: Decimal, scale: i32) {
2468 self.message.body.set_field(tag::TOTAL_NET_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2469 }
2470
2471 pub fn get_total_net_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2473 let mut fld = field::TotalNetValueField::new(Decimal::ZERO, 0);
2474 self.message.body.get_field(tag::TOTAL_NET_VALUE, &mut fld.0)?;
2475 Ok(fld.value())
2476 }
2477
2478
2479 pub fn has_total_net_value(&self) -> bool {
2481 self.message.body.has(tag::TOTAL_NET_VALUE)
2482 }
2483
2484
2485
2486
2487 pub fn set_trading_session_id(&mut self, v: String) {
2489 self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
2490 }
2491
2492 pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
2494 let mut fld = field::TradingSessionIDField::new(String::new());
2495 self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
2496 Ok(fld.value().to_string())
2497 }
2498
2499
2500 pub fn has_trading_session_id(&self) -> bool {
2502 self.message.body.has(tag::TRADING_SESSION_ID)
2503 }
2504
2505
2506
2507
2508 pub fn set_trading_session_sub_id(&mut self, v: String) {
2510 self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
2511 }
2512
2513 pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2515 let mut fld = field::TradingSessionSubIDField::new(String::new());
2516 self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
2517 Ok(fld.value().to_string())
2518 }
2519
2520
2521 pub fn has_trading_session_sub_id(&self) -> bool {
2523 self.message.body.has(tag::TRADING_SESSION_SUB_ID)
2524 }
2525
2526
2527
2528
2529 pub fn set_transact_time(&mut self, v: Timestamp) {
2531 self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2532 time: v,
2533 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2534 });
2535 }
2536
2537 pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2539 let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
2540 self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
2541 Ok(fld.value())
2542 }
2543
2544
2545 pub fn has_transact_time(&self) -> bool {
2547 self.message.body.has(tag::TRANSACT_TIME)
2548 }
2549
2550
2551
2552
2553 pub fn set_unit_of_measure(&mut self, v: String) {
2555 self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
2556 }
2557
2558 pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
2560 let mut fld = field::UnitOfMeasureField::new(String::new());
2561 self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
2562 Ok(fld.value().to_string())
2563 }
2564
2565
2566 pub fn has_unit_of_measure(&self) -> bool {
2568 self.message.body.has(tag::UNIT_OF_MEASURE)
2569 }
2570
2571
2572}
2573
2574pub type RouteOut = fn(msg: CollateralReport, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
2576
2577pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
2579
2580pub fn route(router: RouteOut) -> Route {
2582 let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
2583 router(CollateralReport::from_message(msg.clone()), session_id)
2584 };
2585 ("7", "BA", Box::new(r))
2586}