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 SecurityDefinition {
22 pub message: Message,
23}
24
25impl SecurityDefinition {
26 pub fn new() -> Self {
28 let mut msg = Message::new();
29 msg.header.set_field(tag::MSG_TYPE, FIXString::from("d".to_string()));
30
31 Self { message: msg }
32 }
33
34 pub fn from_message(msg: Message) -> Self {
36 Self { message: msg }
37 }
38
39 pub fn to_message(self) -> Message {
41 self.message
42 }
43
44
45
46
47 pub fn set_appl_id(&mut self, v: String) {
49 self.message.body.set_field(tag::APPL_ID, FIXString::from(v));
50 }
51
52 pub fn get_appl_id(&self) -> Result<String, MessageRejectErrorEnum> {
54 let mut fld = field::ApplIDField::new(String::new());
55 self.message.body.get_field(tag::APPL_ID, &mut fld.0)?;
56 Ok(fld.value().to_string())
57 }
58
59
60 pub fn has_appl_id(&self) -> bool {
62 self.message.body.has(tag::APPL_ID)
63 }
64
65
66
67
68 pub fn set_appl_last_seq_num(&mut self, v: isize) {
70 self.message.body.set_field(tag::APPL_LAST_SEQ_NUM, fixer::fix_int::FIXInt::from(v));
71 }
72
73 pub fn get_appl_last_seq_num(&self) -> Result<isize, MessageRejectErrorEnum> {
75 let mut fld = field::ApplLastSeqNumField::new(0);
76 self.message.body.get_field(tag::APPL_LAST_SEQ_NUM, &mut fld.0)?;
77 Ok(fld.value())
78 }
79
80
81 pub fn has_appl_last_seq_num(&self) -> bool {
83 self.message.body.has(tag::APPL_LAST_SEQ_NUM)
84 }
85
86
87
88
89 pub fn set_appl_resend_flag(&mut self, v: bool) {
91 self.message.body.set_field(tag::APPL_RESEND_FLAG, fixer::fix_boolean::FIXBoolean::from(v));
92 }
93
94 pub fn get_appl_resend_flag(&self) -> Result<bool, MessageRejectErrorEnum> {
96 let mut fld = field::ApplResendFlagField::new(false);
97 self.message.body.get_field(tag::APPL_RESEND_FLAG, &mut fld.0)?;
98 Ok(fld.value())
99 }
100
101
102 pub fn has_appl_resend_flag(&self) -> bool {
104 self.message.body.has(tag::APPL_RESEND_FLAG)
105 }
106
107
108
109
110 pub fn set_appl_seq_num(&mut self, v: isize) {
112 self.message.body.set_field(tag::APPL_SEQ_NUM, fixer::fix_int::FIXInt::from(v));
113 }
114
115 pub fn get_appl_seq_num(&self) -> Result<isize, MessageRejectErrorEnum> {
117 let mut fld = field::ApplSeqNumField::new(0);
118 self.message.body.get_field(tag::APPL_SEQ_NUM, &mut fld.0)?;
119 Ok(fld.value())
120 }
121
122
123 pub fn has_appl_seq_num(&self) -> bool {
125 self.message.body.has(tag::APPL_SEQ_NUM)
126 }
127
128
129
130
131 pub fn set_attachment_point(&mut self, val: Decimal, scale: i32) {
133 self.message.body.set_field(tag::ATTACHMENT_POINT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
134 }
135
136 pub fn get_attachment_point(&self) -> Result<Decimal, MessageRejectErrorEnum> {
138 let mut fld = field::AttachmentPointField::new(Decimal::ZERO, 0);
139 self.message.body.get_field(tag::ATTACHMENT_POINT, &mut fld.0)?;
140 Ok(fld.value())
141 }
142
143
144 pub fn has_attachment_point(&self) -> bool {
146 self.message.body.has(tag::ATTACHMENT_POINT)
147 }
148
149
150
151
152 pub fn set_benchmark_curve_currency(&mut self, v: String) {
154 self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
155 }
156
157 pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
159 let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
160 self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
161 Ok(fld.value().to_string())
162 }
163
164
165 pub fn has_benchmark_curve_currency(&self) -> bool {
167 self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
168 }
169
170
171
172
173 pub fn set_benchmark_curve_name(&mut self, v: String) {
175 self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
176 }
177
178 pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
180 let mut fld = field::BenchmarkCurveNameField::new(String::new());
181 self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
182 Ok(fld.value().to_string())
183 }
184
185
186 pub fn has_benchmark_curve_name(&self) -> bool {
188 self.message.body.has(tag::BENCHMARK_CURVE_NAME)
189 }
190
191
192
193
194 pub fn set_benchmark_curve_point(&mut self, v: String) {
196 self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
197 }
198
199 pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
201 let mut fld = field::BenchmarkCurvePointField::new(String::new());
202 self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
203 Ok(fld.value().to_string())
204 }
205
206
207 pub fn has_benchmark_curve_point(&self) -> bool {
209 self.message.body.has(tag::BENCHMARK_CURVE_POINT)
210 }
211
212
213
214
215 pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
217 self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
218 }
219
220 pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
222 let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
223 self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
224 Ok(fld.value())
225 }
226
227
228 pub fn has_benchmark_price(&self) -> bool {
230 self.message.body.has(tag::BENCHMARK_PRICE)
231 }
232
233
234
235
236 pub fn set_benchmark_price_type(&mut self, v: isize) {
238 self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
239 }
240
241 pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
243 let mut fld = field::BenchmarkPriceTypeField::new(0);
244 self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
245 Ok(fld.value())
246 }
247
248
249 pub fn has_benchmark_price_type(&self) -> bool {
251 self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
252 }
253
254
255
256
257 pub fn set_benchmark_security_id(&mut self, v: String) {
259 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
260 }
261
262 pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
264 let mut fld = field::BenchmarkSecurityIDField::new(String::new());
265 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
266 Ok(fld.value().to_string())
267 }
268
269
270 pub fn has_benchmark_security_id(&self) -> bool {
272 self.message.body.has(tag::BENCHMARK_SECURITY_ID)
273 }
274
275
276
277
278 pub fn set_benchmark_security_id_source(&mut self, v: String) {
280 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
281 }
282
283 pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
285 let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
286 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
287 Ok(fld.value().to_string())
288 }
289
290
291 pub fn has_benchmark_security_id_source(&self) -> bool {
293 self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
294 }
295
296
297
298
299 pub fn set_cfi_code(&mut self, v: String) {
301 self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
302 }
303
304 pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
306 let mut fld = field::CFICodeField::new(String::new());
307 self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
308 Ok(fld.value().to_string())
309 }
310
311
312 pub fn has_cfi_code(&self) -> bool {
314 self.message.body.has(tag::CFI_CODE)
315 }
316
317
318
319
320 pub fn set_cp_program(&mut self, v: isize) {
322 self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
323 }
324
325 pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
327 let mut fld = field::CPProgramField::new(0);
328 self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
329 Ok(fld.value())
330 }
331
332
333 pub fn has_cp_program(&self) -> bool {
335 self.message.body.has(tag::CP_PROGRAM)
336 }
337
338
339
340
341 pub fn set_cp_reg_type(&mut self, v: String) {
343 self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
344 }
345
346 pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
348 let mut fld = field::CPRegTypeField::new(String::new());
349 self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
350 Ok(fld.value().to_string())
351 }
352
353
354 pub fn has_cp_reg_type(&self) -> bool {
356 self.message.body.has(tag::CP_REG_TYPE)
357 }
358
359
360
361
362 pub fn set_cap_price(&mut self, val: Decimal, scale: i32) {
364 self.message.body.set_field(tag::CAP_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
365 }
366
367 pub fn get_cap_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
369 let mut fld = field::CapPriceField::new(Decimal::ZERO, 0);
370 self.message.body.get_field(tag::CAP_PRICE, &mut fld.0)?;
371 Ok(fld.value())
372 }
373
374
375 pub fn has_cap_price(&self) -> bool {
377 self.message.body.has(tag::CAP_PRICE)
378 }
379
380
381
382
383 pub fn set_clearing_business_date(&mut self, v: String) {
385 self.message.body.set_field(tag::CLEARING_BUSINESS_DATE, FIXString::from(v));
386 }
387
388 pub fn get_clearing_business_date(&self) -> Result<String, MessageRejectErrorEnum> {
390 let mut fld = field::ClearingBusinessDateField::new(String::new());
391 self.message.body.get_field(tag::CLEARING_BUSINESS_DATE, &mut fld.0)?;
392 Ok(fld.value().to_string())
393 }
394
395
396 pub fn has_clearing_business_date(&self) -> bool {
398 self.message.body.has(tag::CLEARING_BUSINESS_DATE)
399 }
400
401
402
403
404 pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
406 self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
407 }
408
409 pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
411 let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
412 self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
413 Ok(fld.value())
414 }
415
416
417 pub fn has_contract_multiplier(&self) -> bool {
419 self.message.body.has(tag::CONTRACT_MULTIPLIER)
420 }
421
422
423
424
425 pub fn set_contract_multiplier_unit(&mut self, v: isize) {
427 self.message.body.set_field(tag::CONTRACT_MULTIPLIER_UNIT, fixer::fix_int::FIXInt::from(v));
428 }
429
430 pub fn get_contract_multiplier_unit(&self) -> Result<isize, MessageRejectErrorEnum> {
432 let mut fld = field::ContractMultiplierUnitField::new(0);
433 self.message.body.get_field(tag::CONTRACT_MULTIPLIER_UNIT, &mut fld.0)?;
434 Ok(fld.value())
435 }
436
437
438 pub fn has_contract_multiplier_unit(&self) -> bool {
440 self.message.body.has(tag::CONTRACT_MULTIPLIER_UNIT)
441 }
442
443
444
445
446 pub fn set_contract_settl_month(&mut self, v: String) {
448 self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
449 }
450
451 pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
453 let mut fld = field::ContractSettlMonthField::new(String::new());
454 self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
455 Ok(fld.value().to_string())
456 }
457
458
459 pub fn has_contract_settl_month(&self) -> bool {
461 self.message.body.has(tag::CONTRACT_SETTL_MONTH)
462 }
463
464
465
466
467 pub fn set_corporate_action(&mut self, v: String) {
469 self.message.body.set_field(tag::CORPORATE_ACTION, FIXString::from(v));
470 }
471
472 pub fn get_corporate_action(&self) -> Result<String, MessageRejectErrorEnum> {
474 let mut fld = field::CorporateActionField::new(String::new());
475 self.message.body.get_field(tag::CORPORATE_ACTION, &mut fld.0)?;
476 Ok(fld.value().to_string())
477 }
478
479
480 pub fn has_corporate_action(&self) -> bool {
482 self.message.body.has(tag::CORPORATE_ACTION)
483 }
484
485
486
487
488 pub fn set_country_of_issue(&mut self, v: String) {
490 self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
491 }
492
493 pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
495 let mut fld = field::CountryOfIssueField::new(String::new());
496 self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
497 Ok(fld.value().to_string())
498 }
499
500
501 pub fn has_country_of_issue(&self) -> bool {
503 self.message.body.has(tag::COUNTRY_OF_ISSUE)
504 }
505
506
507
508
509 pub fn set_coupon_payment_date(&mut self, v: String) {
511 self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
512 }
513
514 pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
516 let mut fld = field::CouponPaymentDateField::new(String::new());
517 self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
518 Ok(fld.value().to_string())
519 }
520
521
522 pub fn has_coupon_payment_date(&self) -> bool {
524 self.message.body.has(tag::COUPON_PAYMENT_DATE)
525 }
526
527
528
529
530 pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
532 self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
533 }
534
535 pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
537 let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
538 self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
539 Ok(fld.value())
540 }
541
542
543 pub fn has_coupon_rate(&self) -> bool {
545 self.message.body.has(tag::COUPON_RATE)
546 }
547
548
549
550
551 pub fn set_credit_rating(&mut self, v: String) {
553 self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
554 }
555
556 pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
558 let mut fld = field::CreditRatingField::new(String::new());
559 self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
560 Ok(fld.value().to_string())
561 }
562
563
564 pub fn has_credit_rating(&self) -> bool {
566 self.message.body.has(tag::CREDIT_RATING)
567 }
568
569
570
571
572 pub fn set_currency(&mut self, v: String) {
574 self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
575 }
576
577 pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
579 let mut fld = field::CurrencyField::new(String::new());
580 self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
581 Ok(fld.value().to_string())
582 }
583
584
585 pub fn has_currency(&self) -> bool {
587 self.message.body.has(tag::CURRENCY)
588 }
589
590
591
592
593 pub fn set_dated_date(&mut self, v: String) {
595 self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
596 }
597
598 pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
600 let mut fld = field::DatedDateField::new(String::new());
601 self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
602 Ok(fld.value().to_string())
603 }
604
605
606 pub fn has_dated_date(&self) -> bool {
608 self.message.body.has(tag::DATED_DATE)
609 }
610
611
612
613
614 pub fn set_delivery_form(&mut self, v: isize) {
616 self.message.body.set_field(tag::DELIVERY_FORM, fixer::fix_int::FIXInt::from(v));
617 }
618
619 pub fn get_delivery_form(&self) -> Result<isize, MessageRejectErrorEnum> {
621 let mut fld = field::DeliveryFormField::new(0);
622 self.message.body.get_field(tag::DELIVERY_FORM, &mut fld.0)?;
623 Ok(fld.value())
624 }
625
626
627 pub fn has_delivery_form(&self) -> bool {
629 self.message.body.has(tag::DELIVERY_FORM)
630 }
631
632
633
634
635 pub fn set_detachment_point(&mut self, val: Decimal, scale: i32) {
637 self.message.body.set_field(tag::DETACHMENT_POINT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
638 }
639
640 pub fn get_detachment_point(&self) -> Result<Decimal, MessageRejectErrorEnum> {
642 let mut fld = field::DetachmentPointField::new(Decimal::ZERO, 0);
643 self.message.body.get_field(tag::DETACHMENT_POINT, &mut fld.0)?;
644 Ok(fld.value())
645 }
646
647
648 pub fn has_detachment_point(&self) -> bool {
650 self.message.body.has(tag::DETACHMENT_POINT)
651 }
652
653
654
655
656 pub fn set_encoded_issuer(&mut self, v: String) {
658 self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
659 }
660
661 pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
663 let mut fld = field::EncodedIssuerField::new(String::new());
664 self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
665 Ok(fld.value().to_string())
666 }
667
668
669 pub fn has_encoded_issuer(&self) -> bool {
671 self.message.body.has(tag::ENCODED_ISSUER)
672 }
673
674
675
676
677 pub fn set_encoded_issuer_len(&mut self, v: isize) {
679 self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
680 }
681
682 pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
684 let mut fld = field::EncodedIssuerLenField::new(0);
685 self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
686 Ok(fld.value())
687 }
688
689
690 pub fn has_encoded_issuer_len(&self) -> bool {
692 self.message.body.has(tag::ENCODED_ISSUER_LEN)
693 }
694
695
696
697
698 pub fn set_encoded_security_desc(&mut self, v: String) {
700 self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
701 }
702
703 pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
705 let mut fld = field::EncodedSecurityDescField::new(String::new());
706 self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
707 Ok(fld.value().to_string())
708 }
709
710
711 pub fn has_encoded_security_desc(&self) -> bool {
713 self.message.body.has(tag::ENCODED_SECURITY_DESC)
714 }
715
716
717
718
719 pub fn set_encoded_security_desc_len(&mut self, v: isize) {
721 self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
722 }
723
724 pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
726 let mut fld = field::EncodedSecurityDescLenField::new(0);
727 self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
728 Ok(fld.value())
729 }
730
731
732 pub fn has_encoded_security_desc_len(&self) -> bool {
734 self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
735 }
736
737
738
739
740 pub fn set_encoded_text(&mut self, v: String) {
742 self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
743 }
744
745 pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
747 let mut fld = field::EncodedTextField::new(String::new());
748 self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
749 Ok(fld.value().to_string())
750 }
751
752
753 pub fn has_encoded_text(&self) -> bool {
755 self.message.body.has(tag::ENCODED_TEXT)
756 }
757
758
759
760
761 pub fn set_encoded_text_len(&mut self, v: isize) {
763 self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
764 }
765
766 pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
768 let mut fld = field::EncodedTextLenField::new(0);
769 self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
770 Ok(fld.value())
771 }
772
773
774 pub fn has_encoded_text_len(&self) -> bool {
776 self.message.body.has(tag::ENCODED_TEXT_LEN)
777 }
778
779
780
781
782 pub fn set_exercise_style(&mut self, v: isize) {
784 self.message.body.set_field(tag::EXERCISE_STYLE, fixer::fix_int::FIXInt::from(v));
785 }
786
787 pub fn get_exercise_style(&self) -> Result<isize, MessageRejectErrorEnum> {
789 let mut fld = field::ExerciseStyleField::new(0);
790 self.message.body.get_field(tag::EXERCISE_STYLE, &mut fld.0)?;
791 Ok(fld.value())
792 }
793
794
795 pub fn has_exercise_style(&self) -> bool {
797 self.message.body.has(tag::EXERCISE_STYLE)
798 }
799
800
801
802
803 pub fn set_factor(&mut self, val: Decimal, scale: i32) {
805 self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
806 }
807
808 pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
810 let mut fld = field::FactorField::new(Decimal::ZERO, 0);
811 self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
812 Ok(fld.value())
813 }
814
815
816 pub fn has_factor(&self) -> bool {
818 self.message.body.has(tag::FACTOR)
819 }
820
821
822
823
824 pub fn set_flex_product_eligibility_indicator(&mut self, v: bool) {
826 self.message.body.set_field(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
827 }
828
829 pub fn get_flex_product_eligibility_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
831 let mut fld = field::FlexProductEligibilityIndicatorField::new(false);
832 self.message.body.get_field(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR, &mut fld.0)?;
833 Ok(fld.value())
834 }
835
836
837 pub fn has_flex_product_eligibility_indicator(&self) -> bool {
839 self.message.body.has(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR)
840 }
841
842
843
844
845 pub fn set_flexible_indicator(&mut self, v: bool) {
847 self.message.body.set_field(tag::FLEXIBLE_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
848 }
849
850 pub fn get_flexible_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
852 let mut fld = field::FlexibleIndicatorField::new(false);
853 self.message.body.get_field(tag::FLEXIBLE_INDICATOR, &mut fld.0)?;
854 Ok(fld.value())
855 }
856
857
858 pub fn has_flexible_indicator(&self) -> bool {
860 self.message.body.has(tag::FLEXIBLE_INDICATOR)
861 }
862
863
864
865
866 pub fn set_floor_price(&mut self, val: Decimal, scale: i32) {
868 self.message.body.set_field(tag::FLOOR_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
869 }
870
871 pub fn get_floor_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
873 let mut fld = field::FloorPriceField::new(Decimal::ZERO, 0);
874 self.message.body.get_field(tag::FLOOR_PRICE, &mut fld.0)?;
875 Ok(fld.value())
876 }
877
878
879 pub fn has_floor_price(&self) -> bool {
881 self.message.body.has(tag::FLOOR_PRICE)
882 }
883
884
885
886
887 pub fn set_flow_schedule_type(&mut self, v: isize) {
889 self.message.body.set_field(tag::FLOW_SCHEDULE_TYPE, fixer::fix_int::FIXInt::from(v));
890 }
891
892 pub fn get_flow_schedule_type(&self) -> Result<isize, MessageRejectErrorEnum> {
894 let mut fld = field::FlowScheduleTypeField::new(0);
895 self.message.body.get_field(tag::FLOW_SCHEDULE_TYPE, &mut fld.0)?;
896 Ok(fld.value())
897 }
898
899
900 pub fn has_flow_schedule_type(&self) -> bool {
902 self.message.body.has(tag::FLOW_SCHEDULE_TYPE)
903 }
904
905
906
907
908 pub fn set_instr_registry(&mut self, v: String) {
910 self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
911 }
912
913 pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
915 let mut fld = field::InstrRegistryField::new(String::new());
916 self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
917 Ok(fld.value().to_string())
918 }
919
920
921 pub fn has_instr_registry(&self) -> bool {
923 self.message.body.has(tag::INSTR_REGISTRY)
924 }
925
926
927
928
929 pub fn set_instrmt_assignment_method(&mut self, v: String) {
931 self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
932 }
933
934 pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
936 let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
937 self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
938 Ok(fld.value().to_string())
939 }
940
941
942 pub fn has_instrmt_assignment_method(&self) -> bool {
944 self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
945 }
946
947
948
949
950 pub fn set_interest_accrual_date(&mut self, v: String) {
952 self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
953 }
954
955 pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
957 let mut fld = field::InterestAccrualDateField::new(String::new());
958 self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
959 Ok(fld.value().to_string())
960 }
961
962
963 pub fn has_interest_accrual_date(&self) -> bool {
965 self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
966 }
967
968
969
970
971 pub fn set_issue_date(&mut self, v: String) {
973 self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
974 }
975
976 pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
978 let mut fld = field::IssueDateField::new(String::new());
979 self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
980 Ok(fld.value().to_string())
981 }
982
983
984 pub fn has_issue_date(&self) -> bool {
986 self.message.body.has(tag::ISSUE_DATE)
987 }
988
989
990
991
992 pub fn set_issuer(&mut self, v: String) {
994 self.message.body.set_field(tag::ISSUER, FIXString::from(v));
995 }
996
997 pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
999 let mut fld = field::IssuerField::new(String::new());
1000 self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1001 Ok(fld.value().to_string())
1002 }
1003
1004
1005 pub fn has_issuer(&self) -> bool {
1007 self.message.body.has(tag::ISSUER)
1008 }
1009
1010
1011
1012
1013 pub fn set_list_method(&mut self, v: isize) {
1015 self.message.body.set_field(tag::LIST_METHOD, fixer::fix_int::FIXInt::from(v));
1016 }
1017
1018 pub fn get_list_method(&self) -> Result<isize, MessageRejectErrorEnum> {
1020 let mut fld = field::ListMethodField::new(0);
1021 self.message.body.get_field(tag::LIST_METHOD, &mut fld.0)?;
1022 Ok(fld.value())
1023 }
1024
1025
1026 pub fn has_list_method(&self) -> bool {
1028 self.message.body.has(tag::LIST_METHOD)
1029 }
1030
1031
1032
1033
1034 pub fn set_locale_of_issue(&mut self, v: String) {
1036 self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1037 }
1038
1039 pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1041 let mut fld = field::LocaleOfIssueField::new(String::new());
1042 self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1043 Ok(fld.value().to_string())
1044 }
1045
1046
1047 pub fn has_locale_of_issue(&self) -> bool {
1049 self.message.body.has(tag::LOCALE_OF_ISSUE)
1050 }
1051
1052
1053
1054
1055 pub fn set_maturity_date(&mut self, v: String) {
1057 self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1058 }
1059
1060 pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1062 let mut fld = field::MaturityDateField::new(String::new());
1063 self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1064 Ok(fld.value().to_string())
1065 }
1066
1067
1068 pub fn has_maturity_date(&self) -> bool {
1070 self.message.body.has(tag::MATURITY_DATE)
1071 }
1072
1073
1074
1075
1076 pub fn set_maturity_month_year(&mut self, v: String) {
1078 self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1079 }
1080
1081 pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1083 let mut fld = field::MaturityMonthYearField::new(String::new());
1084 self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1085 Ok(fld.value().to_string())
1086 }
1087
1088
1089 pub fn has_maturity_month_year(&self) -> bool {
1091 self.message.body.has(tag::MATURITY_MONTH_YEAR)
1092 }
1093
1094
1095
1096
1097 pub fn set_maturity_time(&mut self, v: String) {
1099 self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
1100 }
1101
1102 pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
1104 let mut fld = field::MaturityTimeField::new(String::new());
1105 self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
1106 Ok(fld.value().to_string())
1107 }
1108
1109
1110 pub fn has_maturity_time(&self) -> bool {
1112 self.message.body.has(tag::MATURITY_TIME)
1113 }
1114
1115
1116
1117
1118 pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
1120 self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1121 }
1122
1123 pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1125 let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
1126 self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
1127 Ok(fld.value())
1128 }
1129
1130
1131 pub fn has_min_price_increment(&self) -> bool {
1133 self.message.body.has(tag::MIN_PRICE_INCREMENT)
1134 }
1135
1136
1137
1138
1139 pub fn set_min_price_increment_amount(&mut self, val: Decimal, scale: i32) {
1141 self.message.body.set_field(tag::MIN_PRICE_INCREMENT_AMOUNT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1142 }
1143
1144 pub fn get_min_price_increment_amount(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1146 let mut fld = field::MinPriceIncrementAmountField::new(Decimal::ZERO, 0);
1147 self.message.body.get_field(tag::MIN_PRICE_INCREMENT_AMOUNT, &mut fld.0)?;
1148 Ok(fld.value())
1149 }
1150
1151
1152 pub fn has_min_price_increment_amount(&self) -> bool {
1154 self.message.body.has(tag::MIN_PRICE_INCREMENT_AMOUNT)
1155 }
1156
1157
1158
1159
1160 pub fn set_nt_position_limit(&mut self, v: isize) {
1162 self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1163 }
1164
1165 pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1167 let mut fld = field::NTPositionLimitField::new(0);
1168 self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
1169 Ok(fld.value())
1170 }
1171
1172
1173 pub fn has_nt_position_limit(&self) -> bool {
1175 self.message.body.has(tag::NT_POSITION_LIMIT)
1176 }
1177
1178
1179
1180
1181 pub fn set_no_complex_events(&mut self, v: isize) {
1183 self.message.body.set_field(tag::NO_COMPLEX_EVENTS, fixer::fix_int::FIXInt::from(v));
1184 }
1185
1186 pub fn get_no_complex_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1188 let mut fld = field::NoComplexEventsField::new(0);
1189 self.message.body.get_field(tag::NO_COMPLEX_EVENTS, &mut fld.0)?;
1190 Ok(fld.value())
1191 }
1192
1193
1194 pub fn has_no_complex_events(&self) -> bool {
1196 self.message.body.has(tag::NO_COMPLEX_EVENTS)
1197 }
1198
1199
1200
1201
1202 pub fn set_no_events(&mut self, v: isize) {
1204 self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1205 }
1206
1207 pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1209 let mut fld = field::NoEventsField::new(0);
1210 self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1211 Ok(fld.value())
1212 }
1213
1214
1215 pub fn has_no_events(&self) -> bool {
1217 self.message.body.has(tag::NO_EVENTS)
1218 }
1219
1220
1221
1222
1223 pub fn set_no_instr_attrib(&mut self, v: isize) {
1225 self.message.body.set_field(tag::NO_INSTR_ATTRIB, fixer::fix_int::FIXInt::from(v));
1226 }
1227
1228 pub fn get_no_instr_attrib(&self) -> Result<isize, MessageRejectErrorEnum> {
1230 let mut fld = field::NoInstrAttribField::new(0);
1231 self.message.body.get_field(tag::NO_INSTR_ATTRIB, &mut fld.0)?;
1232 Ok(fld.value())
1233 }
1234
1235
1236 pub fn has_no_instr_attrib(&self) -> bool {
1238 self.message.body.has(tag::NO_INSTR_ATTRIB)
1239 }
1240
1241
1242
1243
1244 pub fn set_no_instrument_parties(&mut self, v: isize) {
1246 self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1247 }
1248
1249 pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1251 let mut fld = field::NoInstrumentPartiesField::new(0);
1252 self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1253 Ok(fld.value())
1254 }
1255
1256
1257 pub fn has_no_instrument_parties(&self) -> bool {
1259 self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1260 }
1261
1262
1263
1264
1265 pub fn set_no_legs(&mut self, v: isize) {
1267 self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1268 }
1269
1270 pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1272 let mut fld = field::NoLegsField::new(0);
1273 self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1274 Ok(fld.value())
1275 }
1276
1277
1278 pub fn has_no_legs(&self) -> bool {
1280 self.message.body.has(tag::NO_LEGS)
1281 }
1282
1283
1284
1285
1286 pub fn set_no_market_segments(&mut self, v: isize) {
1288 self.message.body.set_field(tag::NO_MARKET_SEGMENTS, fixer::fix_int::FIXInt::from(v));
1289 }
1290
1291 pub fn get_no_market_segments(&self) -> Result<isize, MessageRejectErrorEnum> {
1293 let mut fld = field::NoMarketSegmentsField::new(0);
1294 self.message.body.get_field(tag::NO_MARKET_SEGMENTS, &mut fld.0)?;
1295 Ok(fld.value())
1296 }
1297
1298
1299 pub fn has_no_market_segments(&self) -> bool {
1301 self.message.body.has(tag::NO_MARKET_SEGMENTS)
1302 }
1303
1304
1305
1306
1307 pub fn set_no_security_alt_id(&mut self, v: isize) {
1309 self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1310 }
1311
1312 pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1314 let mut fld = field::NoSecurityAltIDField::new(0);
1315 self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1316 Ok(fld.value())
1317 }
1318
1319
1320 pub fn has_no_security_alt_id(&self) -> bool {
1322 self.message.body.has(tag::NO_SECURITY_ALT_ID)
1323 }
1324
1325
1326
1327
1328 pub fn set_no_stipulations(&mut self, v: isize) {
1330 self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1331 }
1332
1333 pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1335 let mut fld = field::NoStipulationsField::new(0);
1336 self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1337 Ok(fld.value())
1338 }
1339
1340
1341 pub fn has_no_stipulations(&self) -> bool {
1343 self.message.body.has(tag::NO_STIPULATIONS)
1344 }
1345
1346
1347
1348
1349 pub fn set_no_underlyings(&mut self, v: isize) {
1351 self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1352 }
1353
1354 pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1356 let mut fld = field::NoUnderlyingsField::new(0);
1357 self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1358 Ok(fld.value())
1359 }
1360
1361
1362 pub fn has_no_underlyings(&self) -> bool {
1364 self.message.body.has(tag::NO_UNDERLYINGS)
1365 }
1366
1367
1368
1369
1370 pub fn set_notional_percentage_outstanding(&mut self, val: Decimal, scale: i32) {
1372 self.message.body.set_field(tag::NOTIONAL_PERCENTAGE_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1373 }
1374
1375 pub fn get_notional_percentage_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1377 let mut fld = field::NotionalPercentageOutstandingField::new(Decimal::ZERO, 0);
1378 self.message.body.get_field(tag::NOTIONAL_PERCENTAGE_OUTSTANDING, &mut fld.0)?;
1379 Ok(fld.value())
1380 }
1381
1382
1383 pub fn has_notional_percentage_outstanding(&self) -> bool {
1385 self.message.body.has(tag::NOTIONAL_PERCENTAGE_OUTSTANDING)
1386 }
1387
1388
1389
1390
1391 pub fn set_opt_attribute(&mut self, v: String) {
1393 self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1394 }
1395
1396 pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1398 let mut fld = field::OptAttributeField::new(String::new());
1399 self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1400 Ok(fld.value().to_string())
1401 }
1402
1403
1404 pub fn has_opt_attribute(&self) -> bool {
1406 self.message.body.has(tag::OPT_ATTRIBUTE)
1407 }
1408
1409
1410
1411
1412 pub fn set_opt_payout_amount(&mut self, val: Decimal, scale: i32) {
1414 self.message.body.set_field(tag::OPT_PAYOUT_AMOUNT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1415 }
1416
1417 pub fn get_opt_payout_amount(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1419 let mut fld = field::OptPayoutAmountField::new(Decimal::ZERO, 0);
1420 self.message.body.get_field(tag::OPT_PAYOUT_AMOUNT, &mut fld.0)?;
1421 Ok(fld.value())
1422 }
1423
1424
1425 pub fn has_opt_payout_amount(&self) -> bool {
1427 self.message.body.has(tag::OPT_PAYOUT_AMOUNT)
1428 }
1429
1430
1431
1432
1433 pub fn set_opt_payout_type(&mut self, v: isize) {
1435 self.message.body.set_field(tag::OPT_PAYOUT_TYPE, fixer::fix_int::FIXInt::from(v));
1436 }
1437
1438 pub fn get_opt_payout_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1440 let mut fld = field::OptPayoutTypeField::new(0);
1441 self.message.body.get_field(tag::OPT_PAYOUT_TYPE, &mut fld.0)?;
1442 Ok(fld.value())
1443 }
1444
1445
1446 pub fn has_opt_payout_type(&self) -> bool {
1448 self.message.body.has(tag::OPT_PAYOUT_TYPE)
1449 }
1450
1451
1452
1453
1454 pub fn set_original_notional_percentage_outstanding(&mut self, val: Decimal, scale: i32) {
1456 self.message.body.set_field(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1457 }
1458
1459 pub fn get_original_notional_percentage_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1461 let mut fld = field::OriginalNotionalPercentageOutstandingField::new(Decimal::ZERO, 0);
1462 self.message.body.get_field(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING, &mut fld.0)?;
1463 Ok(fld.value())
1464 }
1465
1466
1467 pub fn has_original_notional_percentage_outstanding(&self) -> bool {
1469 self.message.body.has(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING)
1470 }
1471
1472
1473
1474
1475 pub fn set_pct_at_risk(&mut self, val: Decimal, scale: i32) {
1477 self.message.body.set_field(tag::PCT_AT_RISK, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1478 }
1479
1480 pub fn get_pct_at_risk(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1482 let mut fld = field::PctAtRiskField::new(Decimal::ZERO, 0);
1483 self.message.body.get_field(tag::PCT_AT_RISK, &mut fld.0)?;
1484 Ok(fld.value())
1485 }
1486
1487
1488 pub fn has_pct_at_risk(&self) -> bool {
1490 self.message.body.has(tag::PCT_AT_RISK)
1491 }
1492
1493
1494
1495
1496 pub fn set_pool(&mut self, v: String) {
1498 self.message.body.set_field(tag::POOL, FIXString::from(v));
1499 }
1500
1501 pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1503 let mut fld = field::PoolField::new(String::new());
1504 self.message.body.get_field(tag::POOL, &mut fld.0)?;
1505 Ok(fld.value().to_string())
1506 }
1507
1508
1509 pub fn has_pool(&self) -> bool {
1511 self.message.body.has(tag::POOL)
1512 }
1513
1514
1515
1516
1517 pub fn set_position_limit(&mut self, v: isize) {
1519 self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1520 }
1521
1522 pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1524 let mut fld = field::PositionLimitField::new(0);
1525 self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
1526 Ok(fld.value())
1527 }
1528
1529
1530 pub fn has_position_limit(&self) -> bool {
1532 self.message.body.has(tag::POSITION_LIMIT)
1533 }
1534
1535
1536
1537
1538 pub fn set_price_quote_method(&mut self, v: String) {
1540 self.message.body.set_field(tag::PRICE_QUOTE_METHOD, FIXString::from(v));
1541 }
1542
1543 pub fn get_price_quote_method(&self) -> Result<String, MessageRejectErrorEnum> {
1545 let mut fld = field::PriceQuoteMethodField::new(String::new());
1546 self.message.body.get_field(tag::PRICE_QUOTE_METHOD, &mut fld.0)?;
1547 Ok(fld.value().to_string())
1548 }
1549
1550
1551 pub fn has_price_quote_method(&self) -> bool {
1553 self.message.body.has(tag::PRICE_QUOTE_METHOD)
1554 }
1555
1556
1557
1558
1559 pub fn set_price_unit_of_measure(&mut self, v: String) {
1561 self.message.body.set_field(tag::PRICE_UNIT_OF_MEASURE, FIXString::from(v));
1562 }
1563
1564 pub fn get_price_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
1566 let mut fld = field::PriceUnitOfMeasureField::new(String::new());
1567 self.message.body.get_field(tag::PRICE_UNIT_OF_MEASURE, &mut fld.0)?;
1568 Ok(fld.value().to_string())
1569 }
1570
1571
1572 pub fn has_price_unit_of_measure(&self) -> bool {
1574 self.message.body.has(tag::PRICE_UNIT_OF_MEASURE)
1575 }
1576
1577
1578
1579
1580 pub fn set_price_unit_of_measure_qty(&mut self, val: Decimal, scale: i32) {
1582 self.message.body.set_field(tag::PRICE_UNIT_OF_MEASURE_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1583 }
1584
1585 pub fn get_price_unit_of_measure_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1587 let mut fld = field::PriceUnitOfMeasureQtyField::new(Decimal::ZERO, 0);
1588 self.message.body.get_field(tag::PRICE_UNIT_OF_MEASURE_QTY, &mut fld.0)?;
1589 Ok(fld.value())
1590 }
1591
1592
1593 pub fn has_price_unit_of_measure_qty(&self) -> bool {
1595 self.message.body.has(tag::PRICE_UNIT_OF_MEASURE_QTY)
1596 }
1597
1598
1599
1600
1601 pub fn set_product(&mut self, v: isize) {
1603 self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
1604 }
1605
1606 pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
1608 let mut fld = field::ProductField::new(0);
1609 self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
1610 Ok(fld.value())
1611 }
1612
1613
1614 pub fn has_product(&self) -> bool {
1616 self.message.body.has(tag::PRODUCT)
1617 }
1618
1619
1620
1621
1622 pub fn set_product_complex(&mut self, v: String) {
1624 self.message.body.set_field(tag::PRODUCT_COMPLEX, FIXString::from(v));
1625 }
1626
1627 pub fn get_product_complex(&self) -> Result<String, MessageRejectErrorEnum> {
1629 let mut fld = field::ProductComplexField::new(String::new());
1630 self.message.body.get_field(tag::PRODUCT_COMPLEX, &mut fld.0)?;
1631 Ok(fld.value().to_string())
1632 }
1633
1634
1635 pub fn has_product_complex(&self) -> bool {
1637 self.message.body.has(tag::PRODUCT_COMPLEX)
1638 }
1639
1640
1641
1642
1643 pub fn set_put_or_call(&mut self, v: isize) {
1645 self.message.body.set_field(tag::PUT_OR_CALL, fixer::fix_int::FIXInt::from(v));
1646 }
1647
1648 pub fn get_put_or_call(&self) -> Result<isize, MessageRejectErrorEnum> {
1650 let mut fld = field::PutOrCallField::new(0);
1651 self.message.body.get_field(tag::PUT_OR_CALL, &mut fld.0)?;
1652 Ok(fld.value())
1653 }
1654
1655
1656 pub fn has_put_or_call(&self) -> bool {
1658 self.message.body.has(tag::PUT_OR_CALL)
1659 }
1660
1661
1662
1663
1664 pub fn set_redemption_date(&mut self, v: String) {
1666 self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
1667 }
1668
1669 pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
1671 let mut fld = field::RedemptionDateField::new(String::new());
1672 self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
1673 Ok(fld.value().to_string())
1674 }
1675
1676
1677 pub fn has_redemption_date(&self) -> bool {
1679 self.message.body.has(tag::REDEMPTION_DATE)
1680 }
1681
1682
1683
1684
1685 pub fn set_repo_collateral_security_type(&mut self, v: isize) {
1687 self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
1688 }
1689
1690 pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1692 let mut fld = field::RepoCollateralSecurityTypeField::new(0);
1693 self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
1694 Ok(fld.value())
1695 }
1696
1697
1698 pub fn has_repo_collateral_security_type(&self) -> bool {
1700 self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
1701 }
1702
1703
1704
1705
1706 pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
1708 self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1709 }
1710
1711 pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1713 let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
1714 self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
1715 Ok(fld.value())
1716 }
1717
1718
1719 pub fn has_repurchase_rate(&self) -> bool {
1721 self.message.body.has(tag::REPURCHASE_RATE)
1722 }
1723
1724
1725
1726
1727 pub fn set_repurchase_term(&mut self, v: isize) {
1729 self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
1730 }
1731
1732 pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
1734 let mut fld = field::RepurchaseTermField::new(0);
1735 self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
1736 Ok(fld.value())
1737 }
1738
1739
1740 pub fn has_repurchase_term(&self) -> bool {
1742 self.message.body.has(tag::REPURCHASE_TERM)
1743 }
1744
1745
1746
1747
1748 pub fn set_restructuring_type(&mut self, v: String) {
1750 self.message.body.set_field(tag::RESTRUCTURING_TYPE, FIXString::from(v));
1751 }
1752
1753 pub fn get_restructuring_type(&self) -> Result<String, MessageRejectErrorEnum> {
1755 let mut fld = field::RestructuringTypeField::new(String::new());
1756 self.message.body.get_field(tag::RESTRUCTURING_TYPE, &mut fld.0)?;
1757 Ok(fld.value().to_string())
1758 }
1759
1760
1761 pub fn has_restructuring_type(&self) -> bool {
1763 self.message.body.has(tag::RESTRUCTURING_TYPE)
1764 }
1765
1766
1767
1768
1769 pub fn set_security_desc(&mut self, v: String) {
1771 self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
1772 }
1773
1774 pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1776 let mut fld = field::SecurityDescField::new(String::new());
1777 self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
1778 Ok(fld.value().to_string())
1779 }
1780
1781
1782 pub fn has_security_desc(&self) -> bool {
1784 self.message.body.has(tag::SECURITY_DESC)
1785 }
1786
1787
1788
1789
1790 pub fn set_security_exchange(&mut self, v: String) {
1792 self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
1793 }
1794
1795 pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
1797 let mut fld = field::SecurityExchangeField::new(String::new());
1798 self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
1799 Ok(fld.value().to_string())
1800 }
1801
1802
1803 pub fn has_security_exchange(&self) -> bool {
1805 self.message.body.has(tag::SECURITY_EXCHANGE)
1806 }
1807
1808
1809
1810
1811 pub fn set_security_group(&mut self, v: String) {
1813 self.message.body.set_field(tag::SECURITY_GROUP, FIXString::from(v));
1814 }
1815
1816 pub fn get_security_group(&self) -> Result<String, MessageRejectErrorEnum> {
1818 let mut fld = field::SecurityGroupField::new(String::new());
1819 self.message.body.get_field(tag::SECURITY_GROUP, &mut fld.0)?;
1820 Ok(fld.value().to_string())
1821 }
1822
1823
1824 pub fn has_security_group(&self) -> bool {
1826 self.message.body.has(tag::SECURITY_GROUP)
1827 }
1828
1829
1830
1831
1832 pub fn set_security_id(&mut self, v: String) {
1834 self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
1835 }
1836
1837 pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
1839 let mut fld = field::SecurityIDField::new(String::new());
1840 self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
1841 Ok(fld.value().to_string())
1842 }
1843
1844
1845 pub fn has_security_id(&self) -> bool {
1847 self.message.body.has(tag::SECURITY_ID)
1848 }
1849
1850
1851
1852
1853 pub fn set_security_id_source(&mut self, v: String) {
1855 self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
1856 }
1857
1858 pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
1860 let mut fld = field::SecurityIDSourceField::new(String::new());
1861 self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
1862 Ok(fld.value().to_string())
1863 }
1864
1865
1866 pub fn has_security_id_source(&self) -> bool {
1868 self.message.body.has(tag::SECURITY_ID_SOURCE)
1869 }
1870
1871
1872
1873
1874 pub fn set_security_report_id(&mut self, v: isize) {
1876 self.message.body.set_field(tag::SECURITY_REPORT_ID, fixer::fix_int::FIXInt::from(v));
1877 }
1878
1879 pub fn get_security_report_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1881 let mut fld = field::SecurityReportIDField::new(0);
1882 self.message.body.get_field(tag::SECURITY_REPORT_ID, &mut fld.0)?;
1883 Ok(fld.value())
1884 }
1885
1886
1887 pub fn has_security_report_id(&self) -> bool {
1889 self.message.body.has(tag::SECURITY_REPORT_ID)
1890 }
1891
1892
1893
1894
1895 pub fn set_security_req_id(&mut self, v: String) {
1897 self.message.body.set_field(tag::SECURITY_REQ_ID, FIXString::from(v));
1898 }
1899
1900 pub fn get_security_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
1902 let mut fld = field::SecurityReqIDField::new(String::new());
1903 self.message.body.get_field(tag::SECURITY_REQ_ID, &mut fld.0)?;
1904 Ok(fld.value().to_string())
1905 }
1906
1907
1908 pub fn has_security_req_id(&self) -> bool {
1910 self.message.body.has(tag::SECURITY_REQ_ID)
1911 }
1912
1913
1914
1915
1916 pub fn set_security_response_id(&mut self, v: String) {
1918 self.message.body.set_field(tag::SECURITY_RESPONSE_ID, FIXString::from(v));
1919 }
1920
1921 pub fn get_security_response_id(&self) -> Result<String, MessageRejectErrorEnum> {
1923 let mut fld = field::SecurityResponseIDField::new(String::new());
1924 self.message.body.get_field(tag::SECURITY_RESPONSE_ID, &mut fld.0)?;
1925 Ok(fld.value().to_string())
1926 }
1927
1928
1929 pub fn has_security_response_id(&self) -> bool {
1931 self.message.body.has(tag::SECURITY_RESPONSE_ID)
1932 }
1933
1934
1935
1936
1937 pub fn set_security_response_type(&mut self, v: isize) {
1939 self.message.body.set_field(tag::SECURITY_RESPONSE_TYPE, fixer::fix_int::FIXInt::from(v));
1940 }
1941
1942 pub fn get_security_response_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1944 let mut fld = field::SecurityResponseTypeField::new(0);
1945 self.message.body.get_field(tag::SECURITY_RESPONSE_TYPE, &mut fld.0)?;
1946 Ok(fld.value())
1947 }
1948
1949
1950 pub fn has_security_response_type(&self) -> bool {
1952 self.message.body.has(tag::SECURITY_RESPONSE_TYPE)
1953 }
1954
1955
1956
1957
1958 pub fn set_security_status(&mut self, v: String) {
1960 self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
1961 }
1962
1963 pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
1965 let mut fld = field::SecurityStatusField::new(String::new());
1966 self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
1967 Ok(fld.value().to_string())
1968 }
1969
1970
1971 pub fn has_security_status(&self) -> bool {
1973 self.message.body.has(tag::SECURITY_STATUS)
1974 }
1975
1976
1977
1978
1979 pub fn set_security_sub_type(&mut self, v: String) {
1981 self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
1982 }
1983
1984 pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
1986 let mut fld = field::SecuritySubTypeField::new(String::new());
1987 self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
1988 Ok(fld.value().to_string())
1989 }
1990
1991
1992 pub fn has_security_sub_type(&self) -> bool {
1994 self.message.body.has(tag::SECURITY_SUB_TYPE)
1995 }
1996
1997
1998
1999
2000 pub fn set_security_type(&mut self, v: String) {
2002 self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2003 }
2004
2005 pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2007 let mut fld = field::SecurityTypeField::new(String::new());
2008 self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2009 Ok(fld.value().to_string())
2010 }
2011
2012
2013 pub fn has_security_type(&self) -> bool {
2015 self.message.body.has(tag::SECURITY_TYPE)
2016 }
2017
2018
2019
2020
2021 pub fn set_security_xml(&mut self, v: String) {
2023 self.message.body.set_field(tag::SECURITY_XML, FIXString::from(v));
2024 }
2025
2026 pub fn get_security_xml(&self) -> Result<String, MessageRejectErrorEnum> {
2028 let mut fld = field::SecurityXMLField::new(String::new());
2029 self.message.body.get_field(tag::SECURITY_XML, &mut fld.0)?;
2030 Ok(fld.value().to_string())
2031 }
2032
2033
2034 pub fn has_security_xml(&self) -> bool {
2036 self.message.body.has(tag::SECURITY_XML)
2037 }
2038
2039
2040
2041
2042 pub fn set_security_xml_len(&mut self, v: isize) {
2044 self.message.body.set_field(tag::SECURITY_XML_LEN, fixer::fix_int::FIXInt::from(v));
2045 }
2046
2047 pub fn get_security_xml_len(&self) -> Result<isize, MessageRejectErrorEnum> {
2049 let mut fld = field::SecurityXMLLenField::new(0);
2050 self.message.body.get_field(tag::SECURITY_XML_LEN, &mut fld.0)?;
2051 Ok(fld.value())
2052 }
2053
2054
2055 pub fn has_security_xml_len(&self) -> bool {
2057 self.message.body.has(tag::SECURITY_XML_LEN)
2058 }
2059
2060
2061
2062
2063 pub fn set_security_xml_schema(&mut self, v: String) {
2065 self.message.body.set_field(tag::SECURITY_XML_SCHEMA, FIXString::from(v));
2066 }
2067
2068 pub fn get_security_xml_schema(&self) -> Result<String, MessageRejectErrorEnum> {
2070 let mut fld = field::SecurityXMLSchemaField::new(String::new());
2071 self.message.body.get_field(tag::SECURITY_XML_SCHEMA, &mut fld.0)?;
2072 Ok(fld.value().to_string())
2073 }
2074
2075
2076 pub fn has_security_xml_schema(&self) -> bool {
2078 self.message.body.has(tag::SECURITY_XML_SCHEMA)
2079 }
2080
2081
2082
2083
2084 pub fn set_seniority(&mut self, v: String) {
2086 self.message.body.set_field(tag::SENIORITY, FIXString::from(v));
2087 }
2088
2089 pub fn get_seniority(&self) -> Result<String, MessageRejectErrorEnum> {
2091 let mut fld = field::SeniorityField::new(String::new());
2092 self.message.body.get_field(tag::SENIORITY, &mut fld.0)?;
2093 Ok(fld.value().to_string())
2094 }
2095
2096
2097 pub fn has_seniority(&self) -> bool {
2099 self.message.body.has(tag::SENIORITY)
2100 }
2101
2102
2103
2104
2105 pub fn set_settl_method(&mut self, v: String) {
2107 self.message.body.set_field(tag::SETTL_METHOD, FIXString::from(v));
2108 }
2109
2110 pub fn get_settl_method(&self) -> Result<String, MessageRejectErrorEnum> {
2112 let mut fld = field::SettlMethodField::new(String::new());
2113 self.message.body.get_field(tag::SETTL_METHOD, &mut fld.0)?;
2114 Ok(fld.value().to_string())
2115 }
2116
2117
2118 pub fn has_settl_method(&self) -> bool {
2120 self.message.body.has(tag::SETTL_METHOD)
2121 }
2122
2123
2124
2125
2126 pub fn set_settle_on_open_flag(&mut self, v: String) {
2128 self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
2129 }
2130
2131 pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
2133 let mut fld = field::SettleOnOpenFlagField::new(String::new());
2134 self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
2135 Ok(fld.value().to_string())
2136 }
2137
2138
2139 pub fn has_settle_on_open_flag(&self) -> bool {
2141 self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
2142 }
2143
2144
2145
2146
2147 pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2149 self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2150 }
2151
2152 pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2154 let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2155 self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2156 Ok(fld.value())
2157 }
2158
2159
2160 pub fn has_spread(&self) -> bool {
2162 self.message.body.has(tag::SPREAD)
2163 }
2164
2165
2166
2167
2168 pub fn set_state_or_province_of_issue(&mut self, v: String) {
2170 self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2171 }
2172
2173 pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2175 let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2176 self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2177 Ok(fld.value().to_string())
2178 }
2179
2180
2181 pub fn has_state_or_province_of_issue(&self) -> bool {
2183 self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2184 }
2185
2186
2187
2188
2189 pub fn set_strike_currency(&mut self, v: String) {
2191 self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2192 }
2193
2194 pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2196 let mut fld = field::StrikeCurrencyField::new(String::new());
2197 self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2198 Ok(fld.value().to_string())
2199 }
2200
2201
2202 pub fn has_strike_currency(&self) -> bool {
2204 self.message.body.has(tag::STRIKE_CURRENCY)
2205 }
2206
2207
2208
2209
2210 pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
2212 self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2213 }
2214
2215 pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2217 let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
2218 self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
2219 Ok(fld.value())
2220 }
2221
2222
2223 pub fn has_strike_multiplier(&self) -> bool {
2225 self.message.body.has(tag::STRIKE_MULTIPLIER)
2226 }
2227
2228
2229
2230
2231 pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2233 self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2234 }
2235
2236 pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2238 let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2239 self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2240 Ok(fld.value())
2241 }
2242
2243
2244 pub fn has_strike_price(&self) -> bool {
2246 self.message.body.has(tag::STRIKE_PRICE)
2247 }
2248
2249
2250
2251
2252 pub fn set_strike_price_boundary_method(&mut self, v: isize) {
2254 self.message.body.set_field(tag::STRIKE_PRICE_BOUNDARY_METHOD, fixer::fix_int::FIXInt::from(v));
2255 }
2256
2257 pub fn get_strike_price_boundary_method(&self) -> Result<isize, MessageRejectErrorEnum> {
2259 let mut fld = field::StrikePriceBoundaryMethodField::new(0);
2260 self.message.body.get_field(tag::STRIKE_PRICE_BOUNDARY_METHOD, &mut fld.0)?;
2261 Ok(fld.value())
2262 }
2263
2264
2265 pub fn has_strike_price_boundary_method(&self) -> bool {
2267 self.message.body.has(tag::STRIKE_PRICE_BOUNDARY_METHOD)
2268 }
2269
2270
2271
2272
2273 pub fn set_strike_price_boundary_precision(&mut self, val: Decimal, scale: i32) {
2275 self.message.body.set_field(tag::STRIKE_PRICE_BOUNDARY_PRECISION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2276 }
2277
2278 pub fn get_strike_price_boundary_precision(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2280 let mut fld = field::StrikePriceBoundaryPrecisionField::new(Decimal::ZERO, 0);
2281 self.message.body.get_field(tag::STRIKE_PRICE_BOUNDARY_PRECISION, &mut fld.0)?;
2282 Ok(fld.value())
2283 }
2284
2285
2286 pub fn has_strike_price_boundary_precision(&self) -> bool {
2288 self.message.body.has(tag::STRIKE_PRICE_BOUNDARY_PRECISION)
2289 }
2290
2291
2292
2293
2294 pub fn set_strike_price_determination_method(&mut self, v: isize) {
2296 self.message.body.set_field(tag::STRIKE_PRICE_DETERMINATION_METHOD, fixer::fix_int::FIXInt::from(v));
2297 }
2298
2299 pub fn get_strike_price_determination_method(&self) -> Result<isize, MessageRejectErrorEnum> {
2301 let mut fld = field::StrikePriceDeterminationMethodField::new(0);
2302 self.message.body.get_field(tag::STRIKE_PRICE_DETERMINATION_METHOD, &mut fld.0)?;
2303 Ok(fld.value())
2304 }
2305
2306
2307 pub fn has_strike_price_determination_method(&self) -> bool {
2309 self.message.body.has(tag::STRIKE_PRICE_DETERMINATION_METHOD)
2310 }
2311
2312
2313
2314
2315 pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2317 self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2318 }
2319
2320 pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2322 let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2323 self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2324 Ok(fld.value())
2325 }
2326
2327
2328 pub fn has_strike_value(&self) -> bool {
2330 self.message.body.has(tag::STRIKE_VALUE)
2331 }
2332
2333
2334
2335
2336 pub fn set_symbol(&mut self, v: String) {
2338 self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2339 }
2340
2341 pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2343 let mut fld = field::SymbolField::new(String::new());
2344 self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2345 Ok(fld.value().to_string())
2346 }
2347
2348
2349 pub fn has_symbol(&self) -> bool {
2351 self.message.body.has(tag::SYMBOL)
2352 }
2353
2354
2355
2356
2357 pub fn set_symbol_sfx(&mut self, v: String) {
2359 self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2360 }
2361
2362 pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2364 let mut fld = field::SymbolSfxField::new(String::new());
2365 self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2366 Ok(fld.value().to_string())
2367 }
2368
2369
2370 pub fn has_symbol_sfx(&self) -> bool {
2372 self.message.body.has(tag::SYMBOL_SFX)
2373 }
2374
2375
2376
2377
2378 pub fn set_text(&mut self, v: String) {
2380 self.message.body.set_field(tag::TEXT, FIXString::from(v));
2381 }
2382
2383 pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2385 let mut fld = field::TextField::new(String::new());
2386 self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2387 Ok(fld.value().to_string())
2388 }
2389
2390
2391 pub fn has_text(&self) -> bool {
2393 self.message.body.has(tag::TEXT)
2394 }
2395
2396
2397
2398
2399 pub fn set_time_unit(&mut self, v: String) {
2401 self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
2402 }
2403
2404 pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
2406 let mut fld = field::TimeUnitField::new(String::new());
2407 self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
2408 Ok(fld.value().to_string())
2409 }
2410
2411
2412 pub fn has_time_unit(&self) -> bool {
2414 self.message.body.has(tag::TIME_UNIT)
2415 }
2416
2417
2418
2419
2420 pub fn set_transact_time(&mut self, v: Timestamp) {
2422 self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2423 time: v,
2424 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2425 });
2426 }
2427
2428 pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2430 let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
2431 self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
2432 Ok(fld.value())
2433 }
2434
2435
2436 pub fn has_transact_time(&self) -> bool {
2438 self.message.body.has(tag::TRANSACT_TIME)
2439 }
2440
2441
2442
2443
2444 pub fn set_underlying_price_determination_method(&mut self, v: isize) {
2446 self.message.body.set_field(tag::UNDERLYING_PRICE_DETERMINATION_METHOD, fixer::fix_int::FIXInt::from(v));
2447 }
2448
2449 pub fn get_underlying_price_determination_method(&self) -> Result<isize, MessageRejectErrorEnum> {
2451 let mut fld = field::UnderlyingPriceDeterminationMethodField::new(0);
2452 self.message.body.get_field(tag::UNDERLYING_PRICE_DETERMINATION_METHOD, &mut fld.0)?;
2453 Ok(fld.value())
2454 }
2455
2456
2457 pub fn has_underlying_price_determination_method(&self) -> bool {
2459 self.message.body.has(tag::UNDERLYING_PRICE_DETERMINATION_METHOD)
2460 }
2461
2462
2463
2464
2465 pub fn set_unit_of_measure(&mut self, v: String) {
2467 self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
2468 }
2469
2470 pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
2472 let mut fld = field::UnitOfMeasureField::new(String::new());
2473 self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
2474 Ok(fld.value().to_string())
2475 }
2476
2477
2478 pub fn has_unit_of_measure(&self) -> bool {
2480 self.message.body.has(tag::UNIT_OF_MEASURE)
2481 }
2482
2483
2484
2485
2486 pub fn set_unit_of_measure_qty(&mut self, val: Decimal, scale: i32) {
2488 self.message.body.set_field(tag::UNIT_OF_MEASURE_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2489 }
2490
2491 pub fn get_unit_of_measure_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2493 let mut fld = field::UnitOfMeasureQtyField::new(Decimal::ZERO, 0);
2494 self.message.body.get_field(tag::UNIT_OF_MEASURE_QTY, &mut fld.0)?;
2495 Ok(fld.value())
2496 }
2497
2498
2499 pub fn has_unit_of_measure_qty(&self) -> bool {
2501 self.message.body.has(tag::UNIT_OF_MEASURE_QTY)
2502 }
2503
2504
2505
2506
2507 pub fn set_valuation_method(&mut self, v: String) {
2509 self.message.body.set_field(tag::VALUATION_METHOD, FIXString::from(v));
2510 }
2511
2512 pub fn get_valuation_method(&self) -> Result<String, MessageRejectErrorEnum> {
2514 let mut fld = field::ValuationMethodField::new(String::new());
2515 self.message.body.get_field(tag::VALUATION_METHOD, &mut fld.0)?;
2516 Ok(fld.value().to_string())
2517 }
2518
2519
2520 pub fn has_valuation_method(&self) -> bool {
2522 self.message.body.has(tag::VALUATION_METHOD)
2523 }
2524
2525
2526
2527
2528 pub fn set_yield(&mut self, val: Decimal, scale: i32) {
2530 self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2531 }
2532
2533 pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2535 let mut fld = field::YieldField::new(Decimal::ZERO, 0);
2536 self.message.body.get_field(tag::YIELD, &mut fld.0)?;
2537 Ok(fld.value())
2538 }
2539
2540
2541 pub fn has_yield(&self) -> bool {
2543 self.message.body.has(tag::YIELD)
2544 }
2545
2546
2547
2548
2549 pub fn set_yield_calc_date(&mut self, v: String) {
2551 self.message.body.set_field(tag::YIELD_CALC_DATE, FIXString::from(v));
2552 }
2553
2554 pub fn get_yield_calc_date(&self) -> Result<String, MessageRejectErrorEnum> {
2556 let mut fld = field::YieldCalcDateField::new(String::new());
2557 self.message.body.get_field(tag::YIELD_CALC_DATE, &mut fld.0)?;
2558 Ok(fld.value().to_string())
2559 }
2560
2561
2562 pub fn has_yield_calc_date(&self) -> bool {
2564 self.message.body.has(tag::YIELD_CALC_DATE)
2565 }
2566
2567
2568
2569
2570 pub fn set_yield_redemption_date(&mut self, v: String) {
2572 self.message.body.set_field(tag::YIELD_REDEMPTION_DATE, FIXString::from(v));
2573 }
2574
2575 pub fn get_yield_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2577 let mut fld = field::YieldRedemptionDateField::new(String::new());
2578 self.message.body.get_field(tag::YIELD_REDEMPTION_DATE, &mut fld.0)?;
2579 Ok(fld.value().to_string())
2580 }
2581
2582
2583 pub fn has_yield_redemption_date(&self) -> bool {
2585 self.message.body.has(tag::YIELD_REDEMPTION_DATE)
2586 }
2587
2588
2589
2590
2591 pub fn set_yield_redemption_price(&mut self, val: Decimal, scale: i32) {
2593 self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2594 }
2595
2596 pub fn get_yield_redemption_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2598 let mut fld = field::YieldRedemptionPriceField::new(Decimal::ZERO, 0);
2599 self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE, &mut fld.0)?;
2600 Ok(fld.value())
2601 }
2602
2603
2604 pub fn has_yield_redemption_price(&self) -> bool {
2606 self.message.body.has(tag::YIELD_REDEMPTION_PRICE)
2607 }
2608
2609
2610
2611
2612 pub fn set_yield_redemption_price_type(&mut self, v: isize) {
2614 self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
2615 }
2616
2617 pub fn get_yield_redemption_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2619 let mut fld = field::YieldRedemptionPriceTypeField::new(0);
2620 self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE_TYPE, &mut fld.0)?;
2621 Ok(fld.value())
2622 }
2623
2624
2625 pub fn has_yield_redemption_price_type(&self) -> bool {
2627 self.message.body.has(tag::YIELD_REDEMPTION_PRICE_TYPE)
2628 }
2629
2630
2631
2632
2633 pub fn set_yield_type(&mut self, v: String) {
2635 self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
2636 }
2637
2638 pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
2640 let mut fld = field::YieldTypeField::new(String::new());
2641 self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
2642 Ok(fld.value().to_string())
2643 }
2644
2645
2646 pub fn has_yield_type(&self) -> bool {
2648 self.message.body.has(tag::YIELD_TYPE)
2649 }
2650
2651
2652}
2653
2654pub type RouteOut = fn(msg: SecurityDefinition, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
2656
2657pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
2659
2660pub fn route(router: RouteOut) -> Route {
2662 let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
2663 router(SecurityDefinition::from_message(msg.clone()), session_id)
2664 };
2665 ("9", "d", Box::new(r))
2666}