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 Confirmation {
22 pub message: Message,
23}
24
25impl Confirmation {
26 pub fn new(confirm_id: field::ConfirmIDField, confirm_trans_type: field::ConfirmTransTypeField, confirm_type: field::ConfirmTypeField, confirm_status: field::ConfirmStatusField, transact_time: field::TransactTimeField, trade_date: field::TradeDateField, alloc_qty: field::AllocQtyField, side: field::SideField, no_capacities: field::NoCapacitiesField, alloc_account: field::AllocAccountField, avg_px: field::AvgPxField, gross_trade_amt: field::GrossTradeAmtField, net_money: field::NetMoneyField) -> Self {
28 let mut msg = Message::new();
29 msg.header.set_field(tag::MSG_TYPE, FIXString::from("AK".to_string()));
30
31 msg.body.set_field(tag::CONFIRM_ID, confirm_id.0);
32
33 msg.body.set_field(tag::CONFIRM_TRANS_TYPE, confirm_trans_type.0);
34
35 msg.body.set_field(tag::CONFIRM_TYPE, confirm_type.0);
36
37 msg.body.set_field(tag::CONFIRM_STATUS, confirm_status.0);
38
39 msg.body.set_field(tag::TRANSACT_TIME, transact_time.0);
40
41 msg.body.set_field(tag::TRADE_DATE, trade_date.0);
42
43 msg.body.set_field(tag::ALLOC_QTY, alloc_qty.0);
44
45 msg.body.set_field(tag::SIDE, side.0);
46
47 msg.body.set_field(tag::NO_CAPACITIES, no_capacities.0);
48
49 msg.body.set_field(tag::ALLOC_ACCOUNT, alloc_account.0);
50
51 msg.body.set_field(tag::AVG_PX, avg_px.0);
52
53 msg.body.set_field(tag::GROSS_TRADE_AMT, gross_trade_amt.0);
54
55 msg.body.set_field(tag::NET_MONEY, net_money.0);
56
57 Self { message: msg }
58 }
59
60 pub fn from_message(msg: Message) -> Self {
62 Self { message: msg }
63 }
64
65 pub fn to_message(self) -> Message {
67 self.message
68 }
69
70
71
72
73 pub fn set_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
75 self.message.body.set_field(tag::ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
76 }
77
78 pub fn get_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
80 let mut fld = field::AccruedInterestAmtField::new(Decimal::ZERO, 0);
81 self.message.body.get_field(tag::ACCRUED_INTEREST_AMT, &mut fld.0)?;
82 Ok(fld.value())
83 }
84
85
86 pub fn has_accrued_interest_amt(&self) -> bool {
88 self.message.body.has(tag::ACCRUED_INTEREST_AMT)
89 }
90
91
92
93
94 pub fn set_accrued_interest_rate(&mut self, val: Decimal, scale: i32) {
96 self.message.body.set_field(tag::ACCRUED_INTEREST_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
97 }
98
99 pub fn get_accrued_interest_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
101 let mut fld = field::AccruedInterestRateField::new(Decimal::ZERO, 0);
102 self.message.body.get_field(tag::ACCRUED_INTEREST_RATE, &mut fld.0)?;
103 Ok(fld.value())
104 }
105
106
107 pub fn has_accrued_interest_rate(&self) -> bool {
109 self.message.body.has(tag::ACCRUED_INTEREST_RATE)
110 }
111
112
113
114
115 pub fn set_agreement_currency(&mut self, v: String) {
117 self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
118 }
119
120 pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
122 let mut fld = field::AgreementCurrencyField::new(String::new());
123 self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
124 Ok(fld.value().to_string())
125 }
126
127
128 pub fn has_agreement_currency(&self) -> bool {
130 self.message.body.has(tag::AGREEMENT_CURRENCY)
131 }
132
133
134
135
136 pub fn set_agreement_date(&mut self, v: String) {
138 self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
139 }
140
141 pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
143 let mut fld = field::AgreementDateField::new(String::new());
144 self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
145 Ok(fld.value().to_string())
146 }
147
148
149 pub fn has_agreement_date(&self) -> bool {
151 self.message.body.has(tag::AGREEMENT_DATE)
152 }
153
154
155
156
157 pub fn set_agreement_desc(&mut self, v: String) {
159 self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
160 }
161
162 pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
164 let mut fld = field::AgreementDescField::new(String::new());
165 self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
166 Ok(fld.value().to_string())
167 }
168
169
170 pub fn has_agreement_desc(&self) -> bool {
172 self.message.body.has(tag::AGREEMENT_DESC)
173 }
174
175
176
177
178 pub fn set_agreement_id(&mut self, v: String) {
180 self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
181 }
182
183 pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
185 let mut fld = field::AgreementIDField::new(String::new());
186 self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
187 Ok(fld.value().to_string())
188 }
189
190
191 pub fn has_agreement_id(&self) -> bool {
193 self.message.body.has(tag::AGREEMENT_ID)
194 }
195
196
197
198
199 pub fn set_alloc_account(&mut self, v: String) {
201 self.message.body.set_field(tag::ALLOC_ACCOUNT, FIXString::from(v));
202 }
203
204 pub fn get_alloc_account(&self) -> Result<String, MessageRejectErrorEnum> {
206 let mut fld = field::AllocAccountField::new(String::new());
207 self.message.body.get_field(tag::ALLOC_ACCOUNT, &mut fld.0)?;
208 Ok(fld.value().to_string())
209 }
210
211
212 pub fn has_alloc_account(&self) -> bool {
214 self.message.body.has(tag::ALLOC_ACCOUNT)
215 }
216
217
218
219
220 pub fn set_alloc_account_type(&mut self, v: isize) {
222 self.message.body.set_field(tag::ALLOC_ACCOUNT_TYPE, fixer::fix_int::FIXInt::from(v));
223 }
224
225 pub fn get_alloc_account_type(&self) -> Result<isize, MessageRejectErrorEnum> {
227 let mut fld = field::AllocAccountTypeField::new(0);
228 self.message.body.get_field(tag::ALLOC_ACCOUNT_TYPE, &mut fld.0)?;
229 Ok(fld.value())
230 }
231
232
233 pub fn has_alloc_account_type(&self) -> bool {
235 self.message.body.has(tag::ALLOC_ACCOUNT_TYPE)
236 }
237
238
239
240
241 pub fn set_alloc_acct_id_source(&mut self, v: isize) {
243 self.message.body.set_field(tag::ALLOC_ACCT_ID_SOURCE, fixer::fix_int::FIXInt::from(v));
244 }
245
246 pub fn get_alloc_acct_id_source(&self) -> Result<isize, MessageRejectErrorEnum> {
248 let mut fld = field::AllocAcctIDSourceField::new(0);
249 self.message.body.get_field(tag::ALLOC_ACCT_ID_SOURCE, &mut fld.0)?;
250 Ok(fld.value())
251 }
252
253
254 pub fn has_alloc_acct_id_source(&self) -> bool {
256 self.message.body.has(tag::ALLOC_ACCT_ID_SOURCE)
257 }
258
259
260
261
262 pub fn set_alloc_id(&mut self, v: String) {
264 self.message.body.set_field(tag::ALLOC_ID, FIXString::from(v));
265 }
266
267 pub fn get_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
269 let mut fld = field::AllocIDField::new(String::new());
270 self.message.body.get_field(tag::ALLOC_ID, &mut fld.0)?;
271 Ok(fld.value().to_string())
272 }
273
274
275 pub fn has_alloc_id(&self) -> bool {
277 self.message.body.has(tag::ALLOC_ID)
278 }
279
280
281
282
283 pub fn set_alloc_qty(&mut self, val: Decimal, scale: i32) {
285 self.message.body.set_field(tag::ALLOC_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
286 }
287
288 pub fn get_alloc_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
290 let mut fld = field::AllocQtyField::new(Decimal::ZERO, 0);
291 self.message.body.get_field(tag::ALLOC_QTY, &mut fld.0)?;
292 Ok(fld.value())
293 }
294
295
296 pub fn has_alloc_qty(&self) -> bool {
298 self.message.body.has(tag::ALLOC_QTY)
299 }
300
301
302
303
304 pub fn set_avg_par_px(&mut self, val: Decimal, scale: i32) {
306 self.message.body.set_field(tag::AVG_PAR_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
307 }
308
309 pub fn get_avg_par_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
311 let mut fld = field::AvgParPxField::new(Decimal::ZERO, 0);
312 self.message.body.get_field(tag::AVG_PAR_PX, &mut fld.0)?;
313 Ok(fld.value())
314 }
315
316
317 pub fn has_avg_par_px(&self) -> bool {
319 self.message.body.has(tag::AVG_PAR_PX)
320 }
321
322
323
324
325 pub fn set_avg_px(&mut self, val: Decimal, scale: i32) {
327 self.message.body.set_field(tag::AVG_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
328 }
329
330 pub fn get_avg_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
332 let mut fld = field::AvgPxField::new(Decimal::ZERO, 0);
333 self.message.body.get_field(tag::AVG_PX, &mut fld.0)?;
334 Ok(fld.value())
335 }
336
337
338 pub fn has_avg_px(&self) -> bool {
340 self.message.body.has(tag::AVG_PX)
341 }
342
343
344
345
346 pub fn set_avg_px_precision(&mut self, v: isize) {
348 self.message.body.set_field(tag::AVG_PX_PRECISION, fixer::fix_int::FIXInt::from(v));
349 }
350
351 pub fn get_avg_px_precision(&self) -> Result<isize, MessageRejectErrorEnum> {
353 let mut fld = field::AvgPxPrecisionField::new(0);
354 self.message.body.get_field(tag::AVG_PX_PRECISION, &mut fld.0)?;
355 Ok(fld.value())
356 }
357
358
359 pub fn has_avg_px_precision(&self) -> bool {
361 self.message.body.has(tag::AVG_PX_PRECISION)
362 }
363
364
365
366
367 pub fn set_benchmark_curve_currency(&mut self, v: String) {
369 self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
370 }
371
372 pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
374 let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
375 self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
376 Ok(fld.value().to_string())
377 }
378
379
380 pub fn has_benchmark_curve_currency(&self) -> bool {
382 self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
383 }
384
385
386
387
388 pub fn set_benchmark_curve_name(&mut self, v: String) {
390 self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
391 }
392
393 pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
395 let mut fld = field::BenchmarkCurveNameField::new(String::new());
396 self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
397 Ok(fld.value().to_string())
398 }
399
400
401 pub fn has_benchmark_curve_name(&self) -> bool {
403 self.message.body.has(tag::BENCHMARK_CURVE_NAME)
404 }
405
406
407
408
409 pub fn set_benchmark_curve_point(&mut self, v: String) {
411 self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
412 }
413
414 pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
416 let mut fld = field::BenchmarkCurvePointField::new(String::new());
417 self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
418 Ok(fld.value().to_string())
419 }
420
421
422 pub fn has_benchmark_curve_point(&self) -> bool {
424 self.message.body.has(tag::BENCHMARK_CURVE_POINT)
425 }
426
427
428
429
430 pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
432 self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
433 }
434
435 pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
437 let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
438 self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
439 Ok(fld.value())
440 }
441
442
443 pub fn has_benchmark_price(&self) -> bool {
445 self.message.body.has(tag::BENCHMARK_PRICE)
446 }
447
448
449
450
451 pub fn set_benchmark_price_type(&mut self, v: isize) {
453 self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
454 }
455
456 pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
458 let mut fld = field::BenchmarkPriceTypeField::new(0);
459 self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
460 Ok(fld.value())
461 }
462
463
464 pub fn has_benchmark_price_type(&self) -> bool {
466 self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
467 }
468
469
470
471
472 pub fn set_benchmark_security_id(&mut self, v: String) {
474 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
475 }
476
477 pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
479 let mut fld = field::BenchmarkSecurityIDField::new(String::new());
480 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
481 Ok(fld.value().to_string())
482 }
483
484
485 pub fn has_benchmark_security_id(&self) -> bool {
487 self.message.body.has(tag::BENCHMARK_SECURITY_ID)
488 }
489
490
491
492
493 pub fn set_benchmark_security_id_source(&mut self, v: String) {
495 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
496 }
497
498 pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
500 let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
501 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
502 Ok(fld.value().to_string())
503 }
504
505
506 pub fn has_benchmark_security_id_source(&self) -> bool {
508 self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
509 }
510
511
512
513
514 pub fn set_cfi_code(&mut self, v: String) {
516 self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
517 }
518
519 pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
521 let mut fld = field::CFICodeField::new(String::new());
522 self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
523 Ok(fld.value().to_string())
524 }
525
526
527 pub fn has_cfi_code(&self) -> bool {
529 self.message.body.has(tag::CFI_CODE)
530 }
531
532
533
534
535 pub fn set_cp_program(&mut self, v: isize) {
537 self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
538 }
539
540 pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
542 let mut fld = field::CPProgramField::new(0);
543 self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
544 Ok(fld.value())
545 }
546
547
548 pub fn has_cp_program(&self) -> bool {
550 self.message.body.has(tag::CP_PROGRAM)
551 }
552
553
554
555
556 pub fn set_cp_reg_type(&mut self, v: String) {
558 self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
559 }
560
561 pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
563 let mut fld = field::CPRegTypeField::new(String::new());
564 self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
565 Ok(fld.value().to_string())
566 }
567
568
569 pub fn has_cp_reg_type(&self) -> bool {
571 self.message.body.has(tag::CP_REG_TYPE)
572 }
573
574
575
576
577 pub fn set_comm_currency(&mut self, v: String) {
579 self.message.body.set_field(tag::COMM_CURRENCY, FIXString::from(v));
580 }
581
582 pub fn get_comm_currency(&self) -> Result<String, MessageRejectErrorEnum> {
584 let mut fld = field::CommCurrencyField::new(String::new());
585 self.message.body.get_field(tag::COMM_CURRENCY, &mut fld.0)?;
586 Ok(fld.value().to_string())
587 }
588
589
590 pub fn has_comm_currency(&self) -> bool {
592 self.message.body.has(tag::COMM_CURRENCY)
593 }
594
595
596
597
598 pub fn set_comm_type(&mut self, v: String) {
600 self.message.body.set_field(tag::COMM_TYPE, FIXString::from(v));
601 }
602
603 pub fn get_comm_type(&self) -> Result<String, MessageRejectErrorEnum> {
605 let mut fld = field::CommTypeField::new(String::new());
606 self.message.body.get_field(tag::COMM_TYPE, &mut fld.0)?;
607 Ok(fld.value().to_string())
608 }
609
610
611 pub fn has_comm_type(&self) -> bool {
613 self.message.body.has(tag::COMM_TYPE)
614 }
615
616
617
618
619 pub fn set_commission(&mut self, val: Decimal, scale: i32) {
621 self.message.body.set_field(tag::COMMISSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
622 }
623
624 pub fn get_commission(&self) -> Result<Decimal, MessageRejectErrorEnum> {
626 let mut fld = field::CommissionField::new(Decimal::ZERO, 0);
627 self.message.body.get_field(tag::COMMISSION, &mut fld.0)?;
628 Ok(fld.value())
629 }
630
631
632 pub fn has_commission(&self) -> bool {
634 self.message.body.has(tag::COMMISSION)
635 }
636
637
638
639
640 pub fn set_concession(&mut self, val: Decimal, scale: i32) {
642 self.message.body.set_field(tag::CONCESSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
643 }
644
645 pub fn get_concession(&self) -> Result<Decimal, MessageRejectErrorEnum> {
647 let mut fld = field::ConcessionField::new(Decimal::ZERO, 0);
648 self.message.body.get_field(tag::CONCESSION, &mut fld.0)?;
649 Ok(fld.value())
650 }
651
652
653 pub fn has_concession(&self) -> bool {
655 self.message.body.has(tag::CONCESSION)
656 }
657
658
659
660
661 pub fn set_confirm_id(&mut self, v: String) {
663 self.message.body.set_field(tag::CONFIRM_ID, FIXString::from(v));
664 }
665
666 pub fn get_confirm_id(&self) -> Result<String, MessageRejectErrorEnum> {
668 let mut fld = field::ConfirmIDField::new(String::new());
669 self.message.body.get_field(tag::CONFIRM_ID, &mut fld.0)?;
670 Ok(fld.value().to_string())
671 }
672
673
674 pub fn has_confirm_id(&self) -> bool {
676 self.message.body.has(tag::CONFIRM_ID)
677 }
678
679
680
681
682 pub fn set_confirm_ref_id(&mut self, v: String) {
684 self.message.body.set_field(tag::CONFIRM_REF_ID, FIXString::from(v));
685 }
686
687 pub fn get_confirm_ref_id(&self) -> Result<String, MessageRejectErrorEnum> {
689 let mut fld = field::ConfirmRefIDField::new(String::new());
690 self.message.body.get_field(tag::CONFIRM_REF_ID, &mut fld.0)?;
691 Ok(fld.value().to_string())
692 }
693
694
695 pub fn has_confirm_ref_id(&self) -> bool {
697 self.message.body.has(tag::CONFIRM_REF_ID)
698 }
699
700
701
702
703 pub fn set_confirm_req_id(&mut self, v: String) {
705 self.message.body.set_field(tag::CONFIRM_REQ_ID, FIXString::from(v));
706 }
707
708 pub fn get_confirm_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
710 let mut fld = field::ConfirmReqIDField::new(String::new());
711 self.message.body.get_field(tag::CONFIRM_REQ_ID, &mut fld.0)?;
712 Ok(fld.value().to_string())
713 }
714
715
716 pub fn has_confirm_req_id(&self) -> bool {
718 self.message.body.has(tag::CONFIRM_REQ_ID)
719 }
720
721
722
723
724 pub fn set_confirm_status(&mut self, v: isize) {
726 self.message.body.set_field(tag::CONFIRM_STATUS, fixer::fix_int::FIXInt::from(v));
727 }
728
729 pub fn get_confirm_status(&self) -> Result<isize, MessageRejectErrorEnum> {
731 let mut fld = field::ConfirmStatusField::new(0);
732 self.message.body.get_field(tag::CONFIRM_STATUS, &mut fld.0)?;
733 Ok(fld.value())
734 }
735
736
737 pub fn has_confirm_status(&self) -> bool {
739 self.message.body.has(tag::CONFIRM_STATUS)
740 }
741
742
743
744
745 pub fn set_confirm_trans_type(&mut self, v: isize) {
747 self.message.body.set_field(tag::CONFIRM_TRANS_TYPE, fixer::fix_int::FIXInt::from(v));
748 }
749
750 pub fn get_confirm_trans_type(&self) -> Result<isize, MessageRejectErrorEnum> {
752 let mut fld = field::ConfirmTransTypeField::new(0);
753 self.message.body.get_field(tag::CONFIRM_TRANS_TYPE, &mut fld.0)?;
754 Ok(fld.value())
755 }
756
757
758 pub fn has_confirm_trans_type(&self) -> bool {
760 self.message.body.has(tag::CONFIRM_TRANS_TYPE)
761 }
762
763
764
765
766 pub fn set_confirm_type(&mut self, v: isize) {
768 self.message.body.set_field(tag::CONFIRM_TYPE, fixer::fix_int::FIXInt::from(v));
769 }
770
771 pub fn get_confirm_type(&self) -> Result<isize, MessageRejectErrorEnum> {
773 let mut fld = field::ConfirmTypeField::new(0);
774 self.message.body.get_field(tag::CONFIRM_TYPE, &mut fld.0)?;
775 Ok(fld.value())
776 }
777
778
779 pub fn has_confirm_type(&self) -> bool {
781 self.message.body.has(tag::CONFIRM_TYPE)
782 }
783
784
785
786
787 pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
789 self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
790 }
791
792 pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
794 let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
795 self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
796 Ok(fld.value())
797 }
798
799
800 pub fn has_contract_multiplier(&self) -> bool {
802 self.message.body.has(tag::CONTRACT_MULTIPLIER)
803 }
804
805
806
807
808 pub fn set_contract_settl_month(&mut self, v: String) {
810 self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
811 }
812
813 pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
815 let mut fld = field::ContractSettlMonthField::new(String::new());
816 self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
817 Ok(fld.value().to_string())
818 }
819
820
821 pub fn has_contract_settl_month(&self) -> bool {
823 self.message.body.has(tag::CONTRACT_SETTL_MONTH)
824 }
825
826
827
828
829 pub fn set_copy_msg_indicator(&mut self, v: bool) {
831 self.message.body.set_field(tag::COPY_MSG_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
832 }
833
834 pub fn get_copy_msg_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
836 let mut fld = field::CopyMsgIndicatorField::new(false);
837 self.message.body.get_field(tag::COPY_MSG_INDICATOR, &mut fld.0)?;
838 Ok(fld.value())
839 }
840
841
842 pub fn has_copy_msg_indicator(&self) -> bool {
844 self.message.body.has(tag::COPY_MSG_INDICATOR)
845 }
846
847
848
849
850 pub fn set_country_of_issue(&mut self, v: String) {
852 self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
853 }
854
855 pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
857 let mut fld = field::CountryOfIssueField::new(String::new());
858 self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
859 Ok(fld.value().to_string())
860 }
861
862
863 pub fn has_country_of_issue(&self) -> bool {
865 self.message.body.has(tag::COUNTRY_OF_ISSUE)
866 }
867
868
869
870
871 pub fn set_coupon_payment_date(&mut self, v: String) {
873 self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
874 }
875
876 pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
878 let mut fld = field::CouponPaymentDateField::new(String::new());
879 self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
880 Ok(fld.value().to_string())
881 }
882
883
884 pub fn has_coupon_payment_date(&self) -> bool {
886 self.message.body.has(tag::COUPON_PAYMENT_DATE)
887 }
888
889
890
891
892 pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
894 self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
895 }
896
897 pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
899 let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
900 self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
901 Ok(fld.value())
902 }
903
904
905 pub fn has_coupon_rate(&self) -> bool {
907 self.message.body.has(tag::COUPON_RATE)
908 }
909
910
911
912
913 pub fn set_credit_rating(&mut self, v: String) {
915 self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
916 }
917
918 pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
920 let mut fld = field::CreditRatingField::new(String::new());
921 self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
922 Ok(fld.value().to_string())
923 }
924
925
926 pub fn has_credit_rating(&self) -> bool {
928 self.message.body.has(tag::CREDIT_RATING)
929 }
930
931
932
933
934 pub fn set_currency(&mut self, v: String) {
936 self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
937 }
938
939 pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
941 let mut fld = field::CurrencyField::new(String::new());
942 self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
943 Ok(fld.value().to_string())
944 }
945
946
947 pub fn has_currency(&self) -> bool {
949 self.message.body.has(tag::CURRENCY)
950 }
951
952
953
954
955 pub fn set_dated_date(&mut self, v: String) {
957 self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
958 }
959
960 pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
962 let mut fld = field::DatedDateField::new(String::new());
963 self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
964 Ok(fld.value().to_string())
965 }
966
967
968 pub fn has_dated_date(&self) -> bool {
970 self.message.body.has(tag::DATED_DATE)
971 }
972
973
974
975
976 pub fn set_delivery_form(&mut self, v: isize) {
978 self.message.body.set_field(tag::DELIVERY_FORM, fixer::fix_int::FIXInt::from(v));
979 }
980
981 pub fn get_delivery_form(&self) -> Result<isize, MessageRejectErrorEnum> {
983 let mut fld = field::DeliveryFormField::new(0);
984 self.message.body.get_field(tag::DELIVERY_FORM, &mut fld.0)?;
985 Ok(fld.value())
986 }
987
988
989 pub fn has_delivery_form(&self) -> bool {
991 self.message.body.has(tag::DELIVERY_FORM)
992 }
993
994
995
996
997 pub fn set_delivery_type(&mut self, v: isize) {
999 self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
1000 }
1001
1002 pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1004 let mut fld = field::DeliveryTypeField::new(0);
1005 self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
1006 Ok(fld.value())
1007 }
1008
1009
1010 pub fn has_delivery_type(&self) -> bool {
1012 self.message.body.has(tag::DELIVERY_TYPE)
1013 }
1014
1015
1016
1017
1018 pub fn set_encoded_issuer(&mut self, v: String) {
1020 self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
1021 }
1022
1023 pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1025 let mut fld = field::EncodedIssuerField::new(String::new());
1026 self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
1027 Ok(fld.value().to_string())
1028 }
1029
1030
1031 pub fn has_encoded_issuer(&self) -> bool {
1033 self.message.body.has(tag::ENCODED_ISSUER)
1034 }
1035
1036
1037
1038
1039 pub fn set_encoded_issuer_len(&mut self, v: isize) {
1041 self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
1042 }
1043
1044 pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1046 let mut fld = field::EncodedIssuerLenField::new(0);
1047 self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
1048 Ok(fld.value())
1049 }
1050
1051
1052 pub fn has_encoded_issuer_len(&self) -> bool {
1054 self.message.body.has(tag::ENCODED_ISSUER_LEN)
1055 }
1056
1057
1058
1059
1060 pub fn set_encoded_security_desc(&mut self, v: String) {
1062 self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
1063 }
1064
1065 pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1067 let mut fld = field::EncodedSecurityDescField::new(String::new());
1068 self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
1069 Ok(fld.value().to_string())
1070 }
1071
1072
1073 pub fn has_encoded_security_desc(&self) -> bool {
1075 self.message.body.has(tag::ENCODED_SECURITY_DESC)
1076 }
1077
1078
1079
1080
1081 pub fn set_encoded_security_desc_len(&mut self, v: isize) {
1083 self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
1084 }
1085
1086 pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1088 let mut fld = field::EncodedSecurityDescLenField::new(0);
1089 self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
1090 Ok(fld.value())
1091 }
1092
1093
1094 pub fn has_encoded_security_desc_len(&self) -> bool {
1096 self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
1097 }
1098
1099
1100
1101
1102 pub fn set_encoded_text(&mut self, v: String) {
1104 self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
1105 }
1106
1107 pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
1109 let mut fld = field::EncodedTextField::new(String::new());
1110 self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
1111 Ok(fld.value().to_string())
1112 }
1113
1114
1115 pub fn has_encoded_text(&self) -> bool {
1117 self.message.body.has(tag::ENCODED_TEXT)
1118 }
1119
1120
1121
1122
1123 pub fn set_encoded_text_len(&mut self, v: isize) {
1125 self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
1126 }
1127
1128 pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1130 let mut fld = field::EncodedTextLenField::new(0);
1131 self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
1132 Ok(fld.value())
1133 }
1134
1135
1136 pub fn has_encoded_text_len(&self) -> bool {
1138 self.message.body.has(tag::ENCODED_TEXT_LEN)
1139 }
1140
1141
1142
1143
1144 pub fn set_end_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
1146 self.message.body.set_field(tag::END_ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1147 }
1148
1149 pub fn get_end_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1151 let mut fld = field::EndAccruedInterestAmtField::new(Decimal::ZERO, 0);
1152 self.message.body.get_field(tag::END_ACCRUED_INTEREST_AMT, &mut fld.0)?;
1153 Ok(fld.value())
1154 }
1155
1156
1157 pub fn has_end_accrued_interest_amt(&self) -> bool {
1159 self.message.body.has(tag::END_ACCRUED_INTEREST_AMT)
1160 }
1161
1162
1163
1164
1165 pub fn set_end_cash(&mut self, val: Decimal, scale: i32) {
1167 self.message.body.set_field(tag::END_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1168 }
1169
1170 pub fn get_end_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1172 let mut fld = field::EndCashField::new(Decimal::ZERO, 0);
1173 self.message.body.get_field(tag::END_CASH, &mut fld.0)?;
1174 Ok(fld.value())
1175 }
1176
1177
1178 pub fn has_end_cash(&self) -> bool {
1180 self.message.body.has(tag::END_CASH)
1181 }
1182
1183
1184
1185
1186 pub fn set_end_date(&mut self, v: String) {
1188 self.message.body.set_field(tag::END_DATE, FIXString::from(v));
1189 }
1190
1191 pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
1193 let mut fld = field::EndDateField::new(String::new());
1194 self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
1195 Ok(fld.value().to_string())
1196 }
1197
1198
1199 pub fn has_end_date(&self) -> bool {
1201 self.message.body.has(tag::END_DATE)
1202 }
1203
1204
1205
1206
1207 pub fn set_ex_date(&mut self, v: String) {
1209 self.message.body.set_field(tag::EX_DATE, FIXString::from(v));
1210 }
1211
1212 pub fn get_ex_date(&self) -> Result<String, MessageRejectErrorEnum> {
1214 let mut fld = field::ExDateField::new(String::new());
1215 self.message.body.get_field(tag::EX_DATE, &mut fld.0)?;
1216 Ok(fld.value().to_string())
1217 }
1218
1219
1220 pub fn has_ex_date(&self) -> bool {
1222 self.message.body.has(tag::EX_DATE)
1223 }
1224
1225
1226
1227
1228 pub fn set_factor(&mut self, val: Decimal, scale: i32) {
1230 self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1231 }
1232
1233 pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1235 let mut fld = field::FactorField::new(Decimal::ZERO, 0);
1236 self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
1237 Ok(fld.value())
1238 }
1239
1240
1241 pub fn has_factor(&self) -> bool {
1243 self.message.body.has(tag::FACTOR)
1244 }
1245
1246
1247
1248
1249 pub fn set_fund_renew_waiv(&mut self, v: String) {
1251 self.message.body.set_field(tag::FUND_RENEW_WAIV, FIXString::from(v));
1252 }
1253
1254 pub fn get_fund_renew_waiv(&self) -> Result<String, MessageRejectErrorEnum> {
1256 let mut fld = field::FundRenewWaivField::new(String::new());
1257 self.message.body.get_field(tag::FUND_RENEW_WAIV, &mut fld.0)?;
1258 Ok(fld.value().to_string())
1259 }
1260
1261
1262 pub fn has_fund_renew_waiv(&self) -> bool {
1264 self.message.body.has(tag::FUND_RENEW_WAIV)
1265 }
1266
1267
1268
1269
1270 pub fn set_gross_trade_amt(&mut self, val: Decimal, scale: i32) {
1272 self.message.body.set_field(tag::GROSS_TRADE_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1273 }
1274
1275 pub fn get_gross_trade_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1277 let mut fld = field::GrossTradeAmtField::new(Decimal::ZERO, 0);
1278 self.message.body.get_field(tag::GROSS_TRADE_AMT, &mut fld.0)?;
1279 Ok(fld.value())
1280 }
1281
1282
1283 pub fn has_gross_trade_amt(&self) -> bool {
1285 self.message.body.has(tag::GROSS_TRADE_AMT)
1286 }
1287
1288
1289
1290
1291 pub fn set_individual_alloc_id(&mut self, v: String) {
1293 self.message.body.set_field(tag::INDIVIDUAL_ALLOC_ID, FIXString::from(v));
1294 }
1295
1296 pub fn get_individual_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
1298 let mut fld = field::IndividualAllocIDField::new(String::new());
1299 self.message.body.get_field(tag::INDIVIDUAL_ALLOC_ID, &mut fld.0)?;
1300 Ok(fld.value().to_string())
1301 }
1302
1303
1304 pub fn has_individual_alloc_id(&self) -> bool {
1306 self.message.body.has(tag::INDIVIDUAL_ALLOC_ID)
1307 }
1308
1309
1310
1311
1312 pub fn set_instr_registry(&mut self, v: String) {
1314 self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
1315 }
1316
1317 pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1319 let mut fld = field::InstrRegistryField::new(String::new());
1320 self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1321 Ok(fld.value().to_string())
1322 }
1323
1324
1325 pub fn has_instr_registry(&self) -> bool {
1327 self.message.body.has(tag::INSTR_REGISTRY)
1328 }
1329
1330
1331
1332
1333 pub fn set_instrmt_assignment_method(&mut self, v: String) {
1335 self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
1336 }
1337
1338 pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
1340 let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
1341 self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
1342 Ok(fld.value().to_string())
1343 }
1344
1345
1346 pub fn has_instrmt_assignment_method(&self) -> bool {
1348 self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
1349 }
1350
1351
1352
1353
1354 pub fn set_interest_accrual_date(&mut self, v: String) {
1356 self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1357 }
1358
1359 pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1361 let mut fld = field::InterestAccrualDateField::new(String::new());
1362 self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1363 Ok(fld.value().to_string())
1364 }
1365
1366
1367 pub fn has_interest_accrual_date(&self) -> bool {
1369 self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1370 }
1371
1372
1373
1374
1375 pub fn set_interest_at_maturity(&mut self, val: Decimal, scale: i32) {
1377 self.message.body.set_field(tag::INTEREST_AT_MATURITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1378 }
1379
1380 pub fn get_interest_at_maturity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1382 let mut fld = field::InterestAtMaturityField::new(Decimal::ZERO, 0);
1383 self.message.body.get_field(tag::INTEREST_AT_MATURITY, &mut fld.0)?;
1384 Ok(fld.value())
1385 }
1386
1387
1388 pub fn has_interest_at_maturity(&self) -> bool {
1390 self.message.body.has(tag::INTEREST_AT_MATURITY)
1391 }
1392
1393
1394
1395
1396 pub fn set_issue_date(&mut self, v: String) {
1398 self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1399 }
1400
1401 pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1403 let mut fld = field::IssueDateField::new(String::new());
1404 self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1405 Ok(fld.value().to_string())
1406 }
1407
1408
1409 pub fn has_issue_date(&self) -> bool {
1411 self.message.body.has(tag::ISSUE_DATE)
1412 }
1413
1414
1415
1416
1417 pub fn set_issuer(&mut self, v: String) {
1419 self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1420 }
1421
1422 pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1424 let mut fld = field::IssuerField::new(String::new());
1425 self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1426 Ok(fld.value().to_string())
1427 }
1428
1429
1430 pub fn has_issuer(&self) -> bool {
1432 self.message.body.has(tag::ISSUER)
1433 }
1434
1435
1436
1437
1438 pub fn set_last_mkt(&mut self, v: String) {
1440 self.message.body.set_field(tag::LAST_MKT, FIXString::from(v));
1441 }
1442
1443 pub fn get_last_mkt(&self) -> Result<String, MessageRejectErrorEnum> {
1445 let mut fld = field::LastMktField::new(String::new());
1446 self.message.body.get_field(tag::LAST_MKT, &mut fld.0)?;
1447 Ok(fld.value().to_string())
1448 }
1449
1450
1451 pub fn has_last_mkt(&self) -> bool {
1453 self.message.body.has(tag::LAST_MKT)
1454 }
1455
1456
1457
1458
1459 pub fn set_legal_confirm(&mut self, v: bool) {
1461 self.message.body.set_field(tag::LEGAL_CONFIRM, fixer::fix_boolean::FIXBoolean::from(v));
1462 }
1463
1464 pub fn get_legal_confirm(&self) -> Result<bool, MessageRejectErrorEnum> {
1466 let mut fld = field::LegalConfirmField::new(false);
1467 self.message.body.get_field(tag::LEGAL_CONFIRM, &mut fld.0)?;
1468 Ok(fld.value())
1469 }
1470
1471
1472 pub fn has_legal_confirm(&self) -> bool {
1474 self.message.body.has(tag::LEGAL_CONFIRM)
1475 }
1476
1477
1478
1479
1480 pub fn set_locale_of_issue(&mut self, v: String) {
1482 self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1483 }
1484
1485 pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1487 let mut fld = field::LocaleOfIssueField::new(String::new());
1488 self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1489 Ok(fld.value().to_string())
1490 }
1491
1492
1493 pub fn has_locale_of_issue(&self) -> bool {
1495 self.message.body.has(tag::LOCALE_OF_ISSUE)
1496 }
1497
1498
1499
1500
1501 pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
1503 self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1504 }
1505
1506 pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1508 let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
1509 self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
1510 Ok(fld.value())
1511 }
1512
1513
1514 pub fn has_margin_ratio(&self) -> bool {
1516 self.message.body.has(tag::MARGIN_RATIO)
1517 }
1518
1519
1520
1521
1522 pub fn set_maturity_date(&mut self, v: String) {
1524 self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1525 }
1526
1527 pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1529 let mut fld = field::MaturityDateField::new(String::new());
1530 self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1531 Ok(fld.value().to_string())
1532 }
1533
1534
1535 pub fn has_maturity_date(&self) -> bool {
1537 self.message.body.has(tag::MATURITY_DATE)
1538 }
1539
1540
1541
1542
1543 pub fn set_maturity_month_year(&mut self, v: String) {
1545 self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1546 }
1547
1548 pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1550 let mut fld = field::MaturityMonthYearField::new(String::new());
1551 self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1552 Ok(fld.value().to_string())
1553 }
1554
1555
1556 pub fn has_maturity_month_year(&self) -> bool {
1558 self.message.body.has(tag::MATURITY_MONTH_YEAR)
1559 }
1560
1561
1562
1563
1564 pub fn set_maturity_net_money(&mut self, val: Decimal, scale: i32) {
1566 self.message.body.set_field(tag::MATURITY_NET_MONEY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1567 }
1568
1569 pub fn get_maturity_net_money(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1571 let mut fld = field::MaturityNetMoneyField::new(Decimal::ZERO, 0);
1572 self.message.body.get_field(tag::MATURITY_NET_MONEY, &mut fld.0)?;
1573 Ok(fld.value())
1574 }
1575
1576
1577 pub fn has_maturity_net_money(&self) -> bool {
1579 self.message.body.has(tag::MATURITY_NET_MONEY)
1580 }
1581
1582
1583
1584
1585 pub fn set_maturity_time(&mut self, v: String) {
1587 self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
1588 }
1589
1590 pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
1592 let mut fld = field::MaturityTimeField::new(String::new());
1593 self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
1594 Ok(fld.value().to_string())
1595 }
1596
1597
1598 pub fn has_maturity_time(&self) -> bool {
1600 self.message.body.has(tag::MATURITY_TIME)
1601 }
1602
1603
1604
1605
1606 pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
1608 self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1609 }
1610
1611 pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1613 let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
1614 self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
1615 Ok(fld.value())
1616 }
1617
1618
1619 pub fn has_min_price_increment(&self) -> bool {
1621 self.message.body.has(tag::MIN_PRICE_INCREMENT)
1622 }
1623
1624
1625
1626
1627 pub fn set_nt_position_limit(&mut self, v: isize) {
1629 self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1630 }
1631
1632 pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1634 let mut fld = field::NTPositionLimitField::new(0);
1635 self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
1636 Ok(fld.value())
1637 }
1638
1639
1640 pub fn has_nt_position_limit(&self) -> bool {
1642 self.message.body.has(tag::NT_POSITION_LIMIT)
1643 }
1644
1645
1646
1647
1648 pub fn set_net_money(&mut self, val: Decimal, scale: i32) {
1650 self.message.body.set_field(tag::NET_MONEY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1651 }
1652
1653 pub fn get_net_money(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1655 let mut fld = field::NetMoneyField::new(Decimal::ZERO, 0);
1656 self.message.body.get_field(tag::NET_MONEY, &mut fld.0)?;
1657 Ok(fld.value())
1658 }
1659
1660
1661 pub fn has_net_money(&self) -> bool {
1663 self.message.body.has(tag::NET_MONEY)
1664 }
1665
1666
1667
1668
1669 pub fn set_no_capacities(&mut self, v: isize) {
1671 self.message.body.set_field(tag::NO_CAPACITIES, fixer::fix_int::FIXInt::from(v));
1672 }
1673
1674 pub fn get_no_capacities(&self) -> Result<isize, MessageRejectErrorEnum> {
1676 let mut fld = field::NoCapacitiesField::new(0);
1677 self.message.body.get_field(tag::NO_CAPACITIES, &mut fld.0)?;
1678 Ok(fld.value())
1679 }
1680
1681
1682 pub fn has_no_capacities(&self) -> bool {
1684 self.message.body.has(tag::NO_CAPACITIES)
1685 }
1686
1687
1688
1689
1690 pub fn set_no_dlvy_inst(&mut self, v: isize) {
1692 self.message.body.set_field(tag::NO_DLVY_INST, fixer::fix_int::FIXInt::from(v));
1693 }
1694
1695 pub fn get_no_dlvy_inst(&self) -> Result<isize, MessageRejectErrorEnum> {
1697 let mut fld = field::NoDlvyInstField::new(0);
1698 self.message.body.get_field(tag::NO_DLVY_INST, &mut fld.0)?;
1699 Ok(fld.value())
1700 }
1701
1702
1703 pub fn has_no_dlvy_inst(&self) -> bool {
1705 self.message.body.has(tag::NO_DLVY_INST)
1706 }
1707
1708
1709
1710
1711 pub fn set_no_events(&mut self, v: isize) {
1713 self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1714 }
1715
1716 pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1718 let mut fld = field::NoEventsField::new(0);
1719 self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1720 Ok(fld.value())
1721 }
1722
1723
1724 pub fn has_no_events(&self) -> bool {
1726 self.message.body.has(tag::NO_EVENTS)
1727 }
1728
1729
1730
1731
1732 pub fn set_no_instr_attrib(&mut self, v: isize) {
1734 self.message.body.set_field(tag::NO_INSTR_ATTRIB, fixer::fix_int::FIXInt::from(v));
1735 }
1736
1737 pub fn get_no_instr_attrib(&self) -> Result<isize, MessageRejectErrorEnum> {
1739 let mut fld = field::NoInstrAttribField::new(0);
1740 self.message.body.get_field(tag::NO_INSTR_ATTRIB, &mut fld.0)?;
1741 Ok(fld.value())
1742 }
1743
1744
1745 pub fn has_no_instr_attrib(&self) -> bool {
1747 self.message.body.has(tag::NO_INSTR_ATTRIB)
1748 }
1749
1750
1751
1752
1753 pub fn set_no_instrument_parties(&mut self, v: isize) {
1755 self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1756 }
1757
1758 pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1760 let mut fld = field::NoInstrumentPartiesField::new(0);
1761 self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1762 Ok(fld.value())
1763 }
1764
1765
1766 pub fn has_no_instrument_parties(&self) -> bool {
1768 self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1769 }
1770
1771
1772
1773
1774 pub fn set_no_legs(&mut self, v: isize) {
1776 self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1777 }
1778
1779 pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1781 let mut fld = field::NoLegsField::new(0);
1782 self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1783 Ok(fld.value())
1784 }
1785
1786
1787 pub fn has_no_legs(&self) -> bool {
1789 self.message.body.has(tag::NO_LEGS)
1790 }
1791
1792
1793
1794
1795 pub fn set_no_misc_fees(&mut self, v: isize) {
1797 self.message.body.set_field(tag::NO_MISC_FEES, fixer::fix_int::FIXInt::from(v));
1798 }
1799
1800 pub fn get_no_misc_fees(&self) -> Result<isize, MessageRejectErrorEnum> {
1802 let mut fld = field::NoMiscFeesField::new(0);
1803 self.message.body.get_field(tag::NO_MISC_FEES, &mut fld.0)?;
1804 Ok(fld.value())
1805 }
1806
1807
1808 pub fn has_no_misc_fees(&self) -> bool {
1810 self.message.body.has(tag::NO_MISC_FEES)
1811 }
1812
1813
1814
1815
1816 pub fn set_no_orders(&mut self, v: isize) {
1818 self.message.body.set_field(tag::NO_ORDERS, fixer::fix_int::FIXInt::from(v));
1819 }
1820
1821 pub fn get_no_orders(&self) -> Result<isize, MessageRejectErrorEnum> {
1823 let mut fld = field::NoOrdersField::new(0);
1824 self.message.body.get_field(tag::NO_ORDERS, &mut fld.0)?;
1825 Ok(fld.value())
1826 }
1827
1828
1829 pub fn has_no_orders(&self) -> bool {
1831 self.message.body.has(tag::NO_ORDERS)
1832 }
1833
1834
1835
1836
1837 pub fn set_no_party_i_ds(&mut self, v: isize) {
1839 self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1840 }
1841
1842 pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1844 let mut fld = field::NoPartyIDsField::new(0);
1845 self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1846 Ok(fld.value())
1847 }
1848
1849
1850 pub fn has_no_party_i_ds(&self) -> bool {
1852 self.message.body.has(tag::NO_PARTY_I_DS)
1853 }
1854
1855
1856
1857
1858 pub fn set_no_security_alt_id(&mut self, v: isize) {
1860 self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1861 }
1862
1863 pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1865 let mut fld = field::NoSecurityAltIDField::new(0);
1866 self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1867 Ok(fld.value())
1868 }
1869
1870
1871 pub fn has_no_security_alt_id(&self) -> bool {
1873 self.message.body.has(tag::NO_SECURITY_ALT_ID)
1874 }
1875
1876
1877
1878
1879 pub fn set_no_stipulations(&mut self, v: isize) {
1881 self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1882 }
1883
1884 pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1886 let mut fld = field::NoStipulationsField::new(0);
1887 self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1888 Ok(fld.value())
1889 }
1890
1891
1892 pub fn has_no_stipulations(&self) -> bool {
1894 self.message.body.has(tag::NO_STIPULATIONS)
1895 }
1896
1897
1898
1899
1900 pub fn set_no_trd_reg_timestamps(&mut self, v: isize) {
1902 self.message.body.set_field(tag::NO_TRD_REG_TIMESTAMPS, fixer::fix_int::FIXInt::from(v));
1903 }
1904
1905 pub fn get_no_trd_reg_timestamps(&self) -> Result<isize, MessageRejectErrorEnum> {
1907 let mut fld = field::NoTrdRegTimestampsField::new(0);
1908 self.message.body.get_field(tag::NO_TRD_REG_TIMESTAMPS, &mut fld.0)?;
1909 Ok(fld.value())
1910 }
1911
1912
1913 pub fn has_no_trd_reg_timestamps(&self) -> bool {
1915 self.message.body.has(tag::NO_TRD_REG_TIMESTAMPS)
1916 }
1917
1918
1919
1920
1921 pub fn set_no_underlyings(&mut self, v: isize) {
1923 self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1924 }
1925
1926 pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1928 let mut fld = field::NoUnderlyingsField::new(0);
1929 self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1930 Ok(fld.value())
1931 }
1932
1933
1934 pub fn has_no_underlyings(&self) -> bool {
1936 self.message.body.has(tag::NO_UNDERLYINGS)
1937 }
1938
1939
1940
1941
1942 pub fn set_num_days_interest(&mut self, v: isize) {
1944 self.message.body.set_field(tag::NUM_DAYS_INTEREST, fixer::fix_int::FIXInt::from(v));
1945 }
1946
1947 pub fn get_num_days_interest(&self) -> Result<isize, MessageRejectErrorEnum> {
1949 let mut fld = field::NumDaysInterestField::new(0);
1950 self.message.body.get_field(tag::NUM_DAYS_INTEREST, &mut fld.0)?;
1951 Ok(fld.value())
1952 }
1953
1954
1955 pub fn has_num_days_interest(&self) -> bool {
1957 self.message.body.has(tag::NUM_DAYS_INTEREST)
1958 }
1959
1960
1961
1962
1963 pub fn set_opt_attribute(&mut self, v: String) {
1965 self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1966 }
1967
1968 pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1970 let mut fld = field::OptAttributeField::new(String::new());
1971 self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1972 Ok(fld.value().to_string())
1973 }
1974
1975
1976 pub fn has_opt_attribute(&self) -> bool {
1978 self.message.body.has(tag::OPT_ATTRIBUTE)
1979 }
1980
1981
1982
1983
1984 pub fn set_pct_at_risk(&mut self, val: Decimal, scale: i32) {
1986 self.message.body.set_field(tag::PCT_AT_RISK, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1987 }
1988
1989 pub fn get_pct_at_risk(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1991 let mut fld = field::PctAtRiskField::new(Decimal::ZERO, 0);
1992 self.message.body.get_field(tag::PCT_AT_RISK, &mut fld.0)?;
1993 Ok(fld.value())
1994 }
1995
1996
1997 pub fn has_pct_at_risk(&self) -> bool {
1999 self.message.body.has(tag::PCT_AT_RISK)
2000 }
2001
2002
2003
2004
2005 pub fn set_pool(&mut self, v: String) {
2007 self.message.body.set_field(tag::POOL, FIXString::from(v));
2008 }
2009
2010 pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
2012 let mut fld = field::PoolField::new(String::new());
2013 self.message.body.get_field(tag::POOL, &mut fld.0)?;
2014 Ok(fld.value().to_string())
2015 }
2016
2017
2018 pub fn has_pool(&self) -> bool {
2020 self.message.body.has(tag::POOL)
2021 }
2022
2023
2024
2025
2026 pub fn set_position_limit(&mut self, v: isize) {
2028 self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
2029 }
2030
2031 pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
2033 let mut fld = field::PositionLimitField::new(0);
2034 self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
2035 Ok(fld.value())
2036 }
2037
2038
2039 pub fn has_position_limit(&self) -> bool {
2041 self.message.body.has(tag::POSITION_LIMIT)
2042 }
2043
2044
2045
2046
2047 pub fn set_price_type(&mut self, v: isize) {
2049 self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
2050 }
2051
2052 pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2054 let mut fld = field::PriceTypeField::new(0);
2055 self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
2056 Ok(fld.value())
2057 }
2058
2059
2060 pub fn has_price_type(&self) -> bool {
2062 self.message.body.has(tag::PRICE_TYPE)
2063 }
2064
2065
2066
2067
2068 pub fn set_process_code(&mut self, v: String) {
2070 self.message.body.set_field(tag::PROCESS_CODE, FIXString::from(v));
2071 }
2072
2073 pub fn get_process_code(&self) -> Result<String, MessageRejectErrorEnum> {
2075 let mut fld = field::ProcessCodeField::new(String::new());
2076 self.message.body.get_field(tag::PROCESS_CODE, &mut fld.0)?;
2077 Ok(fld.value().to_string())
2078 }
2079
2080
2081 pub fn has_process_code(&self) -> bool {
2083 self.message.body.has(tag::PROCESS_CODE)
2084 }
2085
2086
2087
2088
2089 pub fn set_product(&mut self, v: isize) {
2091 self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
2092 }
2093
2094 pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
2096 let mut fld = field::ProductField::new(0);
2097 self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
2098 Ok(fld.value())
2099 }
2100
2101
2102 pub fn has_product(&self) -> bool {
2104 self.message.body.has(tag::PRODUCT)
2105 }
2106
2107
2108
2109
2110 pub fn set_qty_type(&mut self, v: isize) {
2112 self.message.body.set_field(tag::QTY_TYPE, fixer::fix_int::FIXInt::from(v));
2113 }
2114
2115 pub fn get_qty_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2117 let mut fld = field::QtyTypeField::new(0);
2118 self.message.body.get_field(tag::QTY_TYPE, &mut fld.0)?;
2119 Ok(fld.value())
2120 }
2121
2122
2123 pub fn has_qty_type(&self) -> bool {
2125 self.message.body.has(tag::QTY_TYPE)
2126 }
2127
2128
2129
2130
2131 pub fn set_redemption_date(&mut self, v: String) {
2133 self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
2134 }
2135
2136 pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2138 let mut fld = field::RedemptionDateField::new(String::new());
2139 self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
2140 Ok(fld.value().to_string())
2141 }
2142
2143
2144 pub fn has_redemption_date(&self) -> bool {
2146 self.message.body.has(tag::REDEMPTION_DATE)
2147 }
2148
2149
2150
2151
2152 pub fn set_repo_collateral_security_type(&mut self, v: isize) {
2154 self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
2155 }
2156
2157 pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2159 let mut fld = field::RepoCollateralSecurityTypeField::new(0);
2160 self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
2161 Ok(fld.value())
2162 }
2163
2164
2165 pub fn has_repo_collateral_security_type(&self) -> bool {
2167 self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
2168 }
2169
2170
2171
2172
2173 pub fn set_reported_px(&mut self, val: Decimal, scale: i32) {
2175 self.message.body.set_field(tag::REPORTED_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2176 }
2177
2178 pub fn get_reported_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2180 let mut fld = field::ReportedPxField::new(Decimal::ZERO, 0);
2181 self.message.body.get_field(tag::REPORTED_PX, &mut fld.0)?;
2182 Ok(fld.value())
2183 }
2184
2185
2186 pub fn has_reported_px(&self) -> bool {
2188 self.message.body.has(tag::REPORTED_PX)
2189 }
2190
2191
2192
2193
2194 pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
2196 self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2197 }
2198
2199 pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2201 let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
2202 self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
2203 Ok(fld.value())
2204 }
2205
2206
2207 pub fn has_repurchase_rate(&self) -> bool {
2209 self.message.body.has(tag::REPURCHASE_RATE)
2210 }
2211
2212
2213
2214
2215 pub fn set_repurchase_term(&mut self, v: isize) {
2217 self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
2218 }
2219
2220 pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
2222 let mut fld = field::RepurchaseTermField::new(0);
2223 self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
2224 Ok(fld.value())
2225 }
2226
2227
2228 pub fn has_repurchase_term(&self) -> bool {
2230 self.message.body.has(tag::REPURCHASE_TERM)
2231 }
2232
2233
2234
2235
2236 pub fn set_secondary_alloc_id(&mut self, v: String) {
2238 self.message.body.set_field(tag::SECONDARY_ALLOC_ID, FIXString::from(v));
2239 }
2240
2241 pub fn get_secondary_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
2243 let mut fld = field::SecondaryAllocIDField::new(String::new());
2244 self.message.body.get_field(tag::SECONDARY_ALLOC_ID, &mut fld.0)?;
2245 Ok(fld.value().to_string())
2246 }
2247
2248
2249 pub fn has_secondary_alloc_id(&self) -> bool {
2251 self.message.body.has(tag::SECONDARY_ALLOC_ID)
2252 }
2253
2254
2255
2256
2257 pub fn set_security_desc(&mut self, v: String) {
2259 self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
2260 }
2261
2262 pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
2264 let mut fld = field::SecurityDescField::new(String::new());
2265 self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
2266 Ok(fld.value().to_string())
2267 }
2268
2269
2270 pub fn has_security_desc(&self) -> bool {
2272 self.message.body.has(tag::SECURITY_DESC)
2273 }
2274
2275
2276
2277
2278 pub fn set_security_exchange(&mut self, v: String) {
2280 self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
2281 }
2282
2283 pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
2285 let mut fld = field::SecurityExchangeField::new(String::new());
2286 self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
2287 Ok(fld.value().to_string())
2288 }
2289
2290
2291 pub fn has_security_exchange(&self) -> bool {
2293 self.message.body.has(tag::SECURITY_EXCHANGE)
2294 }
2295
2296
2297
2298
2299 pub fn set_security_id(&mut self, v: String) {
2301 self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
2302 }
2303
2304 pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
2306 let mut fld = field::SecurityIDField::new(String::new());
2307 self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
2308 Ok(fld.value().to_string())
2309 }
2310
2311
2312 pub fn has_security_id(&self) -> bool {
2314 self.message.body.has(tag::SECURITY_ID)
2315 }
2316
2317
2318
2319
2320 pub fn set_security_id_source(&mut self, v: String) {
2322 self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
2323 }
2324
2325 pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
2327 let mut fld = field::SecurityIDSourceField::new(String::new());
2328 self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
2329 Ok(fld.value().to_string())
2330 }
2331
2332
2333 pub fn has_security_id_source(&self) -> bool {
2335 self.message.body.has(tag::SECURITY_ID_SOURCE)
2336 }
2337
2338
2339
2340
2341 pub fn set_security_status(&mut self, v: String) {
2343 self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
2344 }
2345
2346 pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
2348 let mut fld = field::SecurityStatusField::new(String::new());
2349 self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
2350 Ok(fld.value().to_string())
2351 }
2352
2353
2354 pub fn has_security_status(&self) -> bool {
2356 self.message.body.has(tag::SECURITY_STATUS)
2357 }
2358
2359
2360
2361
2362 pub fn set_security_sub_type(&mut self, v: String) {
2364 self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
2365 }
2366
2367 pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
2369 let mut fld = field::SecuritySubTypeField::new(String::new());
2370 self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
2371 Ok(fld.value().to_string())
2372 }
2373
2374
2375 pub fn has_security_sub_type(&self) -> bool {
2377 self.message.body.has(tag::SECURITY_SUB_TYPE)
2378 }
2379
2380
2381
2382
2383 pub fn set_security_type(&mut self, v: String) {
2385 self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2386 }
2387
2388 pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2390 let mut fld = field::SecurityTypeField::new(String::new());
2391 self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2392 Ok(fld.value().to_string())
2393 }
2394
2395
2396 pub fn has_security_type(&self) -> bool {
2398 self.message.body.has(tag::SECURITY_TYPE)
2399 }
2400
2401
2402
2403
2404 pub fn set_settl_curr_amt(&mut self, val: Decimal, scale: i32) {
2406 self.message.body.set_field(tag::SETTL_CURR_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2407 }
2408
2409 pub fn get_settl_curr_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2411 let mut fld = field::SettlCurrAmtField::new(Decimal::ZERO, 0);
2412 self.message.body.get_field(tag::SETTL_CURR_AMT, &mut fld.0)?;
2413 Ok(fld.value())
2414 }
2415
2416
2417 pub fn has_settl_curr_amt(&self) -> bool {
2419 self.message.body.has(tag::SETTL_CURR_AMT)
2420 }
2421
2422
2423
2424
2425 pub fn set_settl_curr_fx_rate(&mut self, val: Decimal, scale: i32) {
2427 self.message.body.set_field(tag::SETTL_CURR_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2428 }
2429
2430 pub fn get_settl_curr_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2432 let mut fld = field::SettlCurrFxRateField::new(Decimal::ZERO, 0);
2433 self.message.body.get_field(tag::SETTL_CURR_FX_RATE, &mut fld.0)?;
2434 Ok(fld.value())
2435 }
2436
2437
2438 pub fn has_settl_curr_fx_rate(&self) -> bool {
2440 self.message.body.has(tag::SETTL_CURR_FX_RATE)
2441 }
2442
2443
2444
2445
2446 pub fn set_settl_curr_fx_rate_calc(&mut self, v: String) {
2448 self.message.body.set_field(tag::SETTL_CURR_FX_RATE_CALC, FIXString::from(v));
2449 }
2450
2451 pub fn get_settl_curr_fx_rate_calc(&self) -> Result<String, MessageRejectErrorEnum> {
2453 let mut fld = field::SettlCurrFxRateCalcField::new(String::new());
2454 self.message.body.get_field(tag::SETTL_CURR_FX_RATE_CALC, &mut fld.0)?;
2455 Ok(fld.value().to_string())
2456 }
2457
2458
2459 pub fn has_settl_curr_fx_rate_calc(&self) -> bool {
2461 self.message.body.has(tag::SETTL_CURR_FX_RATE_CALC)
2462 }
2463
2464
2465
2466
2467 pub fn set_settl_currency(&mut self, v: String) {
2469 self.message.body.set_field(tag::SETTL_CURRENCY, FIXString::from(v));
2470 }
2471
2472 pub fn get_settl_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2474 let mut fld = field::SettlCurrencyField::new(String::new());
2475 self.message.body.get_field(tag::SETTL_CURRENCY, &mut fld.0)?;
2476 Ok(fld.value().to_string())
2477 }
2478
2479
2480 pub fn has_settl_currency(&self) -> bool {
2482 self.message.body.has(tag::SETTL_CURRENCY)
2483 }
2484
2485
2486
2487
2488 pub fn set_settl_date(&mut self, v: String) {
2490 self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
2491 }
2492
2493 pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
2495 let mut fld = field::SettlDateField::new(String::new());
2496 self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
2497 Ok(fld.value().to_string())
2498 }
2499
2500
2501 pub fn has_settl_date(&self) -> bool {
2503 self.message.body.has(tag::SETTL_DATE)
2504 }
2505
2506
2507
2508
2509 pub fn set_settl_delivery_type(&mut self, v: isize) {
2511 self.message.body.set_field(tag::SETTL_DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
2512 }
2513
2514 pub fn get_settl_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2516 let mut fld = field::SettlDeliveryTypeField::new(0);
2517 self.message.body.get_field(tag::SETTL_DELIVERY_TYPE, &mut fld.0)?;
2518 Ok(fld.value())
2519 }
2520
2521
2522 pub fn has_settl_delivery_type(&self) -> bool {
2524 self.message.body.has(tag::SETTL_DELIVERY_TYPE)
2525 }
2526
2527
2528
2529
2530 pub fn set_settl_type(&mut self, v: String) {
2532 self.message.body.set_field(tag::SETTL_TYPE, FIXString::from(v));
2533 }
2534
2535 pub fn get_settl_type(&self) -> Result<String, MessageRejectErrorEnum> {
2537 let mut fld = field::SettlTypeField::new(String::new());
2538 self.message.body.get_field(tag::SETTL_TYPE, &mut fld.0)?;
2539 Ok(fld.value().to_string())
2540 }
2541
2542
2543 pub fn has_settl_type(&self) -> bool {
2545 self.message.body.has(tag::SETTL_TYPE)
2546 }
2547
2548
2549
2550
2551 pub fn set_settle_on_open_flag(&mut self, v: String) {
2553 self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
2554 }
2555
2556 pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
2558 let mut fld = field::SettleOnOpenFlagField::new(String::new());
2559 self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
2560 Ok(fld.value().to_string())
2561 }
2562
2563
2564 pub fn has_settle_on_open_flag(&self) -> bool {
2566 self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
2567 }
2568
2569
2570
2571
2572 pub fn set_shared_commission(&mut self, val: Decimal, scale: i32) {
2574 self.message.body.set_field(tag::SHARED_COMMISSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2575 }
2576
2577 pub fn get_shared_commission(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2579 let mut fld = field::SharedCommissionField::new(Decimal::ZERO, 0);
2580 self.message.body.get_field(tag::SHARED_COMMISSION, &mut fld.0)?;
2581 Ok(fld.value())
2582 }
2583
2584
2585 pub fn has_shared_commission(&self) -> bool {
2587 self.message.body.has(tag::SHARED_COMMISSION)
2588 }
2589
2590
2591
2592
2593 pub fn set_side(&mut self, v: String) {
2595 self.message.body.set_field(tag::SIDE, FIXString::from(v));
2596 }
2597
2598 pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2600 let mut fld = field::SideField::new(String::new());
2601 self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2602 Ok(fld.value().to_string())
2603 }
2604
2605
2606 pub fn has_side(&self) -> bool {
2608 self.message.body.has(tag::SIDE)
2609 }
2610
2611
2612
2613
2614 pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2616 self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2617 }
2618
2619 pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2621 let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2622 self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2623 Ok(fld.value())
2624 }
2625
2626
2627 pub fn has_spread(&self) -> bool {
2629 self.message.body.has(tag::SPREAD)
2630 }
2631
2632
2633
2634
2635 pub fn set_stand_inst_db_id(&mut self, v: String) {
2637 self.message.body.set_field(tag::STAND_INST_DB_ID, FIXString::from(v));
2638 }
2639
2640 pub fn get_stand_inst_db_id(&self) -> Result<String, MessageRejectErrorEnum> {
2642 let mut fld = field::StandInstDbIDField::new(String::new());
2643 self.message.body.get_field(tag::STAND_INST_DB_ID, &mut fld.0)?;
2644 Ok(fld.value().to_string())
2645 }
2646
2647
2648 pub fn has_stand_inst_db_id(&self) -> bool {
2650 self.message.body.has(tag::STAND_INST_DB_ID)
2651 }
2652
2653
2654
2655
2656 pub fn set_stand_inst_db_name(&mut self, v: String) {
2658 self.message.body.set_field(tag::STAND_INST_DB_NAME, FIXString::from(v));
2659 }
2660
2661 pub fn get_stand_inst_db_name(&self) -> Result<String, MessageRejectErrorEnum> {
2663 let mut fld = field::StandInstDbNameField::new(String::new());
2664 self.message.body.get_field(tag::STAND_INST_DB_NAME, &mut fld.0)?;
2665 Ok(fld.value().to_string())
2666 }
2667
2668
2669 pub fn has_stand_inst_db_name(&self) -> bool {
2671 self.message.body.has(tag::STAND_INST_DB_NAME)
2672 }
2673
2674
2675
2676
2677 pub fn set_stand_inst_db_type(&mut self, v: isize) {
2679 self.message.body.set_field(tag::STAND_INST_DB_TYPE, fixer::fix_int::FIXInt::from(v));
2680 }
2681
2682 pub fn get_stand_inst_db_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2684 let mut fld = field::StandInstDbTypeField::new(0);
2685 self.message.body.get_field(tag::STAND_INST_DB_TYPE, &mut fld.0)?;
2686 Ok(fld.value())
2687 }
2688
2689
2690 pub fn has_stand_inst_db_type(&self) -> bool {
2692 self.message.body.has(tag::STAND_INST_DB_TYPE)
2693 }
2694
2695
2696
2697
2698 pub fn set_start_cash(&mut self, val: Decimal, scale: i32) {
2700 self.message.body.set_field(tag::START_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2701 }
2702
2703 pub fn get_start_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2705 let mut fld = field::StartCashField::new(Decimal::ZERO, 0);
2706 self.message.body.get_field(tag::START_CASH, &mut fld.0)?;
2707 Ok(fld.value())
2708 }
2709
2710
2711 pub fn has_start_cash(&self) -> bool {
2713 self.message.body.has(tag::START_CASH)
2714 }
2715
2716
2717
2718
2719 pub fn set_start_date(&mut self, v: String) {
2721 self.message.body.set_field(tag::START_DATE, FIXString::from(v));
2722 }
2723
2724 pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
2726 let mut fld = field::StartDateField::new(String::new());
2727 self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
2728 Ok(fld.value().to_string())
2729 }
2730
2731
2732 pub fn has_start_date(&self) -> bool {
2734 self.message.body.has(tag::START_DATE)
2735 }
2736
2737
2738
2739
2740 pub fn set_state_or_province_of_issue(&mut self, v: String) {
2742 self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2743 }
2744
2745 pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2747 let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2748 self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2749 Ok(fld.value().to_string())
2750 }
2751
2752
2753 pub fn has_state_or_province_of_issue(&self) -> bool {
2755 self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2756 }
2757
2758
2759
2760
2761 pub fn set_strike_currency(&mut self, v: String) {
2763 self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2764 }
2765
2766 pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2768 let mut fld = field::StrikeCurrencyField::new(String::new());
2769 self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2770 Ok(fld.value().to_string())
2771 }
2772
2773
2774 pub fn has_strike_currency(&self) -> bool {
2776 self.message.body.has(tag::STRIKE_CURRENCY)
2777 }
2778
2779
2780
2781
2782 pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
2784 self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2785 }
2786
2787 pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2789 let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
2790 self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
2791 Ok(fld.value())
2792 }
2793
2794
2795 pub fn has_strike_multiplier(&self) -> bool {
2797 self.message.body.has(tag::STRIKE_MULTIPLIER)
2798 }
2799
2800
2801
2802
2803 pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2805 self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2806 }
2807
2808 pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2810 let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2811 self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2812 Ok(fld.value())
2813 }
2814
2815
2816 pub fn has_strike_price(&self) -> bool {
2818 self.message.body.has(tag::STRIKE_PRICE)
2819 }
2820
2821
2822
2823
2824 pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2826 self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2827 }
2828
2829 pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2831 let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2832 self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2833 Ok(fld.value())
2834 }
2835
2836
2837 pub fn has_strike_value(&self) -> bool {
2839 self.message.body.has(tag::STRIKE_VALUE)
2840 }
2841
2842
2843
2844
2845 pub fn set_symbol(&mut self, v: String) {
2847 self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2848 }
2849
2850 pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2852 let mut fld = field::SymbolField::new(String::new());
2853 self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2854 Ok(fld.value().to_string())
2855 }
2856
2857
2858 pub fn has_symbol(&self) -> bool {
2860 self.message.body.has(tag::SYMBOL)
2861 }
2862
2863
2864
2865
2866 pub fn set_symbol_sfx(&mut self, v: String) {
2868 self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2869 }
2870
2871 pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2873 let mut fld = field::SymbolSfxField::new(String::new());
2874 self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2875 Ok(fld.value().to_string())
2876 }
2877
2878
2879 pub fn has_symbol_sfx(&self) -> bool {
2881 self.message.body.has(tag::SYMBOL_SFX)
2882 }
2883
2884
2885
2886
2887 pub fn set_termination_type(&mut self, v: isize) {
2889 self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
2890 }
2891
2892 pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2894 let mut fld = field::TerminationTypeField::new(0);
2895 self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
2896 Ok(fld.value())
2897 }
2898
2899
2900 pub fn has_termination_type(&self) -> bool {
2902 self.message.body.has(tag::TERMINATION_TYPE)
2903 }
2904
2905
2906
2907
2908 pub fn set_text(&mut self, v: String) {
2910 self.message.body.set_field(tag::TEXT, FIXString::from(v));
2911 }
2912
2913 pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2915 let mut fld = field::TextField::new(String::new());
2916 self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2917 Ok(fld.value().to_string())
2918 }
2919
2920
2921 pub fn has_text(&self) -> bool {
2923 self.message.body.has(tag::TEXT)
2924 }
2925
2926
2927
2928
2929 pub fn set_time_unit(&mut self, v: String) {
2931 self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
2932 }
2933
2934 pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
2936 let mut fld = field::TimeUnitField::new(String::new());
2937 self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
2938 Ok(fld.value().to_string())
2939 }
2940
2941
2942 pub fn has_time_unit(&self) -> bool {
2944 self.message.body.has(tag::TIME_UNIT)
2945 }
2946
2947
2948
2949
2950 pub fn set_total_takedown(&mut self, val: Decimal, scale: i32) {
2952 self.message.body.set_field(tag::TOTAL_TAKEDOWN, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2953 }
2954
2955 pub fn get_total_takedown(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2957 let mut fld = field::TotalTakedownField::new(Decimal::ZERO, 0);
2958 self.message.body.get_field(tag::TOTAL_TAKEDOWN, &mut fld.0)?;
2959 Ok(fld.value())
2960 }
2961
2962
2963 pub fn has_total_takedown(&self) -> bool {
2965 self.message.body.has(tag::TOTAL_TAKEDOWN)
2966 }
2967
2968
2969
2970
2971 pub fn set_trade_date(&mut self, v: String) {
2973 self.message.body.set_field(tag::TRADE_DATE, FIXString::from(v));
2974 }
2975
2976 pub fn get_trade_date(&self) -> Result<String, MessageRejectErrorEnum> {
2978 let mut fld = field::TradeDateField::new(String::new());
2979 self.message.body.get_field(tag::TRADE_DATE, &mut fld.0)?;
2980 Ok(fld.value().to_string())
2981 }
2982
2983
2984 pub fn has_trade_date(&self) -> bool {
2986 self.message.body.has(tag::TRADE_DATE)
2987 }
2988
2989
2990
2991
2992 pub fn set_transact_time(&mut self, v: Timestamp) {
2994 self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2995 time: v,
2996 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2997 });
2998 }
2999
3000 pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
3002 let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
3003 self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
3004 Ok(fld.value())
3005 }
3006
3007
3008 pub fn has_transact_time(&self) -> bool {
3010 self.message.body.has(tag::TRANSACT_TIME)
3011 }
3012
3013
3014
3015
3016 pub fn set_unit_of_measure(&mut self, v: String) {
3018 self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
3019 }
3020
3021 pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
3023 let mut fld = field::UnitOfMeasureField::new(String::new());
3024 self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
3025 Ok(fld.value().to_string())
3026 }
3027
3028
3029 pub fn has_unit_of_measure(&self) -> bool {
3031 self.message.body.has(tag::UNIT_OF_MEASURE)
3032 }
3033
3034
3035
3036
3037 pub fn set_yield(&mut self, val: Decimal, scale: i32) {
3039 self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3040 }
3041
3042 pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3044 let mut fld = field::YieldField::new(Decimal::ZERO, 0);
3045 self.message.body.get_field(tag::YIELD, &mut fld.0)?;
3046 Ok(fld.value())
3047 }
3048
3049
3050 pub fn has_yield(&self) -> bool {
3052 self.message.body.has(tag::YIELD)
3053 }
3054
3055
3056
3057
3058 pub fn set_yield_calc_date(&mut self, v: String) {
3060 self.message.body.set_field(tag::YIELD_CALC_DATE, FIXString::from(v));
3061 }
3062
3063 pub fn get_yield_calc_date(&self) -> Result<String, MessageRejectErrorEnum> {
3065 let mut fld = field::YieldCalcDateField::new(String::new());
3066 self.message.body.get_field(tag::YIELD_CALC_DATE, &mut fld.0)?;
3067 Ok(fld.value().to_string())
3068 }
3069
3070
3071 pub fn has_yield_calc_date(&self) -> bool {
3073 self.message.body.has(tag::YIELD_CALC_DATE)
3074 }
3075
3076
3077
3078
3079 pub fn set_yield_redemption_date(&mut self, v: String) {
3081 self.message.body.set_field(tag::YIELD_REDEMPTION_DATE, FIXString::from(v));
3082 }
3083
3084 pub fn get_yield_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
3086 let mut fld = field::YieldRedemptionDateField::new(String::new());
3087 self.message.body.get_field(tag::YIELD_REDEMPTION_DATE, &mut fld.0)?;
3088 Ok(fld.value().to_string())
3089 }
3090
3091
3092 pub fn has_yield_redemption_date(&self) -> bool {
3094 self.message.body.has(tag::YIELD_REDEMPTION_DATE)
3095 }
3096
3097
3098
3099
3100 pub fn set_yield_redemption_price(&mut self, val: Decimal, scale: i32) {
3102 self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3103 }
3104
3105 pub fn get_yield_redemption_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3107 let mut fld = field::YieldRedemptionPriceField::new(Decimal::ZERO, 0);
3108 self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE, &mut fld.0)?;
3109 Ok(fld.value())
3110 }
3111
3112
3113 pub fn has_yield_redemption_price(&self) -> bool {
3115 self.message.body.has(tag::YIELD_REDEMPTION_PRICE)
3116 }
3117
3118
3119
3120
3121 pub fn set_yield_redemption_price_type(&mut self, v: isize) {
3123 self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
3124 }
3125
3126 pub fn get_yield_redemption_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3128 let mut fld = field::YieldRedemptionPriceTypeField::new(0);
3129 self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE_TYPE, &mut fld.0)?;
3130 Ok(fld.value())
3131 }
3132
3133
3134 pub fn has_yield_redemption_price_type(&self) -> bool {
3136 self.message.body.has(tag::YIELD_REDEMPTION_PRICE_TYPE)
3137 }
3138
3139
3140
3141
3142 pub fn set_yield_type(&mut self, v: String) {
3144 self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
3145 }
3146
3147 pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
3149 let mut fld = field::YieldTypeField::new(String::new());
3150 self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
3151 Ok(fld.value().to_string())
3152 }
3153
3154
3155 pub fn has_yield_type(&self) -> bool {
3157 self.message.body.has(tag::YIELD_TYPE)
3158 }
3159
3160
3161}
3162
3163pub type RouteOut = fn(msg: Confirmation, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
3165
3166pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
3168
3169pub fn route(router: RouteOut) -> Route {
3171 let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
3172 router(Confirmation::from_message(msg.clone()), session_id)
3173 };
3174 ("7", "AK", Box::new(r))
3175}