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 CollateralAssignment {
22 pub message: Message,
23}
24
25impl CollateralAssignment {
26 pub fn new(coll_asgn_id: field::CollAsgnIDField, coll_asgn_reason: field::CollAsgnReasonField, coll_asgn_trans_type: field::CollAsgnTransTypeField, transact_time: field::TransactTimeField) -> Self {
28 let mut msg = Message::new();
29 msg.header.set_field(tag::MSG_TYPE, FIXString::from("AY".to_string()));
30
31 msg.body.set_field(tag::COLL_ASGN_ID, coll_asgn_id.0);
32
33 msg.body.set_field(tag::COLL_ASGN_REASON, coll_asgn_reason.0);
34
35 msg.body.set_field(tag::COLL_ASGN_TRANS_TYPE, coll_asgn_trans_type.0);
36
37 msg.body.set_field(tag::TRANSACT_TIME, transact_time.0);
38
39 Self { message: msg }
40 }
41
42 pub fn from_message(msg: Message) -> Self {
44 Self { message: msg }
45 }
46
47 pub fn to_message(self) -> Message {
49 self.message
50 }
51
52
53
54
55 pub fn set_account(&mut self, v: String) {
57 self.message.body.set_field(tag::ACCOUNT, FIXString::from(v));
58 }
59
60 pub fn get_account(&self) -> Result<String, MessageRejectErrorEnum> {
62 let mut fld = field::AccountField::new(String::new());
63 self.message.body.get_field(tag::ACCOUNT, &mut fld.0)?;
64 Ok(fld.value().to_string())
65 }
66
67
68 pub fn has_account(&self) -> bool {
70 self.message.body.has(tag::ACCOUNT)
71 }
72
73
74
75
76 pub fn set_account_type(&mut self, v: isize) {
78 self.message.body.set_field(tag::ACCOUNT_TYPE, fixer::fix_int::FIXInt::from(v));
79 }
80
81 pub fn get_account_type(&self) -> Result<isize, MessageRejectErrorEnum> {
83 let mut fld = field::AccountTypeField::new(0);
84 self.message.body.get_field(tag::ACCOUNT_TYPE, &mut fld.0)?;
85 Ok(fld.value())
86 }
87
88
89 pub fn has_account_type(&self) -> bool {
91 self.message.body.has(tag::ACCOUNT_TYPE)
92 }
93
94
95
96
97 pub fn set_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
99 self.message.body.set_field(tag::ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
100 }
101
102 pub fn get_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
104 let mut fld = field::AccruedInterestAmtField::new(Decimal::ZERO, 0);
105 self.message.body.get_field(tag::ACCRUED_INTEREST_AMT, &mut fld.0)?;
106 Ok(fld.value())
107 }
108
109
110 pub fn has_accrued_interest_amt(&self) -> bool {
112 self.message.body.has(tag::ACCRUED_INTEREST_AMT)
113 }
114
115
116
117
118 pub fn set_agreement_currency(&mut self, v: String) {
120 self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
121 }
122
123 pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
125 let mut fld = field::AgreementCurrencyField::new(String::new());
126 self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
127 Ok(fld.value().to_string())
128 }
129
130
131 pub fn has_agreement_currency(&self) -> bool {
133 self.message.body.has(tag::AGREEMENT_CURRENCY)
134 }
135
136
137
138
139 pub fn set_agreement_date(&mut self, v: String) {
141 self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
142 }
143
144 pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
146 let mut fld = field::AgreementDateField::new(String::new());
147 self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
148 Ok(fld.value().to_string())
149 }
150
151
152 pub fn has_agreement_date(&self) -> bool {
154 self.message.body.has(tag::AGREEMENT_DATE)
155 }
156
157
158
159
160 pub fn set_agreement_desc(&mut self, v: String) {
162 self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
163 }
164
165 pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
167 let mut fld = field::AgreementDescField::new(String::new());
168 self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
169 Ok(fld.value().to_string())
170 }
171
172
173 pub fn has_agreement_desc(&self) -> bool {
175 self.message.body.has(tag::AGREEMENT_DESC)
176 }
177
178
179
180
181 pub fn set_agreement_id(&mut self, v: String) {
183 self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
184 }
185
186 pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
188 let mut fld = field::AgreementIDField::new(String::new());
189 self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
190 Ok(fld.value().to_string())
191 }
192
193
194 pub fn has_agreement_id(&self) -> bool {
196 self.message.body.has(tag::AGREEMENT_ID)
197 }
198
199
200
201
202 pub fn set_attachment_point(&mut self, val: Decimal, scale: i32) {
204 self.message.body.set_field(tag::ATTACHMENT_POINT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
205 }
206
207 pub fn get_attachment_point(&self) -> Result<Decimal, MessageRejectErrorEnum> {
209 let mut fld = field::AttachmentPointField::new(Decimal::ZERO, 0);
210 self.message.body.get_field(tag::ATTACHMENT_POINT, &mut fld.0)?;
211 Ok(fld.value())
212 }
213
214
215 pub fn has_attachment_point(&self) -> bool {
217 self.message.body.has(tag::ATTACHMENT_POINT)
218 }
219
220
221
222
223 pub fn set_benchmark_curve_currency(&mut self, v: String) {
225 self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
226 }
227
228 pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
230 let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
231 self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
232 Ok(fld.value().to_string())
233 }
234
235
236 pub fn has_benchmark_curve_currency(&self) -> bool {
238 self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
239 }
240
241
242
243
244 pub fn set_benchmark_curve_name(&mut self, v: String) {
246 self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
247 }
248
249 pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
251 let mut fld = field::BenchmarkCurveNameField::new(String::new());
252 self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
253 Ok(fld.value().to_string())
254 }
255
256
257 pub fn has_benchmark_curve_name(&self) -> bool {
259 self.message.body.has(tag::BENCHMARK_CURVE_NAME)
260 }
261
262
263
264
265 pub fn set_benchmark_curve_point(&mut self, v: String) {
267 self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
268 }
269
270 pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
272 let mut fld = field::BenchmarkCurvePointField::new(String::new());
273 self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
274 Ok(fld.value().to_string())
275 }
276
277
278 pub fn has_benchmark_curve_point(&self) -> bool {
280 self.message.body.has(tag::BENCHMARK_CURVE_POINT)
281 }
282
283
284
285
286 pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
288 self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
289 }
290
291 pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
293 let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
294 self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
295 Ok(fld.value())
296 }
297
298
299 pub fn has_benchmark_price(&self) -> bool {
301 self.message.body.has(tag::BENCHMARK_PRICE)
302 }
303
304
305
306
307 pub fn set_benchmark_price_type(&mut self, v: isize) {
309 self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
310 }
311
312 pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
314 let mut fld = field::BenchmarkPriceTypeField::new(0);
315 self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
316 Ok(fld.value())
317 }
318
319
320 pub fn has_benchmark_price_type(&self) -> bool {
322 self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
323 }
324
325
326
327
328 pub fn set_benchmark_security_id(&mut self, v: String) {
330 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
331 }
332
333 pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
335 let mut fld = field::BenchmarkSecurityIDField::new(String::new());
336 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
337 Ok(fld.value().to_string())
338 }
339
340
341 pub fn has_benchmark_security_id(&self) -> bool {
343 self.message.body.has(tag::BENCHMARK_SECURITY_ID)
344 }
345
346
347
348
349 pub fn set_benchmark_security_id_source(&mut self, v: String) {
351 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
352 }
353
354 pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
356 let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
357 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
358 Ok(fld.value().to_string())
359 }
360
361
362 pub fn has_benchmark_security_id_source(&self) -> bool {
364 self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
365 }
366
367
368
369
370 pub fn set_cfi_code(&mut self, v: String) {
372 self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
373 }
374
375 pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
377 let mut fld = field::CFICodeField::new(String::new());
378 self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
379 Ok(fld.value().to_string())
380 }
381
382
383 pub fn has_cfi_code(&self) -> bool {
385 self.message.body.has(tag::CFI_CODE)
386 }
387
388
389
390
391 pub fn set_cp_program(&mut self, v: isize) {
393 self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
394 }
395
396 pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
398 let mut fld = field::CPProgramField::new(0);
399 self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
400 Ok(fld.value())
401 }
402
403
404 pub fn has_cp_program(&self) -> bool {
406 self.message.body.has(tag::CP_PROGRAM)
407 }
408
409
410
411
412 pub fn set_cp_reg_type(&mut self, v: String) {
414 self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
415 }
416
417 pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
419 let mut fld = field::CPRegTypeField::new(String::new());
420 self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
421 Ok(fld.value().to_string())
422 }
423
424
425 pub fn has_cp_reg_type(&self) -> bool {
427 self.message.body.has(tag::CP_REG_TYPE)
428 }
429
430
431
432
433 pub fn set_cap_price(&mut self, val: Decimal, scale: i32) {
435 self.message.body.set_field(tag::CAP_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
436 }
437
438 pub fn get_cap_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
440 let mut fld = field::CapPriceField::new(Decimal::ZERO, 0);
441 self.message.body.get_field(tag::CAP_PRICE, &mut fld.0)?;
442 Ok(fld.value())
443 }
444
445
446 pub fn has_cap_price(&self) -> bool {
448 self.message.body.has(tag::CAP_PRICE)
449 }
450
451
452
453
454 pub fn set_cash_outstanding(&mut self, val: Decimal, scale: i32) {
456 self.message.body.set_field(tag::CASH_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
457 }
458
459 pub fn get_cash_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
461 let mut fld = field::CashOutstandingField::new(Decimal::ZERO, 0);
462 self.message.body.get_field(tag::CASH_OUTSTANDING, &mut fld.0)?;
463 Ok(fld.value())
464 }
465
466
467 pub fn has_cash_outstanding(&self) -> bool {
469 self.message.body.has(tag::CASH_OUTSTANDING)
470 }
471
472
473
474
475 pub fn set_cl_ord_id(&mut self, v: String) {
477 self.message.body.set_field(tag::CL_ORD_ID, FIXString::from(v));
478 }
479
480 pub fn get_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
482 let mut fld = field::ClOrdIDField::new(String::new());
483 self.message.body.get_field(tag::CL_ORD_ID, &mut fld.0)?;
484 Ok(fld.value().to_string())
485 }
486
487
488 pub fn has_cl_ord_id(&self) -> bool {
490 self.message.body.has(tag::CL_ORD_ID)
491 }
492
493
494
495
496 pub fn set_clearing_business_date(&mut self, v: String) {
498 self.message.body.set_field(tag::CLEARING_BUSINESS_DATE, FIXString::from(v));
499 }
500
501 pub fn get_clearing_business_date(&self) -> Result<String, MessageRejectErrorEnum> {
503 let mut fld = field::ClearingBusinessDateField::new(String::new());
504 self.message.body.get_field(tag::CLEARING_BUSINESS_DATE, &mut fld.0)?;
505 Ok(fld.value().to_string())
506 }
507
508
509 pub fn has_clearing_business_date(&self) -> bool {
511 self.message.body.has(tag::CLEARING_BUSINESS_DATE)
512 }
513
514
515
516
517 pub fn set_coll_asgn_id(&mut self, v: String) {
519 self.message.body.set_field(tag::COLL_ASGN_ID, FIXString::from(v));
520 }
521
522 pub fn get_coll_asgn_id(&self) -> Result<String, MessageRejectErrorEnum> {
524 let mut fld = field::CollAsgnIDField::new(String::new());
525 self.message.body.get_field(tag::COLL_ASGN_ID, &mut fld.0)?;
526 Ok(fld.value().to_string())
527 }
528
529
530 pub fn has_coll_asgn_id(&self) -> bool {
532 self.message.body.has(tag::COLL_ASGN_ID)
533 }
534
535
536
537
538 pub fn set_coll_asgn_reason(&mut self, v: isize) {
540 self.message.body.set_field(tag::COLL_ASGN_REASON, fixer::fix_int::FIXInt::from(v));
541 }
542
543 pub fn get_coll_asgn_reason(&self) -> Result<isize, MessageRejectErrorEnum> {
545 let mut fld = field::CollAsgnReasonField::new(0);
546 self.message.body.get_field(tag::COLL_ASGN_REASON, &mut fld.0)?;
547 Ok(fld.value())
548 }
549
550
551 pub fn has_coll_asgn_reason(&self) -> bool {
553 self.message.body.has(tag::COLL_ASGN_REASON)
554 }
555
556
557
558
559 pub fn set_coll_asgn_ref_id(&mut self, v: String) {
561 self.message.body.set_field(tag::COLL_ASGN_REF_ID, FIXString::from(v));
562 }
563
564 pub fn get_coll_asgn_ref_id(&self) -> Result<String, MessageRejectErrorEnum> {
566 let mut fld = field::CollAsgnRefIDField::new(String::new());
567 self.message.body.get_field(tag::COLL_ASGN_REF_ID, &mut fld.0)?;
568 Ok(fld.value().to_string())
569 }
570
571
572 pub fn has_coll_asgn_ref_id(&self) -> bool {
574 self.message.body.has(tag::COLL_ASGN_REF_ID)
575 }
576
577
578
579
580 pub fn set_coll_asgn_trans_type(&mut self, v: isize) {
582 self.message.body.set_field(tag::COLL_ASGN_TRANS_TYPE, fixer::fix_int::FIXInt::from(v));
583 }
584
585 pub fn get_coll_asgn_trans_type(&self) -> Result<isize, MessageRejectErrorEnum> {
587 let mut fld = field::CollAsgnTransTypeField::new(0);
588 self.message.body.get_field(tag::COLL_ASGN_TRANS_TYPE, &mut fld.0)?;
589 Ok(fld.value())
590 }
591
592
593 pub fn has_coll_asgn_trans_type(&self) -> bool {
595 self.message.body.has(tag::COLL_ASGN_TRANS_TYPE)
596 }
597
598
599
600
601 pub fn set_coll_req_id(&mut self, v: String) {
603 self.message.body.set_field(tag::COLL_REQ_ID, FIXString::from(v));
604 }
605
606 pub fn get_coll_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
608 let mut fld = field::CollReqIDField::new(String::new());
609 self.message.body.get_field(tag::COLL_REQ_ID, &mut fld.0)?;
610 Ok(fld.value().to_string())
611 }
612
613
614 pub fn has_coll_req_id(&self) -> bool {
616 self.message.body.has(tag::COLL_REQ_ID)
617 }
618
619
620
621
622 pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
624 self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
625 }
626
627 pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
629 let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
630 self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
631 Ok(fld.value())
632 }
633
634
635 pub fn has_contract_multiplier(&self) -> bool {
637 self.message.body.has(tag::CONTRACT_MULTIPLIER)
638 }
639
640
641
642
643 pub fn set_contract_multiplier_unit(&mut self, v: isize) {
645 self.message.body.set_field(tag::CONTRACT_MULTIPLIER_UNIT, fixer::fix_int::FIXInt::from(v));
646 }
647
648 pub fn get_contract_multiplier_unit(&self) -> Result<isize, MessageRejectErrorEnum> {
650 let mut fld = field::ContractMultiplierUnitField::new(0);
651 self.message.body.get_field(tag::CONTRACT_MULTIPLIER_UNIT, &mut fld.0)?;
652 Ok(fld.value())
653 }
654
655
656 pub fn has_contract_multiplier_unit(&self) -> bool {
658 self.message.body.has(tag::CONTRACT_MULTIPLIER_UNIT)
659 }
660
661
662
663
664 pub fn set_contract_settl_month(&mut self, v: String) {
666 self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
667 }
668
669 pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
671 let mut fld = field::ContractSettlMonthField::new(String::new());
672 self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
673 Ok(fld.value().to_string())
674 }
675
676
677 pub fn has_contract_settl_month(&self) -> bool {
679 self.message.body.has(tag::CONTRACT_SETTL_MONTH)
680 }
681
682
683
684
685 pub fn set_country_of_issue(&mut self, v: String) {
687 self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
688 }
689
690 pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
692 let mut fld = field::CountryOfIssueField::new(String::new());
693 self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
694 Ok(fld.value().to_string())
695 }
696
697
698 pub fn has_country_of_issue(&self) -> bool {
700 self.message.body.has(tag::COUNTRY_OF_ISSUE)
701 }
702
703
704
705
706 pub fn set_coupon_payment_date(&mut self, v: String) {
708 self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
709 }
710
711 pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
713 let mut fld = field::CouponPaymentDateField::new(String::new());
714 self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
715 Ok(fld.value().to_string())
716 }
717
718
719 pub fn has_coupon_payment_date(&self) -> bool {
721 self.message.body.has(tag::COUPON_PAYMENT_DATE)
722 }
723
724
725
726
727 pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
729 self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
730 }
731
732 pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
734 let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
735 self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
736 Ok(fld.value())
737 }
738
739
740 pub fn has_coupon_rate(&self) -> bool {
742 self.message.body.has(tag::COUPON_RATE)
743 }
744
745
746
747
748 pub fn set_credit_rating(&mut self, v: String) {
750 self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
751 }
752
753 pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
755 let mut fld = field::CreditRatingField::new(String::new());
756 self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
757 Ok(fld.value().to_string())
758 }
759
760
761 pub fn has_credit_rating(&self) -> bool {
763 self.message.body.has(tag::CREDIT_RATING)
764 }
765
766
767
768
769 pub fn set_currency(&mut self, v: String) {
771 self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
772 }
773
774 pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
776 let mut fld = field::CurrencyField::new(String::new());
777 self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
778 Ok(fld.value().to_string())
779 }
780
781
782 pub fn has_currency(&self) -> bool {
784 self.message.body.has(tag::CURRENCY)
785 }
786
787
788
789
790 pub fn set_dated_date(&mut self, v: String) {
792 self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
793 }
794
795 pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
797 let mut fld = field::DatedDateField::new(String::new());
798 self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
799 Ok(fld.value().to_string())
800 }
801
802
803 pub fn has_dated_date(&self) -> bool {
805 self.message.body.has(tag::DATED_DATE)
806 }
807
808
809
810
811 pub fn set_delivery_type(&mut self, v: isize) {
813 self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
814 }
815
816 pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
818 let mut fld = field::DeliveryTypeField::new(0);
819 self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
820 Ok(fld.value())
821 }
822
823
824 pub fn has_delivery_type(&self) -> bool {
826 self.message.body.has(tag::DELIVERY_TYPE)
827 }
828
829
830
831
832 pub fn set_detachment_point(&mut self, val: Decimal, scale: i32) {
834 self.message.body.set_field(tag::DETACHMENT_POINT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
835 }
836
837 pub fn get_detachment_point(&self) -> Result<Decimal, MessageRejectErrorEnum> {
839 let mut fld = field::DetachmentPointField::new(Decimal::ZERO, 0);
840 self.message.body.get_field(tag::DETACHMENT_POINT, &mut fld.0)?;
841 Ok(fld.value())
842 }
843
844
845 pub fn has_detachment_point(&self) -> bool {
847 self.message.body.has(tag::DETACHMENT_POINT)
848 }
849
850
851
852
853 pub fn set_encoded_issuer(&mut self, v: String) {
855 self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
856 }
857
858 pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
860 let mut fld = field::EncodedIssuerField::new(String::new());
861 self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
862 Ok(fld.value().to_string())
863 }
864
865
866 pub fn has_encoded_issuer(&self) -> bool {
868 self.message.body.has(tag::ENCODED_ISSUER)
869 }
870
871
872
873
874 pub fn set_encoded_issuer_len(&mut self, v: isize) {
876 self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
877 }
878
879 pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
881 let mut fld = field::EncodedIssuerLenField::new(0);
882 self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
883 Ok(fld.value())
884 }
885
886
887 pub fn has_encoded_issuer_len(&self) -> bool {
889 self.message.body.has(tag::ENCODED_ISSUER_LEN)
890 }
891
892
893
894
895 pub fn set_encoded_security_desc(&mut self, v: String) {
897 self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
898 }
899
900 pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
902 let mut fld = field::EncodedSecurityDescField::new(String::new());
903 self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
904 Ok(fld.value().to_string())
905 }
906
907
908 pub fn has_encoded_security_desc(&self) -> bool {
910 self.message.body.has(tag::ENCODED_SECURITY_DESC)
911 }
912
913
914
915
916 pub fn set_encoded_security_desc_len(&mut self, v: isize) {
918 self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
919 }
920
921 pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
923 let mut fld = field::EncodedSecurityDescLenField::new(0);
924 self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
925 Ok(fld.value())
926 }
927
928
929 pub fn has_encoded_security_desc_len(&self) -> bool {
931 self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
932 }
933
934
935
936
937 pub fn set_encoded_text(&mut self, v: String) {
939 self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
940 }
941
942 pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
944 let mut fld = field::EncodedTextField::new(String::new());
945 self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
946 Ok(fld.value().to_string())
947 }
948
949
950 pub fn has_encoded_text(&self) -> bool {
952 self.message.body.has(tag::ENCODED_TEXT)
953 }
954
955
956
957
958 pub fn set_encoded_text_len(&mut self, v: isize) {
960 self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
961 }
962
963 pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
965 let mut fld = field::EncodedTextLenField::new(0);
966 self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
967 Ok(fld.value())
968 }
969
970
971 pub fn has_encoded_text_len(&self) -> bool {
973 self.message.body.has(tag::ENCODED_TEXT_LEN)
974 }
975
976
977
978
979 pub fn set_end_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
981 self.message.body.set_field(tag::END_ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
982 }
983
984 pub fn get_end_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
986 let mut fld = field::EndAccruedInterestAmtField::new(Decimal::ZERO, 0);
987 self.message.body.get_field(tag::END_ACCRUED_INTEREST_AMT, &mut fld.0)?;
988 Ok(fld.value())
989 }
990
991
992 pub fn has_end_accrued_interest_amt(&self) -> bool {
994 self.message.body.has(tag::END_ACCRUED_INTEREST_AMT)
995 }
996
997
998
999
1000 pub fn set_end_cash(&mut self, val: Decimal, scale: i32) {
1002 self.message.body.set_field(tag::END_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1003 }
1004
1005 pub fn get_end_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1007 let mut fld = field::EndCashField::new(Decimal::ZERO, 0);
1008 self.message.body.get_field(tag::END_CASH, &mut fld.0)?;
1009 Ok(fld.value())
1010 }
1011
1012
1013 pub fn has_end_cash(&self) -> bool {
1015 self.message.body.has(tag::END_CASH)
1016 }
1017
1018
1019
1020
1021 pub fn set_end_date(&mut self, v: String) {
1023 self.message.body.set_field(tag::END_DATE, FIXString::from(v));
1024 }
1025
1026 pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
1028 let mut fld = field::EndDateField::new(String::new());
1029 self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
1030 Ok(fld.value().to_string())
1031 }
1032
1033
1034 pub fn has_end_date(&self) -> bool {
1036 self.message.body.has(tag::END_DATE)
1037 }
1038
1039
1040
1041
1042 pub fn set_exercise_style(&mut self, v: isize) {
1044 self.message.body.set_field(tag::EXERCISE_STYLE, fixer::fix_int::FIXInt::from(v));
1045 }
1046
1047 pub fn get_exercise_style(&self) -> Result<isize, MessageRejectErrorEnum> {
1049 let mut fld = field::ExerciseStyleField::new(0);
1050 self.message.body.get_field(tag::EXERCISE_STYLE, &mut fld.0)?;
1051 Ok(fld.value())
1052 }
1053
1054
1055 pub fn has_exercise_style(&self) -> bool {
1057 self.message.body.has(tag::EXERCISE_STYLE)
1058 }
1059
1060
1061
1062
1063 pub fn set_expire_time(&mut self, v: Timestamp) {
1065 self.message.body.set_field(tag::EXPIRE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
1066 time: v,
1067 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
1068 });
1069 }
1070
1071 pub fn get_expire_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1073 let mut fld = field::ExpireTimeField::new(Timestamp::UNIX_EPOCH);
1074 self.message.body.get_field(tag::EXPIRE_TIME, &mut fld.0)?;
1075 Ok(fld.value())
1076 }
1077
1078
1079 pub fn has_expire_time(&self) -> bool {
1081 self.message.body.has(tag::EXPIRE_TIME)
1082 }
1083
1084
1085
1086
1087 pub fn set_factor(&mut self, val: Decimal, scale: i32) {
1089 self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1090 }
1091
1092 pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1094 let mut fld = field::FactorField::new(Decimal::ZERO, 0);
1095 self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
1096 Ok(fld.value())
1097 }
1098
1099
1100 pub fn has_factor(&self) -> bool {
1102 self.message.body.has(tag::FACTOR)
1103 }
1104
1105
1106
1107
1108 pub fn set_flex_product_eligibility_indicator(&mut self, v: bool) {
1110 self.message.body.set_field(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
1111 }
1112
1113 pub fn get_flex_product_eligibility_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
1115 let mut fld = field::FlexProductEligibilityIndicatorField::new(false);
1116 self.message.body.get_field(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR, &mut fld.0)?;
1117 Ok(fld.value())
1118 }
1119
1120
1121 pub fn has_flex_product_eligibility_indicator(&self) -> bool {
1123 self.message.body.has(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR)
1124 }
1125
1126
1127
1128
1129 pub fn set_flexible_indicator(&mut self, v: bool) {
1131 self.message.body.set_field(tag::FLEXIBLE_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
1132 }
1133
1134 pub fn get_flexible_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
1136 let mut fld = field::FlexibleIndicatorField::new(false);
1137 self.message.body.get_field(tag::FLEXIBLE_INDICATOR, &mut fld.0)?;
1138 Ok(fld.value())
1139 }
1140
1141
1142 pub fn has_flexible_indicator(&self) -> bool {
1144 self.message.body.has(tag::FLEXIBLE_INDICATOR)
1145 }
1146
1147
1148
1149
1150 pub fn set_floor_price(&mut self, val: Decimal, scale: i32) {
1152 self.message.body.set_field(tag::FLOOR_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1153 }
1154
1155 pub fn get_floor_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1157 let mut fld = field::FloorPriceField::new(Decimal::ZERO, 0);
1158 self.message.body.get_field(tag::FLOOR_PRICE, &mut fld.0)?;
1159 Ok(fld.value())
1160 }
1161
1162
1163 pub fn has_floor_price(&self) -> bool {
1165 self.message.body.has(tag::FLOOR_PRICE)
1166 }
1167
1168
1169
1170
1171 pub fn set_flow_schedule_type(&mut self, v: isize) {
1173 self.message.body.set_field(tag::FLOW_SCHEDULE_TYPE, fixer::fix_int::FIXInt::from(v));
1174 }
1175
1176 pub fn get_flow_schedule_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1178 let mut fld = field::FlowScheduleTypeField::new(0);
1179 self.message.body.get_field(tag::FLOW_SCHEDULE_TYPE, &mut fld.0)?;
1180 Ok(fld.value())
1181 }
1182
1183
1184 pub fn has_flow_schedule_type(&self) -> bool {
1186 self.message.body.has(tag::FLOW_SCHEDULE_TYPE)
1187 }
1188
1189
1190
1191
1192 pub fn set_instr_registry(&mut self, v: String) {
1194 self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
1195 }
1196
1197 pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1199 let mut fld = field::InstrRegistryField::new(String::new());
1200 self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1201 Ok(fld.value().to_string())
1202 }
1203
1204
1205 pub fn has_instr_registry(&self) -> bool {
1207 self.message.body.has(tag::INSTR_REGISTRY)
1208 }
1209
1210
1211
1212
1213 pub fn set_instrmt_assignment_method(&mut self, v: String) {
1215 self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
1216 }
1217
1218 pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
1220 let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
1221 self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
1222 Ok(fld.value().to_string())
1223 }
1224
1225
1226 pub fn has_instrmt_assignment_method(&self) -> bool {
1228 self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
1229 }
1230
1231
1232
1233
1234 pub fn set_interest_accrual_date(&mut self, v: String) {
1236 self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1237 }
1238
1239 pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1241 let mut fld = field::InterestAccrualDateField::new(String::new());
1242 self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1243 Ok(fld.value().to_string())
1244 }
1245
1246
1247 pub fn has_interest_accrual_date(&self) -> bool {
1249 self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1250 }
1251
1252
1253
1254
1255 pub fn set_issue_date(&mut self, v: String) {
1257 self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1258 }
1259
1260 pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1262 let mut fld = field::IssueDateField::new(String::new());
1263 self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1264 Ok(fld.value().to_string())
1265 }
1266
1267
1268 pub fn has_issue_date(&self) -> bool {
1270 self.message.body.has(tag::ISSUE_DATE)
1271 }
1272
1273
1274
1275
1276 pub fn set_issuer(&mut self, v: String) {
1278 self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1279 }
1280
1281 pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1283 let mut fld = field::IssuerField::new(String::new());
1284 self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1285 Ok(fld.value().to_string())
1286 }
1287
1288
1289 pub fn has_issuer(&self) -> bool {
1291 self.message.body.has(tag::ISSUER)
1292 }
1293
1294
1295
1296
1297 pub fn set_list_method(&mut self, v: isize) {
1299 self.message.body.set_field(tag::LIST_METHOD, fixer::fix_int::FIXInt::from(v));
1300 }
1301
1302 pub fn get_list_method(&self) -> Result<isize, MessageRejectErrorEnum> {
1304 let mut fld = field::ListMethodField::new(0);
1305 self.message.body.get_field(tag::LIST_METHOD, &mut fld.0)?;
1306 Ok(fld.value())
1307 }
1308
1309
1310 pub fn has_list_method(&self) -> bool {
1312 self.message.body.has(tag::LIST_METHOD)
1313 }
1314
1315
1316
1317
1318 pub fn set_locale_of_issue(&mut self, v: String) {
1320 self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1321 }
1322
1323 pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1325 let mut fld = field::LocaleOfIssueField::new(String::new());
1326 self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1327 Ok(fld.value().to_string())
1328 }
1329
1330
1331 pub fn has_locale_of_issue(&self) -> bool {
1333 self.message.body.has(tag::LOCALE_OF_ISSUE)
1334 }
1335
1336
1337
1338
1339 pub fn set_margin_excess(&mut self, val: Decimal, scale: i32) {
1341 self.message.body.set_field(tag::MARGIN_EXCESS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1342 }
1343
1344 pub fn get_margin_excess(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1346 let mut fld = field::MarginExcessField::new(Decimal::ZERO, 0);
1347 self.message.body.get_field(tag::MARGIN_EXCESS, &mut fld.0)?;
1348 Ok(fld.value())
1349 }
1350
1351
1352 pub fn has_margin_excess(&self) -> bool {
1354 self.message.body.has(tag::MARGIN_EXCESS)
1355 }
1356
1357
1358
1359
1360 pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
1362 self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1363 }
1364
1365 pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1367 let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
1368 self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
1369 Ok(fld.value())
1370 }
1371
1372
1373 pub fn has_margin_ratio(&self) -> bool {
1375 self.message.body.has(tag::MARGIN_RATIO)
1376 }
1377
1378
1379
1380
1381 pub fn set_maturity_date(&mut self, v: String) {
1383 self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1384 }
1385
1386 pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1388 let mut fld = field::MaturityDateField::new(String::new());
1389 self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1390 Ok(fld.value().to_string())
1391 }
1392
1393
1394 pub fn has_maturity_date(&self) -> bool {
1396 self.message.body.has(tag::MATURITY_DATE)
1397 }
1398
1399
1400
1401
1402 pub fn set_maturity_month_year(&mut self, v: String) {
1404 self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1405 }
1406
1407 pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1409 let mut fld = field::MaturityMonthYearField::new(String::new());
1410 self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1411 Ok(fld.value().to_string())
1412 }
1413
1414
1415 pub fn has_maturity_month_year(&self) -> bool {
1417 self.message.body.has(tag::MATURITY_MONTH_YEAR)
1418 }
1419
1420
1421
1422
1423 pub fn set_maturity_time(&mut self, v: String) {
1425 self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
1426 }
1427
1428 pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
1430 let mut fld = field::MaturityTimeField::new(String::new());
1431 self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
1432 Ok(fld.value().to_string())
1433 }
1434
1435
1436 pub fn has_maturity_time(&self) -> bool {
1438 self.message.body.has(tag::MATURITY_TIME)
1439 }
1440
1441
1442
1443
1444 pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
1446 self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1447 }
1448
1449 pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1451 let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
1452 self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
1453 Ok(fld.value())
1454 }
1455
1456
1457 pub fn has_min_price_increment(&self) -> bool {
1459 self.message.body.has(tag::MIN_PRICE_INCREMENT)
1460 }
1461
1462
1463
1464
1465 pub fn set_min_price_increment_amount(&mut self, val: Decimal, scale: i32) {
1467 self.message.body.set_field(tag::MIN_PRICE_INCREMENT_AMOUNT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1468 }
1469
1470 pub fn get_min_price_increment_amount(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1472 let mut fld = field::MinPriceIncrementAmountField::new(Decimal::ZERO, 0);
1473 self.message.body.get_field(tag::MIN_PRICE_INCREMENT_AMOUNT, &mut fld.0)?;
1474 Ok(fld.value())
1475 }
1476
1477
1478 pub fn has_min_price_increment_amount(&self) -> bool {
1480 self.message.body.has(tag::MIN_PRICE_INCREMENT_AMOUNT)
1481 }
1482
1483
1484
1485
1486 pub fn set_nt_position_limit(&mut self, v: isize) {
1488 self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1489 }
1490
1491 pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1493 let mut fld = field::NTPositionLimitField::new(0);
1494 self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
1495 Ok(fld.value())
1496 }
1497
1498
1499 pub fn has_nt_position_limit(&self) -> bool {
1501 self.message.body.has(tag::NT_POSITION_LIMIT)
1502 }
1503
1504
1505
1506
1507 pub fn set_no_complex_events(&mut self, v: isize) {
1509 self.message.body.set_field(tag::NO_COMPLEX_EVENTS, fixer::fix_int::FIXInt::from(v));
1510 }
1511
1512 pub fn get_no_complex_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1514 let mut fld = field::NoComplexEventsField::new(0);
1515 self.message.body.get_field(tag::NO_COMPLEX_EVENTS, &mut fld.0)?;
1516 Ok(fld.value())
1517 }
1518
1519
1520 pub fn has_no_complex_events(&self) -> bool {
1522 self.message.body.has(tag::NO_COMPLEX_EVENTS)
1523 }
1524
1525
1526
1527
1528 pub fn set_no_dlvy_inst(&mut self, v: isize) {
1530 self.message.body.set_field(tag::NO_DLVY_INST, fixer::fix_int::FIXInt::from(v));
1531 }
1532
1533 pub fn get_no_dlvy_inst(&self) -> Result<isize, MessageRejectErrorEnum> {
1535 let mut fld = field::NoDlvyInstField::new(0);
1536 self.message.body.get_field(tag::NO_DLVY_INST, &mut fld.0)?;
1537 Ok(fld.value())
1538 }
1539
1540
1541 pub fn has_no_dlvy_inst(&self) -> bool {
1543 self.message.body.has(tag::NO_DLVY_INST)
1544 }
1545
1546
1547
1548
1549 pub fn set_no_events(&mut self, v: isize) {
1551 self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1552 }
1553
1554 pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1556 let mut fld = field::NoEventsField::new(0);
1557 self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1558 Ok(fld.value())
1559 }
1560
1561
1562 pub fn has_no_events(&self) -> bool {
1564 self.message.body.has(tag::NO_EVENTS)
1565 }
1566
1567
1568
1569
1570 pub fn set_no_execs(&mut self, v: isize) {
1572 self.message.body.set_field(tag::NO_EXECS, fixer::fix_int::FIXInt::from(v));
1573 }
1574
1575 pub fn get_no_execs(&self) -> Result<isize, MessageRejectErrorEnum> {
1577 let mut fld = field::NoExecsField::new(0);
1578 self.message.body.get_field(tag::NO_EXECS, &mut fld.0)?;
1579 Ok(fld.value())
1580 }
1581
1582
1583 pub fn has_no_execs(&self) -> bool {
1585 self.message.body.has(tag::NO_EXECS)
1586 }
1587
1588
1589
1590
1591 pub fn set_no_instrument_parties(&mut self, v: isize) {
1593 self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1594 }
1595
1596 pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1598 let mut fld = field::NoInstrumentPartiesField::new(0);
1599 self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1600 Ok(fld.value())
1601 }
1602
1603
1604 pub fn has_no_instrument_parties(&self) -> bool {
1606 self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1607 }
1608
1609
1610
1611
1612 pub fn set_no_legs(&mut self, v: isize) {
1614 self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1615 }
1616
1617 pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1619 let mut fld = field::NoLegsField::new(0);
1620 self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1621 Ok(fld.value())
1622 }
1623
1624
1625 pub fn has_no_legs(&self) -> bool {
1627 self.message.body.has(tag::NO_LEGS)
1628 }
1629
1630
1631
1632
1633 pub fn set_no_misc_fees(&mut self, v: isize) {
1635 self.message.body.set_field(tag::NO_MISC_FEES, fixer::fix_int::FIXInt::from(v));
1636 }
1637
1638 pub fn get_no_misc_fees(&self) -> Result<isize, MessageRejectErrorEnum> {
1640 let mut fld = field::NoMiscFeesField::new(0);
1641 self.message.body.get_field(tag::NO_MISC_FEES, &mut fld.0)?;
1642 Ok(fld.value())
1643 }
1644
1645
1646 pub fn has_no_misc_fees(&self) -> bool {
1648 self.message.body.has(tag::NO_MISC_FEES)
1649 }
1650
1651
1652
1653
1654 pub fn set_no_party_i_ds(&mut self, v: isize) {
1656 self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1657 }
1658
1659 pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1661 let mut fld = field::NoPartyIDsField::new(0);
1662 self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1663 Ok(fld.value())
1664 }
1665
1666
1667 pub fn has_no_party_i_ds(&self) -> bool {
1669 self.message.body.has(tag::NO_PARTY_I_DS)
1670 }
1671
1672
1673
1674
1675 pub fn set_no_security_alt_id(&mut self, v: isize) {
1677 self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1678 }
1679
1680 pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1682 let mut fld = field::NoSecurityAltIDField::new(0);
1683 self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1684 Ok(fld.value())
1685 }
1686
1687
1688 pub fn has_no_security_alt_id(&self) -> bool {
1690 self.message.body.has(tag::NO_SECURITY_ALT_ID)
1691 }
1692
1693
1694
1695
1696 pub fn set_no_stipulations(&mut self, v: isize) {
1698 self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1699 }
1700
1701 pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1703 let mut fld = field::NoStipulationsField::new(0);
1704 self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1705 Ok(fld.value())
1706 }
1707
1708
1709 pub fn has_no_stipulations(&self) -> bool {
1711 self.message.body.has(tag::NO_STIPULATIONS)
1712 }
1713
1714
1715
1716
1717 pub fn set_no_trades(&mut self, v: isize) {
1719 self.message.body.set_field(tag::NO_TRADES, fixer::fix_int::FIXInt::from(v));
1720 }
1721
1722 pub fn get_no_trades(&self) -> Result<isize, MessageRejectErrorEnum> {
1724 let mut fld = field::NoTradesField::new(0);
1725 self.message.body.get_field(tag::NO_TRADES, &mut fld.0)?;
1726 Ok(fld.value())
1727 }
1728
1729
1730 pub fn has_no_trades(&self) -> bool {
1732 self.message.body.has(tag::NO_TRADES)
1733 }
1734
1735
1736
1737
1738 pub fn set_no_trd_reg_timestamps(&mut self, v: isize) {
1740 self.message.body.set_field(tag::NO_TRD_REG_TIMESTAMPS, fixer::fix_int::FIXInt::from(v));
1741 }
1742
1743 pub fn get_no_trd_reg_timestamps(&self) -> Result<isize, MessageRejectErrorEnum> {
1745 let mut fld = field::NoTrdRegTimestampsField::new(0);
1746 self.message.body.get_field(tag::NO_TRD_REG_TIMESTAMPS, &mut fld.0)?;
1747 Ok(fld.value())
1748 }
1749
1750
1751 pub fn has_no_trd_reg_timestamps(&self) -> bool {
1753 self.message.body.has(tag::NO_TRD_REG_TIMESTAMPS)
1754 }
1755
1756
1757
1758
1759 pub fn set_no_underlyings(&mut self, v: isize) {
1761 self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1762 }
1763
1764 pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1766 let mut fld = field::NoUnderlyingsField::new(0);
1767 self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1768 Ok(fld.value())
1769 }
1770
1771
1772 pub fn has_no_underlyings(&self) -> bool {
1774 self.message.body.has(tag::NO_UNDERLYINGS)
1775 }
1776
1777
1778
1779
1780 pub fn set_notional_percentage_outstanding(&mut self, val: Decimal, scale: i32) {
1782 self.message.body.set_field(tag::NOTIONAL_PERCENTAGE_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1783 }
1784
1785 pub fn get_notional_percentage_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1787 let mut fld = field::NotionalPercentageOutstandingField::new(Decimal::ZERO, 0);
1788 self.message.body.get_field(tag::NOTIONAL_PERCENTAGE_OUTSTANDING, &mut fld.0)?;
1789 Ok(fld.value())
1790 }
1791
1792
1793 pub fn has_notional_percentage_outstanding(&self) -> bool {
1795 self.message.body.has(tag::NOTIONAL_PERCENTAGE_OUTSTANDING)
1796 }
1797
1798
1799
1800
1801 pub fn set_opt_attribute(&mut self, v: String) {
1803 self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1804 }
1805
1806 pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1808 let mut fld = field::OptAttributeField::new(String::new());
1809 self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1810 Ok(fld.value().to_string())
1811 }
1812
1813
1814 pub fn has_opt_attribute(&self) -> bool {
1816 self.message.body.has(tag::OPT_ATTRIBUTE)
1817 }
1818
1819
1820
1821
1822 pub fn set_opt_payout_amount(&mut self, val: Decimal, scale: i32) {
1824 self.message.body.set_field(tag::OPT_PAYOUT_AMOUNT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1825 }
1826
1827 pub fn get_opt_payout_amount(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1829 let mut fld = field::OptPayoutAmountField::new(Decimal::ZERO, 0);
1830 self.message.body.get_field(tag::OPT_PAYOUT_AMOUNT, &mut fld.0)?;
1831 Ok(fld.value())
1832 }
1833
1834
1835 pub fn has_opt_payout_amount(&self) -> bool {
1837 self.message.body.has(tag::OPT_PAYOUT_AMOUNT)
1838 }
1839
1840
1841
1842
1843 pub fn set_opt_payout_type(&mut self, v: isize) {
1845 self.message.body.set_field(tag::OPT_PAYOUT_TYPE, fixer::fix_int::FIXInt::from(v));
1846 }
1847
1848 pub fn get_opt_payout_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1850 let mut fld = field::OptPayoutTypeField::new(0);
1851 self.message.body.get_field(tag::OPT_PAYOUT_TYPE, &mut fld.0)?;
1852 Ok(fld.value())
1853 }
1854
1855
1856 pub fn has_opt_payout_type(&self) -> bool {
1858 self.message.body.has(tag::OPT_PAYOUT_TYPE)
1859 }
1860
1861
1862
1863
1864 pub fn set_order_id(&mut self, v: String) {
1866 self.message.body.set_field(tag::ORDER_ID, FIXString::from(v));
1867 }
1868
1869 pub fn get_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
1871 let mut fld = field::OrderIDField::new(String::new());
1872 self.message.body.get_field(tag::ORDER_ID, &mut fld.0)?;
1873 Ok(fld.value().to_string())
1874 }
1875
1876
1877 pub fn has_order_id(&self) -> bool {
1879 self.message.body.has(tag::ORDER_ID)
1880 }
1881
1882
1883
1884
1885 pub fn set_original_notional_percentage_outstanding(&mut self, val: Decimal, scale: i32) {
1887 self.message.body.set_field(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1888 }
1889
1890 pub fn get_original_notional_percentage_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1892 let mut fld = field::OriginalNotionalPercentageOutstandingField::new(Decimal::ZERO, 0);
1893 self.message.body.get_field(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING, &mut fld.0)?;
1894 Ok(fld.value())
1895 }
1896
1897
1898 pub fn has_original_notional_percentage_outstanding(&self) -> bool {
1900 self.message.body.has(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING)
1901 }
1902
1903
1904
1905
1906 pub fn set_pool(&mut self, v: String) {
1908 self.message.body.set_field(tag::POOL, FIXString::from(v));
1909 }
1910
1911 pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1913 let mut fld = field::PoolField::new(String::new());
1914 self.message.body.get_field(tag::POOL, &mut fld.0)?;
1915 Ok(fld.value().to_string())
1916 }
1917
1918
1919 pub fn has_pool(&self) -> bool {
1921 self.message.body.has(tag::POOL)
1922 }
1923
1924
1925
1926
1927 pub fn set_position_limit(&mut self, v: isize) {
1929 self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1930 }
1931
1932 pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1934 let mut fld = field::PositionLimitField::new(0);
1935 self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
1936 Ok(fld.value())
1937 }
1938
1939
1940 pub fn has_position_limit(&self) -> bool {
1942 self.message.body.has(tag::POSITION_LIMIT)
1943 }
1944
1945
1946
1947
1948 pub fn set_price(&mut self, val: Decimal, scale: i32) {
1950 self.message.body.set_field(tag::PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1951 }
1952
1953 pub fn get_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1955 let mut fld = field::PriceField::new(Decimal::ZERO, 0);
1956 self.message.body.get_field(tag::PRICE, &mut fld.0)?;
1957 Ok(fld.value())
1958 }
1959
1960
1961 pub fn has_price(&self) -> bool {
1963 self.message.body.has(tag::PRICE)
1964 }
1965
1966
1967
1968
1969 pub fn set_price_quote_method(&mut self, v: String) {
1971 self.message.body.set_field(tag::PRICE_QUOTE_METHOD, FIXString::from(v));
1972 }
1973
1974 pub fn get_price_quote_method(&self) -> Result<String, MessageRejectErrorEnum> {
1976 let mut fld = field::PriceQuoteMethodField::new(String::new());
1977 self.message.body.get_field(tag::PRICE_QUOTE_METHOD, &mut fld.0)?;
1978 Ok(fld.value().to_string())
1979 }
1980
1981
1982 pub fn has_price_quote_method(&self) -> bool {
1984 self.message.body.has(tag::PRICE_QUOTE_METHOD)
1985 }
1986
1987
1988
1989
1990 pub fn set_price_type(&mut self, v: isize) {
1992 self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
1993 }
1994
1995 pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1997 let mut fld = field::PriceTypeField::new(0);
1998 self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
1999 Ok(fld.value())
2000 }
2001
2002
2003 pub fn has_price_type(&self) -> bool {
2005 self.message.body.has(tag::PRICE_TYPE)
2006 }
2007
2008
2009
2010
2011 pub fn set_price_unit_of_measure(&mut self, v: String) {
2013 self.message.body.set_field(tag::PRICE_UNIT_OF_MEASURE, FIXString::from(v));
2014 }
2015
2016 pub fn get_price_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
2018 let mut fld = field::PriceUnitOfMeasureField::new(String::new());
2019 self.message.body.get_field(tag::PRICE_UNIT_OF_MEASURE, &mut fld.0)?;
2020 Ok(fld.value().to_string())
2021 }
2022
2023
2024 pub fn has_price_unit_of_measure(&self) -> bool {
2026 self.message.body.has(tag::PRICE_UNIT_OF_MEASURE)
2027 }
2028
2029
2030
2031
2032 pub fn set_price_unit_of_measure_qty(&mut self, val: Decimal, scale: i32) {
2034 self.message.body.set_field(tag::PRICE_UNIT_OF_MEASURE_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2035 }
2036
2037 pub fn get_price_unit_of_measure_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2039 let mut fld = field::PriceUnitOfMeasureQtyField::new(Decimal::ZERO, 0);
2040 self.message.body.get_field(tag::PRICE_UNIT_OF_MEASURE_QTY, &mut fld.0)?;
2041 Ok(fld.value())
2042 }
2043
2044
2045 pub fn has_price_unit_of_measure_qty(&self) -> bool {
2047 self.message.body.has(tag::PRICE_UNIT_OF_MEASURE_QTY)
2048 }
2049
2050
2051
2052
2053 pub fn set_product(&mut self, v: isize) {
2055 self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
2056 }
2057
2058 pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
2060 let mut fld = field::ProductField::new(0);
2061 self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
2062 Ok(fld.value())
2063 }
2064
2065
2066 pub fn has_product(&self) -> bool {
2068 self.message.body.has(tag::PRODUCT)
2069 }
2070
2071
2072
2073
2074 pub fn set_product_complex(&mut self, v: String) {
2076 self.message.body.set_field(tag::PRODUCT_COMPLEX, FIXString::from(v));
2077 }
2078
2079 pub fn get_product_complex(&self) -> Result<String, MessageRejectErrorEnum> {
2081 let mut fld = field::ProductComplexField::new(String::new());
2082 self.message.body.get_field(tag::PRODUCT_COMPLEX, &mut fld.0)?;
2083 Ok(fld.value().to_string())
2084 }
2085
2086
2087 pub fn has_product_complex(&self) -> bool {
2089 self.message.body.has(tag::PRODUCT_COMPLEX)
2090 }
2091
2092
2093
2094
2095 pub fn set_put_or_call(&mut self, v: isize) {
2097 self.message.body.set_field(tag::PUT_OR_CALL, fixer::fix_int::FIXInt::from(v));
2098 }
2099
2100 pub fn get_put_or_call(&self) -> Result<isize, MessageRejectErrorEnum> {
2102 let mut fld = field::PutOrCallField::new(0);
2103 self.message.body.get_field(tag::PUT_OR_CALL, &mut fld.0)?;
2104 Ok(fld.value())
2105 }
2106
2107
2108 pub fn has_put_or_call(&self) -> bool {
2110 self.message.body.has(tag::PUT_OR_CALL)
2111 }
2112
2113
2114
2115
2116 pub fn set_qty_type(&mut self, v: isize) {
2118 self.message.body.set_field(tag::QTY_TYPE, fixer::fix_int::FIXInt::from(v));
2119 }
2120
2121 pub fn get_qty_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2123 let mut fld = field::QtyTypeField::new(0);
2124 self.message.body.get_field(tag::QTY_TYPE, &mut fld.0)?;
2125 Ok(fld.value())
2126 }
2127
2128
2129 pub fn has_qty_type(&self) -> bool {
2131 self.message.body.has(tag::QTY_TYPE)
2132 }
2133
2134
2135
2136
2137 pub fn set_quantity(&mut self, val: Decimal, scale: i32) {
2139 self.message.body.set_field(tag::QUANTITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2140 }
2141
2142 pub fn get_quantity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2144 let mut fld = field::QuantityField::new(Decimal::ZERO, 0);
2145 self.message.body.get_field(tag::QUANTITY, &mut fld.0)?;
2146 Ok(fld.value())
2147 }
2148
2149
2150 pub fn has_quantity(&self) -> bool {
2152 self.message.body.has(tag::QUANTITY)
2153 }
2154
2155
2156
2157
2158 pub fn set_redemption_date(&mut self, v: String) {
2160 self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
2161 }
2162
2163 pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2165 let mut fld = field::RedemptionDateField::new(String::new());
2166 self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
2167 Ok(fld.value().to_string())
2168 }
2169
2170
2171 pub fn has_redemption_date(&self) -> bool {
2173 self.message.body.has(tag::REDEMPTION_DATE)
2174 }
2175
2176
2177
2178
2179 pub fn set_repo_collateral_security_type(&mut self, v: isize) {
2181 self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
2182 }
2183
2184 pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2186 let mut fld = field::RepoCollateralSecurityTypeField::new(0);
2187 self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
2188 Ok(fld.value())
2189 }
2190
2191
2192 pub fn has_repo_collateral_security_type(&self) -> bool {
2194 self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
2195 }
2196
2197
2198
2199
2200 pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
2202 self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2203 }
2204
2205 pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2207 let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
2208 self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
2209 Ok(fld.value())
2210 }
2211
2212
2213 pub fn has_repurchase_rate(&self) -> bool {
2215 self.message.body.has(tag::REPURCHASE_RATE)
2216 }
2217
2218
2219
2220
2221 pub fn set_repurchase_term(&mut self, v: isize) {
2223 self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
2224 }
2225
2226 pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
2228 let mut fld = field::RepurchaseTermField::new(0);
2229 self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
2230 Ok(fld.value())
2231 }
2232
2233
2234 pub fn has_repurchase_term(&self) -> bool {
2236 self.message.body.has(tag::REPURCHASE_TERM)
2237 }
2238
2239
2240
2241
2242 pub fn set_restructuring_type(&mut self, v: String) {
2244 self.message.body.set_field(tag::RESTRUCTURING_TYPE, FIXString::from(v));
2245 }
2246
2247 pub fn get_restructuring_type(&self) -> Result<String, MessageRejectErrorEnum> {
2249 let mut fld = field::RestructuringTypeField::new(String::new());
2250 self.message.body.get_field(tag::RESTRUCTURING_TYPE, &mut fld.0)?;
2251 Ok(fld.value().to_string())
2252 }
2253
2254
2255 pub fn has_restructuring_type(&self) -> bool {
2257 self.message.body.has(tag::RESTRUCTURING_TYPE)
2258 }
2259
2260
2261
2262
2263 pub fn set_secondary_cl_ord_id(&mut self, v: String) {
2265 self.message.body.set_field(tag::SECONDARY_CL_ORD_ID, FIXString::from(v));
2266 }
2267
2268 pub fn get_secondary_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
2270 let mut fld = field::SecondaryClOrdIDField::new(String::new());
2271 self.message.body.get_field(tag::SECONDARY_CL_ORD_ID, &mut fld.0)?;
2272 Ok(fld.value().to_string())
2273 }
2274
2275
2276 pub fn has_secondary_cl_ord_id(&self) -> bool {
2278 self.message.body.has(tag::SECONDARY_CL_ORD_ID)
2279 }
2280
2281
2282
2283
2284 pub fn set_secondary_order_id(&mut self, v: String) {
2286 self.message.body.set_field(tag::SECONDARY_ORDER_ID, FIXString::from(v));
2287 }
2288
2289 pub fn get_secondary_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
2291 let mut fld = field::SecondaryOrderIDField::new(String::new());
2292 self.message.body.get_field(tag::SECONDARY_ORDER_ID, &mut fld.0)?;
2293 Ok(fld.value().to_string())
2294 }
2295
2296
2297 pub fn has_secondary_order_id(&self) -> bool {
2299 self.message.body.has(tag::SECONDARY_ORDER_ID)
2300 }
2301
2302
2303
2304
2305 pub fn set_security_desc(&mut self, v: String) {
2307 self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
2308 }
2309
2310 pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
2312 let mut fld = field::SecurityDescField::new(String::new());
2313 self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
2314 Ok(fld.value().to_string())
2315 }
2316
2317
2318 pub fn has_security_desc(&self) -> bool {
2320 self.message.body.has(tag::SECURITY_DESC)
2321 }
2322
2323
2324
2325
2326 pub fn set_security_exchange(&mut self, v: String) {
2328 self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
2329 }
2330
2331 pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
2333 let mut fld = field::SecurityExchangeField::new(String::new());
2334 self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
2335 Ok(fld.value().to_string())
2336 }
2337
2338
2339 pub fn has_security_exchange(&self) -> bool {
2341 self.message.body.has(tag::SECURITY_EXCHANGE)
2342 }
2343
2344
2345
2346
2347 pub fn set_security_group(&mut self, v: String) {
2349 self.message.body.set_field(tag::SECURITY_GROUP, FIXString::from(v));
2350 }
2351
2352 pub fn get_security_group(&self) -> Result<String, MessageRejectErrorEnum> {
2354 let mut fld = field::SecurityGroupField::new(String::new());
2355 self.message.body.get_field(tag::SECURITY_GROUP, &mut fld.0)?;
2356 Ok(fld.value().to_string())
2357 }
2358
2359
2360 pub fn has_security_group(&self) -> bool {
2362 self.message.body.has(tag::SECURITY_GROUP)
2363 }
2364
2365
2366
2367
2368 pub fn set_security_id(&mut self, v: String) {
2370 self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
2371 }
2372
2373 pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
2375 let mut fld = field::SecurityIDField::new(String::new());
2376 self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
2377 Ok(fld.value().to_string())
2378 }
2379
2380
2381 pub fn has_security_id(&self) -> bool {
2383 self.message.body.has(tag::SECURITY_ID)
2384 }
2385
2386
2387
2388
2389 pub fn set_security_id_source(&mut self, v: String) {
2391 self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
2392 }
2393
2394 pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
2396 let mut fld = field::SecurityIDSourceField::new(String::new());
2397 self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
2398 Ok(fld.value().to_string())
2399 }
2400
2401
2402 pub fn has_security_id_source(&self) -> bool {
2404 self.message.body.has(tag::SECURITY_ID_SOURCE)
2405 }
2406
2407
2408
2409
2410 pub fn set_security_status(&mut self, v: String) {
2412 self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
2413 }
2414
2415 pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
2417 let mut fld = field::SecurityStatusField::new(String::new());
2418 self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
2419 Ok(fld.value().to_string())
2420 }
2421
2422
2423 pub fn has_security_status(&self) -> bool {
2425 self.message.body.has(tag::SECURITY_STATUS)
2426 }
2427
2428
2429
2430
2431 pub fn set_security_sub_type(&mut self, v: String) {
2433 self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
2434 }
2435
2436 pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
2438 let mut fld = field::SecuritySubTypeField::new(String::new());
2439 self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
2440 Ok(fld.value().to_string())
2441 }
2442
2443
2444 pub fn has_security_sub_type(&self) -> bool {
2446 self.message.body.has(tag::SECURITY_SUB_TYPE)
2447 }
2448
2449
2450
2451
2452 pub fn set_security_type(&mut self, v: String) {
2454 self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2455 }
2456
2457 pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2459 let mut fld = field::SecurityTypeField::new(String::new());
2460 self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2461 Ok(fld.value().to_string())
2462 }
2463
2464
2465 pub fn has_security_type(&self) -> bool {
2467 self.message.body.has(tag::SECURITY_TYPE)
2468 }
2469
2470
2471
2472
2473 pub fn set_security_xml(&mut self, v: String) {
2475 self.message.body.set_field(tag::SECURITY_XML, FIXString::from(v));
2476 }
2477
2478 pub fn get_security_xml(&self) -> Result<String, MessageRejectErrorEnum> {
2480 let mut fld = field::SecurityXMLField::new(String::new());
2481 self.message.body.get_field(tag::SECURITY_XML, &mut fld.0)?;
2482 Ok(fld.value().to_string())
2483 }
2484
2485
2486 pub fn has_security_xml(&self) -> bool {
2488 self.message.body.has(tag::SECURITY_XML)
2489 }
2490
2491
2492
2493
2494 pub fn set_security_xml_len(&mut self, v: isize) {
2496 self.message.body.set_field(tag::SECURITY_XML_LEN, fixer::fix_int::FIXInt::from(v));
2497 }
2498
2499 pub fn get_security_xml_len(&self) -> Result<isize, MessageRejectErrorEnum> {
2501 let mut fld = field::SecurityXMLLenField::new(0);
2502 self.message.body.get_field(tag::SECURITY_XML_LEN, &mut fld.0)?;
2503 Ok(fld.value())
2504 }
2505
2506
2507 pub fn has_security_xml_len(&self) -> bool {
2509 self.message.body.has(tag::SECURITY_XML_LEN)
2510 }
2511
2512
2513
2514
2515 pub fn set_security_xml_schema(&mut self, v: String) {
2517 self.message.body.set_field(tag::SECURITY_XML_SCHEMA, FIXString::from(v));
2518 }
2519
2520 pub fn get_security_xml_schema(&self) -> Result<String, MessageRejectErrorEnum> {
2522 let mut fld = field::SecurityXMLSchemaField::new(String::new());
2523 self.message.body.get_field(tag::SECURITY_XML_SCHEMA, &mut fld.0)?;
2524 Ok(fld.value().to_string())
2525 }
2526
2527
2528 pub fn has_security_xml_schema(&self) -> bool {
2530 self.message.body.has(tag::SECURITY_XML_SCHEMA)
2531 }
2532
2533
2534
2535
2536 pub fn set_seniority(&mut self, v: String) {
2538 self.message.body.set_field(tag::SENIORITY, FIXString::from(v));
2539 }
2540
2541 pub fn get_seniority(&self) -> Result<String, MessageRejectErrorEnum> {
2543 let mut fld = field::SeniorityField::new(String::new());
2544 self.message.body.get_field(tag::SENIORITY, &mut fld.0)?;
2545 Ok(fld.value().to_string())
2546 }
2547
2548
2549 pub fn has_seniority(&self) -> bool {
2551 self.message.body.has(tag::SENIORITY)
2552 }
2553
2554
2555
2556
2557 pub fn set_settl_date(&mut self, v: String) {
2559 self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
2560 }
2561
2562 pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
2564 let mut fld = field::SettlDateField::new(String::new());
2565 self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
2566 Ok(fld.value().to_string())
2567 }
2568
2569
2570 pub fn has_settl_date(&self) -> bool {
2572 self.message.body.has(tag::SETTL_DATE)
2573 }
2574
2575
2576
2577
2578 pub fn set_settl_delivery_type(&mut self, v: isize) {
2580 self.message.body.set_field(tag::SETTL_DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
2581 }
2582
2583 pub fn get_settl_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2585 let mut fld = field::SettlDeliveryTypeField::new(0);
2586 self.message.body.get_field(tag::SETTL_DELIVERY_TYPE, &mut fld.0)?;
2587 Ok(fld.value())
2588 }
2589
2590
2591 pub fn has_settl_delivery_type(&self) -> bool {
2593 self.message.body.has(tag::SETTL_DELIVERY_TYPE)
2594 }
2595
2596
2597
2598
2599 pub fn set_settl_method(&mut self, v: String) {
2601 self.message.body.set_field(tag::SETTL_METHOD, FIXString::from(v));
2602 }
2603
2604 pub fn get_settl_method(&self) -> Result<String, MessageRejectErrorEnum> {
2606 let mut fld = field::SettlMethodField::new(String::new());
2607 self.message.body.get_field(tag::SETTL_METHOD, &mut fld.0)?;
2608 Ok(fld.value().to_string())
2609 }
2610
2611
2612 pub fn has_settl_method(&self) -> bool {
2614 self.message.body.has(tag::SETTL_METHOD)
2615 }
2616
2617
2618
2619
2620 pub fn set_settl_sess_id(&mut self, v: String) {
2622 self.message.body.set_field(tag::SETTL_SESS_ID, FIXString::from(v));
2623 }
2624
2625 pub fn get_settl_sess_id(&self) -> Result<String, MessageRejectErrorEnum> {
2627 let mut fld = field::SettlSessIDField::new(String::new());
2628 self.message.body.get_field(tag::SETTL_SESS_ID, &mut fld.0)?;
2629 Ok(fld.value().to_string())
2630 }
2631
2632
2633 pub fn has_settl_sess_id(&self) -> bool {
2635 self.message.body.has(tag::SETTL_SESS_ID)
2636 }
2637
2638
2639
2640
2641 pub fn set_settl_sess_sub_id(&mut self, v: String) {
2643 self.message.body.set_field(tag::SETTL_SESS_SUB_ID, FIXString::from(v));
2644 }
2645
2646 pub fn get_settl_sess_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2648 let mut fld = field::SettlSessSubIDField::new(String::new());
2649 self.message.body.get_field(tag::SETTL_SESS_SUB_ID, &mut fld.0)?;
2650 Ok(fld.value().to_string())
2651 }
2652
2653
2654 pub fn has_settl_sess_sub_id(&self) -> bool {
2656 self.message.body.has(tag::SETTL_SESS_SUB_ID)
2657 }
2658
2659
2660
2661
2662 pub fn set_settle_on_open_flag(&mut self, v: String) {
2664 self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
2665 }
2666
2667 pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
2669 let mut fld = field::SettleOnOpenFlagField::new(String::new());
2670 self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
2671 Ok(fld.value().to_string())
2672 }
2673
2674
2675 pub fn has_settle_on_open_flag(&self) -> bool {
2677 self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
2678 }
2679
2680
2681
2682
2683 pub fn set_side(&mut self, v: String) {
2685 self.message.body.set_field(tag::SIDE, FIXString::from(v));
2686 }
2687
2688 pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2690 let mut fld = field::SideField::new(String::new());
2691 self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2692 Ok(fld.value().to_string())
2693 }
2694
2695
2696 pub fn has_side(&self) -> bool {
2698 self.message.body.has(tag::SIDE)
2699 }
2700
2701
2702
2703
2704 pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2706 self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2707 }
2708
2709 pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2711 let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2712 self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2713 Ok(fld.value())
2714 }
2715
2716
2717 pub fn has_spread(&self) -> bool {
2719 self.message.body.has(tag::SPREAD)
2720 }
2721
2722
2723
2724
2725 pub fn set_stand_inst_db_id(&mut self, v: String) {
2727 self.message.body.set_field(tag::STAND_INST_DB_ID, FIXString::from(v));
2728 }
2729
2730 pub fn get_stand_inst_db_id(&self) -> Result<String, MessageRejectErrorEnum> {
2732 let mut fld = field::StandInstDbIDField::new(String::new());
2733 self.message.body.get_field(tag::STAND_INST_DB_ID, &mut fld.0)?;
2734 Ok(fld.value().to_string())
2735 }
2736
2737
2738 pub fn has_stand_inst_db_id(&self) -> bool {
2740 self.message.body.has(tag::STAND_INST_DB_ID)
2741 }
2742
2743
2744
2745
2746 pub fn set_stand_inst_db_name(&mut self, v: String) {
2748 self.message.body.set_field(tag::STAND_INST_DB_NAME, FIXString::from(v));
2749 }
2750
2751 pub fn get_stand_inst_db_name(&self) -> Result<String, MessageRejectErrorEnum> {
2753 let mut fld = field::StandInstDbNameField::new(String::new());
2754 self.message.body.get_field(tag::STAND_INST_DB_NAME, &mut fld.0)?;
2755 Ok(fld.value().to_string())
2756 }
2757
2758
2759 pub fn has_stand_inst_db_name(&self) -> bool {
2761 self.message.body.has(tag::STAND_INST_DB_NAME)
2762 }
2763
2764
2765
2766
2767 pub fn set_stand_inst_db_type(&mut self, v: isize) {
2769 self.message.body.set_field(tag::STAND_INST_DB_TYPE, fixer::fix_int::FIXInt::from(v));
2770 }
2771
2772 pub fn get_stand_inst_db_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2774 let mut fld = field::StandInstDbTypeField::new(0);
2775 self.message.body.get_field(tag::STAND_INST_DB_TYPE, &mut fld.0)?;
2776 Ok(fld.value())
2777 }
2778
2779
2780 pub fn has_stand_inst_db_type(&self) -> bool {
2782 self.message.body.has(tag::STAND_INST_DB_TYPE)
2783 }
2784
2785
2786
2787
2788 pub fn set_start_cash(&mut self, val: Decimal, scale: i32) {
2790 self.message.body.set_field(tag::START_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2791 }
2792
2793 pub fn get_start_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2795 let mut fld = field::StartCashField::new(Decimal::ZERO, 0);
2796 self.message.body.get_field(tag::START_CASH, &mut fld.0)?;
2797 Ok(fld.value())
2798 }
2799
2800
2801 pub fn has_start_cash(&self) -> bool {
2803 self.message.body.has(tag::START_CASH)
2804 }
2805
2806
2807
2808
2809 pub fn set_start_date(&mut self, v: String) {
2811 self.message.body.set_field(tag::START_DATE, FIXString::from(v));
2812 }
2813
2814 pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
2816 let mut fld = field::StartDateField::new(String::new());
2817 self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
2818 Ok(fld.value().to_string())
2819 }
2820
2821
2822 pub fn has_start_date(&self) -> bool {
2824 self.message.body.has(tag::START_DATE)
2825 }
2826
2827
2828
2829
2830 pub fn set_state_or_province_of_issue(&mut self, v: String) {
2832 self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2833 }
2834
2835 pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2837 let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2838 self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2839 Ok(fld.value().to_string())
2840 }
2841
2842
2843 pub fn has_state_or_province_of_issue(&self) -> bool {
2845 self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2846 }
2847
2848
2849
2850
2851 pub fn set_strike_currency(&mut self, v: String) {
2853 self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2854 }
2855
2856 pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2858 let mut fld = field::StrikeCurrencyField::new(String::new());
2859 self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2860 Ok(fld.value().to_string())
2861 }
2862
2863
2864 pub fn has_strike_currency(&self) -> bool {
2866 self.message.body.has(tag::STRIKE_CURRENCY)
2867 }
2868
2869
2870
2871
2872 pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
2874 self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2875 }
2876
2877 pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2879 let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
2880 self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
2881 Ok(fld.value())
2882 }
2883
2884
2885 pub fn has_strike_multiplier(&self) -> bool {
2887 self.message.body.has(tag::STRIKE_MULTIPLIER)
2888 }
2889
2890
2891
2892
2893 pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2895 self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2896 }
2897
2898 pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2900 let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2901 self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2902 Ok(fld.value())
2903 }
2904
2905
2906 pub fn has_strike_price(&self) -> bool {
2908 self.message.body.has(tag::STRIKE_PRICE)
2909 }
2910
2911
2912
2913
2914 pub fn set_strike_price_boundary_method(&mut self, v: isize) {
2916 self.message.body.set_field(tag::STRIKE_PRICE_BOUNDARY_METHOD, fixer::fix_int::FIXInt::from(v));
2917 }
2918
2919 pub fn get_strike_price_boundary_method(&self) -> Result<isize, MessageRejectErrorEnum> {
2921 let mut fld = field::StrikePriceBoundaryMethodField::new(0);
2922 self.message.body.get_field(tag::STRIKE_PRICE_BOUNDARY_METHOD, &mut fld.0)?;
2923 Ok(fld.value())
2924 }
2925
2926
2927 pub fn has_strike_price_boundary_method(&self) -> bool {
2929 self.message.body.has(tag::STRIKE_PRICE_BOUNDARY_METHOD)
2930 }
2931
2932
2933
2934
2935 pub fn set_strike_price_boundary_precision(&mut self, val: Decimal, scale: i32) {
2937 self.message.body.set_field(tag::STRIKE_PRICE_BOUNDARY_PRECISION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2938 }
2939
2940 pub fn get_strike_price_boundary_precision(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2942 let mut fld = field::StrikePriceBoundaryPrecisionField::new(Decimal::ZERO, 0);
2943 self.message.body.get_field(tag::STRIKE_PRICE_BOUNDARY_PRECISION, &mut fld.0)?;
2944 Ok(fld.value())
2945 }
2946
2947
2948 pub fn has_strike_price_boundary_precision(&self) -> bool {
2950 self.message.body.has(tag::STRIKE_PRICE_BOUNDARY_PRECISION)
2951 }
2952
2953
2954
2955
2956 pub fn set_strike_price_determination_method(&mut self, v: isize) {
2958 self.message.body.set_field(tag::STRIKE_PRICE_DETERMINATION_METHOD, fixer::fix_int::FIXInt::from(v));
2959 }
2960
2961 pub fn get_strike_price_determination_method(&self) -> Result<isize, MessageRejectErrorEnum> {
2963 let mut fld = field::StrikePriceDeterminationMethodField::new(0);
2964 self.message.body.get_field(tag::STRIKE_PRICE_DETERMINATION_METHOD, &mut fld.0)?;
2965 Ok(fld.value())
2966 }
2967
2968
2969 pub fn has_strike_price_determination_method(&self) -> bool {
2971 self.message.body.has(tag::STRIKE_PRICE_DETERMINATION_METHOD)
2972 }
2973
2974
2975
2976
2977 pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2979 self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2980 }
2981
2982 pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2984 let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2985 self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2986 Ok(fld.value())
2987 }
2988
2989
2990 pub fn has_strike_value(&self) -> bool {
2992 self.message.body.has(tag::STRIKE_VALUE)
2993 }
2994
2995
2996
2997
2998 pub fn set_symbol(&mut self, v: String) {
3000 self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
3001 }
3002
3003 pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
3005 let mut fld = field::SymbolField::new(String::new());
3006 self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
3007 Ok(fld.value().to_string())
3008 }
3009
3010
3011 pub fn has_symbol(&self) -> bool {
3013 self.message.body.has(tag::SYMBOL)
3014 }
3015
3016
3017
3018
3019 pub fn set_symbol_sfx(&mut self, v: String) {
3021 self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
3022 }
3023
3024 pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
3026 let mut fld = field::SymbolSfxField::new(String::new());
3027 self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
3028 Ok(fld.value().to_string())
3029 }
3030
3031
3032 pub fn has_symbol_sfx(&self) -> bool {
3034 self.message.body.has(tag::SYMBOL_SFX)
3035 }
3036
3037
3038
3039
3040 pub fn set_termination_type(&mut self, v: isize) {
3042 self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
3043 }
3044
3045 pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3047 let mut fld = field::TerminationTypeField::new(0);
3048 self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
3049 Ok(fld.value())
3050 }
3051
3052
3053 pub fn has_termination_type(&self) -> bool {
3055 self.message.body.has(tag::TERMINATION_TYPE)
3056 }
3057
3058
3059
3060
3061 pub fn set_text(&mut self, v: String) {
3063 self.message.body.set_field(tag::TEXT, FIXString::from(v));
3064 }
3065
3066 pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
3068 let mut fld = field::TextField::new(String::new());
3069 self.message.body.get_field(tag::TEXT, &mut fld.0)?;
3070 Ok(fld.value().to_string())
3071 }
3072
3073
3074 pub fn has_text(&self) -> bool {
3076 self.message.body.has(tag::TEXT)
3077 }
3078
3079
3080
3081
3082 pub fn set_time_unit(&mut self, v: String) {
3084 self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
3085 }
3086
3087 pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
3089 let mut fld = field::TimeUnitField::new(String::new());
3090 self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
3091 Ok(fld.value().to_string())
3092 }
3093
3094
3095 pub fn has_time_unit(&self) -> bool {
3097 self.message.body.has(tag::TIME_UNIT)
3098 }
3099
3100
3101
3102
3103 pub fn set_total_net_value(&mut self, val: Decimal, scale: i32) {
3105 self.message.body.set_field(tag::TOTAL_NET_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3106 }
3107
3108 pub fn get_total_net_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3110 let mut fld = field::TotalNetValueField::new(Decimal::ZERO, 0);
3111 self.message.body.get_field(tag::TOTAL_NET_VALUE, &mut fld.0)?;
3112 Ok(fld.value())
3113 }
3114
3115
3116 pub fn has_total_net_value(&self) -> bool {
3118 self.message.body.has(tag::TOTAL_NET_VALUE)
3119 }
3120
3121
3122
3123
3124 pub fn set_trading_session_id(&mut self, v: String) {
3126 self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
3127 }
3128
3129 pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
3131 let mut fld = field::TradingSessionIDField::new(String::new());
3132 self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
3133 Ok(fld.value().to_string())
3134 }
3135
3136
3137 pub fn has_trading_session_id(&self) -> bool {
3139 self.message.body.has(tag::TRADING_SESSION_ID)
3140 }
3141
3142
3143
3144
3145 pub fn set_trading_session_sub_id(&mut self, v: String) {
3147 self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
3148 }
3149
3150 pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
3152 let mut fld = field::TradingSessionSubIDField::new(String::new());
3153 self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
3154 Ok(fld.value().to_string())
3155 }
3156
3157
3158 pub fn has_trading_session_sub_id(&self) -> bool {
3160 self.message.body.has(tag::TRADING_SESSION_SUB_ID)
3161 }
3162
3163
3164
3165
3166 pub fn set_transact_time(&mut self, v: Timestamp) {
3168 self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
3169 time: v,
3170 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
3171 });
3172 }
3173
3174 pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
3176 let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
3177 self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
3178 Ok(fld.value())
3179 }
3180
3181
3182 pub fn has_transact_time(&self) -> bool {
3184 self.message.body.has(tag::TRANSACT_TIME)
3185 }
3186
3187
3188
3189
3190 pub fn set_underlying_price_determination_method(&mut self, v: isize) {
3192 self.message.body.set_field(tag::UNDERLYING_PRICE_DETERMINATION_METHOD, fixer::fix_int::FIXInt::from(v));
3193 }
3194
3195 pub fn get_underlying_price_determination_method(&self) -> Result<isize, MessageRejectErrorEnum> {
3197 let mut fld = field::UnderlyingPriceDeterminationMethodField::new(0);
3198 self.message.body.get_field(tag::UNDERLYING_PRICE_DETERMINATION_METHOD, &mut fld.0)?;
3199 Ok(fld.value())
3200 }
3201
3202
3203 pub fn has_underlying_price_determination_method(&self) -> bool {
3205 self.message.body.has(tag::UNDERLYING_PRICE_DETERMINATION_METHOD)
3206 }
3207
3208
3209
3210
3211 pub fn set_unit_of_measure(&mut self, v: String) {
3213 self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
3214 }
3215
3216 pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
3218 let mut fld = field::UnitOfMeasureField::new(String::new());
3219 self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
3220 Ok(fld.value().to_string())
3221 }
3222
3223
3224 pub fn has_unit_of_measure(&self) -> bool {
3226 self.message.body.has(tag::UNIT_OF_MEASURE)
3227 }
3228
3229
3230
3231
3232 pub fn set_unit_of_measure_qty(&mut self, val: Decimal, scale: i32) {
3234 self.message.body.set_field(tag::UNIT_OF_MEASURE_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3235 }
3236
3237 pub fn get_unit_of_measure_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3239 let mut fld = field::UnitOfMeasureQtyField::new(Decimal::ZERO, 0);
3240 self.message.body.get_field(tag::UNIT_OF_MEASURE_QTY, &mut fld.0)?;
3241 Ok(fld.value())
3242 }
3243
3244
3245 pub fn has_unit_of_measure_qty(&self) -> bool {
3247 self.message.body.has(tag::UNIT_OF_MEASURE_QTY)
3248 }
3249
3250
3251
3252
3253 pub fn set_valuation_method(&mut self, v: String) {
3255 self.message.body.set_field(tag::VALUATION_METHOD, FIXString::from(v));
3256 }
3257
3258 pub fn get_valuation_method(&self) -> Result<String, MessageRejectErrorEnum> {
3260 let mut fld = field::ValuationMethodField::new(String::new());
3261 self.message.body.get_field(tag::VALUATION_METHOD, &mut fld.0)?;
3262 Ok(fld.value().to_string())
3263 }
3264
3265
3266 pub fn has_valuation_method(&self) -> bool {
3268 self.message.body.has(tag::VALUATION_METHOD)
3269 }
3270
3271
3272}
3273
3274pub type RouteOut = fn(msg: CollateralAssignment, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
3276
3277pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
3279
3280pub fn route(router: RouteOut) -> Route {
3282 let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
3283 router(CollateralAssignment::from_message(msg.clone()), session_id)
3284 };
3285 ("9", "AY", Box::new(r))
3286}