Skip to main content

fixer_fix/fix50/
quote_status_report.rs

1// Code generated by fixer-gen. DO NOT EDIT.
2#![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
20/// `QuoteStatusReport` is the `fix50` `QuoteStatusReport` type, `MsgType` = AI.
21pub struct QuoteStatusReport {
22    pub message: Message,
23}
24
25impl QuoteStatusReport {
26    /// Creates a new `QuoteStatusReport` with required fields.
27    pub fn new(quote_id: field::QuoteIDField) -> Self {
28        let mut msg = Message::new();
29        msg.header.set_field(tag::MSG_TYPE, FIXString::from("AI".to_string()));
30
31        msg.body.set_field(tag::QUOTE_ID, quote_id.0);
32
33        Self { message: msg }
34    }
35
36    /// Creates a `QuoteStatusReport` from an existing `Message`.
37    pub fn from_message(msg: Message) -> Self {
38        Self { message: msg }
39    }
40
41    /// Returns the underlying `Message`.
42    pub fn to_message(self) -> Message {
43        self.message
44    }
45
46
47
48
49    /// Sets `Account`, Tag 1.
50    pub fn set_account(&mut self, v: String) {
51        self.message.body.set_field(tag::ACCOUNT, FIXString::from(v));
52    }
53
54    /// Gets `Account`, Tag 1.
55    pub fn get_account(&self) -> Result<String, MessageRejectErrorEnum> {
56        let mut fld = field::AccountField::new(String::new());
57        self.message.body.get_field(tag::ACCOUNT, &mut fld.0)?;
58        Ok(fld.value().to_string())
59    }
60
61
62    /// Returns true if `Account` is present, Tag 1.
63    pub fn has_account(&self) -> bool {
64        self.message.body.has(tag::ACCOUNT)
65    }
66
67
68
69
70    /// Sets `AccountType`, Tag 581.
71    pub fn set_account_type(&mut self, v: isize) {
72        self.message.body.set_field(tag::ACCOUNT_TYPE, fixer::fix_int::FIXInt::from(v));
73    }
74
75    /// Gets `AccountType`, Tag 581.
76    pub fn get_account_type(&self) -> Result<isize, MessageRejectErrorEnum> {
77        let mut fld = field::AccountTypeField::new(0);
78        self.message.body.get_field(tag::ACCOUNT_TYPE, &mut fld.0)?;
79        Ok(fld.value())
80    }
81
82
83    /// Returns true if `AccountType` is present, Tag 581.
84    pub fn has_account_type(&self) -> bool {
85        self.message.body.has(tag::ACCOUNT_TYPE)
86    }
87
88
89
90
91    /// Sets `AcctIDSource`, Tag 660.
92    pub fn set_acct_id_source(&mut self, v: isize) {
93        self.message.body.set_field(tag::ACCT_ID_SOURCE, fixer::fix_int::FIXInt::from(v));
94    }
95
96    /// Gets `AcctIDSource`, Tag 660.
97    pub fn get_acct_id_source(&self) -> Result<isize, MessageRejectErrorEnum> {
98        let mut fld = field::AcctIDSourceField::new(0);
99        self.message.body.get_field(tag::ACCT_ID_SOURCE, &mut fld.0)?;
100        Ok(fld.value())
101    }
102
103
104    /// Returns true if `AcctIDSource` is present, Tag 660.
105    pub fn has_acct_id_source(&self) -> bool {
106        self.message.body.has(tag::ACCT_ID_SOURCE)
107    }
108
109
110
111
112    /// Sets `AgreementCurrency`, Tag 918.
113    pub fn set_agreement_currency(&mut self, v: String) {
114        self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
115    }
116
117    /// Gets `AgreementCurrency`, Tag 918.
118    pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
119        let mut fld = field::AgreementCurrencyField::new(String::new());
120        self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
121        Ok(fld.value().to_string())
122    }
123
124
125    /// Returns true if `AgreementCurrency` is present, Tag 918.
126    pub fn has_agreement_currency(&self) -> bool {
127        self.message.body.has(tag::AGREEMENT_CURRENCY)
128    }
129
130
131
132
133    /// Sets `AgreementDate`, Tag 915.
134    pub fn set_agreement_date(&mut self, v: String) {
135        self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
136    }
137
138    /// Gets `AgreementDate`, Tag 915.
139    pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
140        let mut fld = field::AgreementDateField::new(String::new());
141        self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
142        Ok(fld.value().to_string())
143    }
144
145
146    /// Returns true if `AgreementDate` is present, Tag 915.
147    pub fn has_agreement_date(&self) -> bool {
148        self.message.body.has(tag::AGREEMENT_DATE)
149    }
150
151
152
153
154    /// Sets `AgreementDesc`, Tag 913.
155    pub fn set_agreement_desc(&mut self, v: String) {
156        self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
157    }
158
159    /// Gets `AgreementDesc`, Tag 913.
160    pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
161        let mut fld = field::AgreementDescField::new(String::new());
162        self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
163        Ok(fld.value().to_string())
164    }
165
166
167    /// Returns true if `AgreementDesc` is present, Tag 913.
168    pub fn has_agreement_desc(&self) -> bool {
169        self.message.body.has(tag::AGREEMENT_DESC)
170    }
171
172
173
174
175    /// Sets `AgreementID`, Tag 914.
176    pub fn set_agreement_id(&mut self, v: String) {
177        self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
178    }
179
180    /// Gets `AgreementID`, Tag 914.
181    pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
182        let mut fld = field::AgreementIDField::new(String::new());
183        self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
184        Ok(fld.value().to_string())
185    }
186
187
188    /// Returns true if `AgreementID` is present, Tag 914.
189    pub fn has_agreement_id(&self) -> bool {
190        self.message.body.has(tag::AGREEMENT_ID)
191    }
192
193
194
195
196    /// Sets `BenchmarkCurveCurrency`, Tag 220.
197    pub fn set_benchmark_curve_currency(&mut self, v: String) {
198        self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
199    }
200
201    /// Gets `BenchmarkCurveCurrency`, Tag 220.
202    pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
203        let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
204        self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
205        Ok(fld.value().to_string())
206    }
207
208
209    /// Returns true if `BenchmarkCurveCurrency` is present, Tag 220.
210    pub fn has_benchmark_curve_currency(&self) -> bool {
211        self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
212    }
213
214
215
216
217    /// Sets `BenchmarkCurveName`, Tag 221.
218    pub fn set_benchmark_curve_name(&mut self, v: String) {
219        self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
220    }
221
222    /// Gets `BenchmarkCurveName`, Tag 221.
223    pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
224        let mut fld = field::BenchmarkCurveNameField::new(String::new());
225        self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
226        Ok(fld.value().to_string())
227    }
228
229
230    /// Returns true if `BenchmarkCurveName` is present, Tag 221.
231    pub fn has_benchmark_curve_name(&self) -> bool {
232        self.message.body.has(tag::BENCHMARK_CURVE_NAME)
233    }
234
235
236
237
238    /// Sets `BenchmarkCurvePoint`, Tag 222.
239    pub fn set_benchmark_curve_point(&mut self, v: String) {
240        self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
241    }
242
243    /// Gets `BenchmarkCurvePoint`, Tag 222.
244    pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
245        let mut fld = field::BenchmarkCurvePointField::new(String::new());
246        self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
247        Ok(fld.value().to_string())
248    }
249
250
251    /// Returns true if `BenchmarkCurvePoint` is present, Tag 222.
252    pub fn has_benchmark_curve_point(&self) -> bool {
253        self.message.body.has(tag::BENCHMARK_CURVE_POINT)
254    }
255
256
257
258
259    /// Sets `BenchmarkPrice`, Tag 662.
260    pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
261        self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
262    }
263
264    /// Gets `BenchmarkPrice`, Tag 662.
265    pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
266        let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
267        self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
268        Ok(fld.value())
269    }
270
271
272    /// Returns true if `BenchmarkPrice` is present, Tag 662.
273    pub fn has_benchmark_price(&self) -> bool {
274        self.message.body.has(tag::BENCHMARK_PRICE)
275    }
276
277
278
279
280    /// Sets `BenchmarkPriceType`, Tag 663.
281    pub fn set_benchmark_price_type(&mut self, v: isize) {
282        self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
283    }
284
285    /// Gets `BenchmarkPriceType`, Tag 663.
286    pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
287        let mut fld = field::BenchmarkPriceTypeField::new(0);
288        self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
289        Ok(fld.value())
290    }
291
292
293    /// Returns true if `BenchmarkPriceType` is present, Tag 663.
294    pub fn has_benchmark_price_type(&self) -> bool {
295        self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
296    }
297
298
299
300
301    /// Sets `BenchmarkSecurityID`, Tag 699.
302    pub fn set_benchmark_security_id(&mut self, v: String) {
303        self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
304    }
305
306    /// Gets `BenchmarkSecurityID`, Tag 699.
307    pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
308        let mut fld = field::BenchmarkSecurityIDField::new(String::new());
309        self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
310        Ok(fld.value().to_string())
311    }
312
313
314    /// Returns true if `BenchmarkSecurityID` is present, Tag 699.
315    pub fn has_benchmark_security_id(&self) -> bool {
316        self.message.body.has(tag::BENCHMARK_SECURITY_ID)
317    }
318
319
320
321
322    /// Sets `BenchmarkSecurityIDSource`, Tag 761.
323    pub fn set_benchmark_security_id_source(&mut self, v: String) {
324        self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
325    }
326
327    /// Gets `BenchmarkSecurityIDSource`, Tag 761.
328    pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
329        let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
330        self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
331        Ok(fld.value().to_string())
332    }
333
334
335    /// Returns true if `BenchmarkSecurityIDSource` is present, Tag 761.
336    pub fn has_benchmark_security_id_source(&self) -> bool {
337        self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
338    }
339
340
341
342
343    /// Sets `BidForwardPoints`, Tag 189.
344    pub fn set_bid_forward_points(&mut self, val: Decimal, scale: i32) {
345        self.message.body.set_field(tag::BID_FORWARD_POINTS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
346    }
347
348    /// Gets `BidForwardPoints`, Tag 189.
349    pub fn get_bid_forward_points(&self) -> Result<Decimal, MessageRejectErrorEnum> {
350        let mut fld = field::BidForwardPointsField::new(Decimal::ZERO, 0);
351        self.message.body.get_field(tag::BID_FORWARD_POINTS, &mut fld.0)?;
352        Ok(fld.value())
353    }
354
355
356    /// Returns true if `BidForwardPoints` is present, Tag 189.
357    pub fn has_bid_forward_points(&self) -> bool {
358        self.message.body.has(tag::BID_FORWARD_POINTS)
359    }
360
361
362
363
364    /// Sets `BidForwardPoints2`, Tag 642.
365    pub fn set_bid_forward_points2(&mut self, val: Decimal, scale: i32) {
366        self.message.body.set_field(tag::BID_FORWARD_POINTS2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
367    }
368
369    /// Gets `BidForwardPoints2`, Tag 642.
370    pub fn get_bid_forward_points2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
371        let mut fld = field::BidForwardPoints2Field::new(Decimal::ZERO, 0);
372        self.message.body.get_field(tag::BID_FORWARD_POINTS2, &mut fld.0)?;
373        Ok(fld.value())
374    }
375
376
377    /// Returns true if `BidForwardPoints2` is present, Tag 642.
378    pub fn has_bid_forward_points2(&self) -> bool {
379        self.message.body.has(tag::BID_FORWARD_POINTS2)
380    }
381
382
383
384
385    /// Sets `BidPx`, Tag 132.
386    pub fn set_bid_px(&mut self, val: Decimal, scale: i32) {
387        self.message.body.set_field(tag::BID_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
388    }
389
390    /// Gets `BidPx`, Tag 132.
391    pub fn get_bid_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
392        let mut fld = field::BidPxField::new(Decimal::ZERO, 0);
393        self.message.body.get_field(tag::BID_PX, &mut fld.0)?;
394        Ok(fld.value())
395    }
396
397
398    /// Returns true if `BidPx` is present, Tag 132.
399    pub fn has_bid_px(&self) -> bool {
400        self.message.body.has(tag::BID_PX)
401    }
402
403
404
405
406    /// Sets `BidSize`, Tag 134.
407    pub fn set_bid_size(&mut self, val: Decimal, scale: i32) {
408        self.message.body.set_field(tag::BID_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
409    }
410
411    /// Gets `BidSize`, Tag 134.
412    pub fn get_bid_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
413        let mut fld = field::BidSizeField::new(Decimal::ZERO, 0);
414        self.message.body.get_field(tag::BID_SIZE, &mut fld.0)?;
415        Ok(fld.value())
416    }
417
418
419    /// Returns true if `BidSize` is present, Tag 134.
420    pub fn has_bid_size(&self) -> bool {
421        self.message.body.has(tag::BID_SIZE)
422    }
423
424
425
426
427    /// Sets `BidSpotRate`, Tag 188.
428    pub fn set_bid_spot_rate(&mut self, val: Decimal, scale: i32) {
429        self.message.body.set_field(tag::BID_SPOT_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
430    }
431
432    /// Gets `BidSpotRate`, Tag 188.
433    pub fn get_bid_spot_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
434        let mut fld = field::BidSpotRateField::new(Decimal::ZERO, 0);
435        self.message.body.get_field(tag::BID_SPOT_RATE, &mut fld.0)?;
436        Ok(fld.value())
437    }
438
439
440    /// Returns true if `BidSpotRate` is present, Tag 188.
441    pub fn has_bid_spot_rate(&self) -> bool {
442        self.message.body.has(tag::BID_SPOT_RATE)
443    }
444
445
446
447
448    /// Sets `BidYield`, Tag 632.
449    pub fn set_bid_yield(&mut self, val: Decimal, scale: i32) {
450        self.message.body.set_field(tag::BID_YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
451    }
452
453    /// Gets `BidYield`, Tag 632.
454    pub fn get_bid_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
455        let mut fld = field::BidYieldField::new(Decimal::ZERO, 0);
456        self.message.body.get_field(tag::BID_YIELD, &mut fld.0)?;
457        Ok(fld.value())
458    }
459
460
461    /// Returns true if `BidYield` is present, Tag 632.
462    pub fn has_bid_yield(&self) -> bool {
463        self.message.body.has(tag::BID_YIELD)
464    }
465
466
467
468
469    /// Sets `CFICode`, Tag 461.
470    pub fn set_cfi_code(&mut self, v: String) {
471        self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
472    }
473
474    /// Gets `CFICode`, Tag 461.
475    pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
476        let mut fld = field::CFICodeField::new(String::new());
477        self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
478        Ok(fld.value().to_string())
479    }
480
481
482    /// Returns true if `CFICode` is present, Tag 461.
483    pub fn has_cfi_code(&self) -> bool {
484        self.message.body.has(tag::CFI_CODE)
485    }
486
487
488
489
490    /// Sets `CPProgram`, Tag 875.
491    pub fn set_cp_program(&mut self, v: isize) {
492        self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
493    }
494
495    /// Gets `CPProgram`, Tag 875.
496    pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
497        let mut fld = field::CPProgramField::new(0);
498        self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
499        Ok(fld.value())
500    }
501
502
503    /// Returns true if `CPProgram` is present, Tag 875.
504    pub fn has_cp_program(&self) -> bool {
505        self.message.body.has(tag::CP_PROGRAM)
506    }
507
508
509
510
511    /// Sets `CPRegType`, Tag 876.
512    pub fn set_cp_reg_type(&mut self, v: String) {
513        self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
514    }
515
516    /// Gets `CPRegType`, Tag 876.
517    pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
518        let mut fld = field::CPRegTypeField::new(String::new());
519        self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
520        Ok(fld.value().to_string())
521    }
522
523
524    /// Returns true if `CPRegType` is present, Tag 876.
525    pub fn has_cp_reg_type(&self) -> bool {
526        self.message.body.has(tag::CP_REG_TYPE)
527    }
528
529
530
531
532    /// Sets `CashOrderQty`, Tag 152.
533    pub fn set_cash_order_qty(&mut self, val: Decimal, scale: i32) {
534        self.message.body.set_field(tag::CASH_ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
535    }
536
537    /// Gets `CashOrderQty`, Tag 152.
538    pub fn get_cash_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
539        let mut fld = field::CashOrderQtyField::new(Decimal::ZERO, 0);
540        self.message.body.get_field(tag::CASH_ORDER_QTY, &mut fld.0)?;
541        Ok(fld.value())
542    }
543
544
545    /// Returns true if `CashOrderQty` is present, Tag 152.
546    pub fn has_cash_order_qty(&self) -> bool {
547        self.message.body.has(tag::CASH_ORDER_QTY)
548    }
549
550
551
552
553    /// Sets `CommType`, Tag 13.
554    pub fn set_comm_type(&mut self, v: String) {
555        self.message.body.set_field(tag::COMM_TYPE, FIXString::from(v));
556    }
557
558    /// Gets `CommType`, Tag 13.
559    pub fn get_comm_type(&self) -> Result<String, MessageRejectErrorEnum> {
560        let mut fld = field::CommTypeField::new(String::new());
561        self.message.body.get_field(tag::COMM_TYPE, &mut fld.0)?;
562        Ok(fld.value().to_string())
563    }
564
565
566    /// Returns true if `CommType` is present, Tag 13.
567    pub fn has_comm_type(&self) -> bool {
568        self.message.body.has(tag::COMM_TYPE)
569    }
570
571
572
573
574    /// Sets `Commission`, Tag 12.
575    pub fn set_commission(&mut self, val: Decimal, scale: i32) {
576        self.message.body.set_field(tag::COMMISSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
577    }
578
579    /// Gets `Commission`, Tag 12.
580    pub fn get_commission(&self) -> Result<Decimal, MessageRejectErrorEnum> {
581        let mut fld = field::CommissionField::new(Decimal::ZERO, 0);
582        self.message.body.get_field(tag::COMMISSION, &mut fld.0)?;
583        Ok(fld.value())
584    }
585
586
587    /// Returns true if `Commission` is present, Tag 12.
588    pub fn has_commission(&self) -> bool {
589        self.message.body.has(tag::COMMISSION)
590    }
591
592
593
594
595    /// Sets `ContractMultiplier`, Tag 231.
596    pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
597        self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
598    }
599
600    /// Gets `ContractMultiplier`, Tag 231.
601    pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
602        let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
603        self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
604        Ok(fld.value())
605    }
606
607
608    /// Returns true if `ContractMultiplier` is present, Tag 231.
609    pub fn has_contract_multiplier(&self) -> bool {
610        self.message.body.has(tag::CONTRACT_MULTIPLIER)
611    }
612
613
614
615
616    /// Sets `ContractSettlMonth`, Tag 667.
617    pub fn set_contract_settl_month(&mut self, v: String) {
618        self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
619    }
620
621    /// Gets `ContractSettlMonth`, Tag 667.
622    pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
623        let mut fld = field::ContractSettlMonthField::new(String::new());
624        self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
625        Ok(fld.value().to_string())
626    }
627
628
629    /// Returns true if `ContractSettlMonth` is present, Tag 667.
630    pub fn has_contract_settl_month(&self) -> bool {
631        self.message.body.has(tag::CONTRACT_SETTL_MONTH)
632    }
633
634
635
636
637    /// Sets `CountryOfIssue`, Tag 470.
638    pub fn set_country_of_issue(&mut self, v: String) {
639        self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
640    }
641
642    /// Gets `CountryOfIssue`, Tag 470.
643    pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
644        let mut fld = field::CountryOfIssueField::new(String::new());
645        self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
646        Ok(fld.value().to_string())
647    }
648
649
650    /// Returns true if `CountryOfIssue` is present, Tag 470.
651    pub fn has_country_of_issue(&self) -> bool {
652        self.message.body.has(tag::COUNTRY_OF_ISSUE)
653    }
654
655
656
657
658    /// Sets `CouponPaymentDate`, Tag 224.
659    pub fn set_coupon_payment_date(&mut self, v: String) {
660        self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
661    }
662
663    /// Gets `CouponPaymentDate`, Tag 224.
664    pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
665        let mut fld = field::CouponPaymentDateField::new(String::new());
666        self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
667        Ok(fld.value().to_string())
668    }
669
670
671    /// Returns true if `CouponPaymentDate` is present, Tag 224.
672    pub fn has_coupon_payment_date(&self) -> bool {
673        self.message.body.has(tag::COUPON_PAYMENT_DATE)
674    }
675
676
677
678
679    /// Sets `CouponRate`, Tag 223.
680    pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
681        self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
682    }
683
684    /// Gets `CouponRate`, Tag 223.
685    pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
686        let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
687        self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
688        Ok(fld.value())
689    }
690
691
692    /// Returns true if `CouponRate` is present, Tag 223.
693    pub fn has_coupon_rate(&self) -> bool {
694        self.message.body.has(tag::COUPON_RATE)
695    }
696
697
698
699
700    /// Sets `CreditRating`, Tag 255.
701    pub fn set_credit_rating(&mut self, v: String) {
702        self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
703    }
704
705    /// Gets `CreditRating`, Tag 255.
706    pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
707        let mut fld = field::CreditRatingField::new(String::new());
708        self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
709        Ok(fld.value().to_string())
710    }
711
712
713    /// Returns true if `CreditRating` is present, Tag 255.
714    pub fn has_credit_rating(&self) -> bool {
715        self.message.body.has(tag::CREDIT_RATING)
716    }
717
718
719
720
721    /// Sets `Currency`, Tag 15.
722    pub fn set_currency(&mut self, v: String) {
723        self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
724    }
725
726    /// Gets `Currency`, Tag 15.
727    pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
728        let mut fld = field::CurrencyField::new(String::new());
729        self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
730        Ok(fld.value().to_string())
731    }
732
733
734    /// Returns true if `Currency` is present, Tag 15.
735    pub fn has_currency(&self) -> bool {
736        self.message.body.has(tag::CURRENCY)
737    }
738
739
740
741
742    /// Sets `CustOrderCapacity`, Tag 582.
743    pub fn set_cust_order_capacity(&mut self, v: isize) {
744        self.message.body.set_field(tag::CUST_ORDER_CAPACITY, fixer::fix_int::FIXInt::from(v));
745    }
746
747    /// Gets `CustOrderCapacity`, Tag 582.
748    pub fn get_cust_order_capacity(&self) -> Result<isize, MessageRejectErrorEnum> {
749        let mut fld = field::CustOrderCapacityField::new(0);
750        self.message.body.get_field(tag::CUST_ORDER_CAPACITY, &mut fld.0)?;
751        Ok(fld.value())
752    }
753
754
755    /// Returns true if `CustOrderCapacity` is present, Tag 582.
756    pub fn has_cust_order_capacity(&self) -> bool {
757        self.message.body.has(tag::CUST_ORDER_CAPACITY)
758    }
759
760
761
762
763    /// Sets `DatedDate`, Tag 873.
764    pub fn set_dated_date(&mut self, v: String) {
765        self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
766    }
767
768    /// Gets `DatedDate`, Tag 873.
769    pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
770        let mut fld = field::DatedDateField::new(String::new());
771        self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
772        Ok(fld.value().to_string())
773    }
774
775
776    /// Returns true if `DatedDate` is present, Tag 873.
777    pub fn has_dated_date(&self) -> bool {
778        self.message.body.has(tag::DATED_DATE)
779    }
780
781
782
783
784    /// Sets `DeliveryType`, Tag 919.
785    pub fn set_delivery_type(&mut self, v: isize) {
786        self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
787    }
788
789    /// Gets `DeliveryType`, Tag 919.
790    pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
791        let mut fld = field::DeliveryTypeField::new(0);
792        self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
793        Ok(fld.value())
794    }
795
796
797    /// Returns true if `DeliveryType` is present, Tag 919.
798    pub fn has_delivery_type(&self) -> bool {
799        self.message.body.has(tag::DELIVERY_TYPE)
800    }
801
802
803
804
805    /// Sets `EncodedIssuer`, Tag 349.
806    pub fn set_encoded_issuer(&mut self, v: String) {
807        self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
808    }
809
810    /// Gets `EncodedIssuer`, Tag 349.
811    pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
812        let mut fld = field::EncodedIssuerField::new(String::new());
813        self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
814        Ok(fld.value().to_string())
815    }
816
817
818    /// Returns true if `EncodedIssuer` is present, Tag 349.
819    pub fn has_encoded_issuer(&self) -> bool {
820        self.message.body.has(tag::ENCODED_ISSUER)
821    }
822
823
824
825
826    /// Sets `EncodedIssuerLen`, Tag 348.
827    pub fn set_encoded_issuer_len(&mut self, v: isize) {
828        self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
829    }
830
831    /// Gets `EncodedIssuerLen`, Tag 348.
832    pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
833        let mut fld = field::EncodedIssuerLenField::new(0);
834        self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
835        Ok(fld.value())
836    }
837
838
839    /// Returns true if `EncodedIssuerLen` is present, Tag 348.
840    pub fn has_encoded_issuer_len(&self) -> bool {
841        self.message.body.has(tag::ENCODED_ISSUER_LEN)
842    }
843
844
845
846
847    /// Sets `EncodedSecurityDesc`, Tag 351.
848    pub fn set_encoded_security_desc(&mut self, v: String) {
849        self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
850    }
851
852    /// Gets `EncodedSecurityDesc`, Tag 351.
853    pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
854        let mut fld = field::EncodedSecurityDescField::new(String::new());
855        self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
856        Ok(fld.value().to_string())
857    }
858
859
860    /// Returns true if `EncodedSecurityDesc` is present, Tag 351.
861    pub fn has_encoded_security_desc(&self) -> bool {
862        self.message.body.has(tag::ENCODED_SECURITY_DESC)
863    }
864
865
866
867
868    /// Sets `EncodedSecurityDescLen`, Tag 350.
869    pub fn set_encoded_security_desc_len(&mut self, v: isize) {
870        self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
871    }
872
873    /// Gets `EncodedSecurityDescLen`, Tag 350.
874    pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
875        let mut fld = field::EncodedSecurityDescLenField::new(0);
876        self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
877        Ok(fld.value())
878    }
879
880
881    /// Returns true if `EncodedSecurityDescLen` is present, Tag 350.
882    pub fn has_encoded_security_desc_len(&self) -> bool {
883        self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
884    }
885
886
887
888
889    /// Sets `EncodedText`, Tag 355.
890    pub fn set_encoded_text(&mut self, v: String) {
891        self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
892    }
893
894    /// Gets `EncodedText`, Tag 355.
895    pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
896        let mut fld = field::EncodedTextField::new(String::new());
897        self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
898        Ok(fld.value().to_string())
899    }
900
901
902    /// Returns true if `EncodedText` is present, Tag 355.
903    pub fn has_encoded_text(&self) -> bool {
904        self.message.body.has(tag::ENCODED_TEXT)
905    }
906
907
908
909
910    /// Sets `EncodedTextLen`, Tag 354.
911    pub fn set_encoded_text_len(&mut self, v: isize) {
912        self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
913    }
914
915    /// Gets `EncodedTextLen`, Tag 354.
916    pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
917        let mut fld = field::EncodedTextLenField::new(0);
918        self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
919        Ok(fld.value())
920    }
921
922
923    /// Returns true if `EncodedTextLen` is present, Tag 354.
924    pub fn has_encoded_text_len(&self) -> bool {
925        self.message.body.has(tag::ENCODED_TEXT_LEN)
926    }
927
928
929
930
931    /// Sets `EndDate`, Tag 917.
932    pub fn set_end_date(&mut self, v: String) {
933        self.message.body.set_field(tag::END_DATE, FIXString::from(v));
934    }
935
936    /// Gets `EndDate`, Tag 917.
937    pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
938        let mut fld = field::EndDateField::new(String::new());
939        self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
940        Ok(fld.value().to_string())
941    }
942
943
944    /// Returns true if `EndDate` is present, Tag 917.
945    pub fn has_end_date(&self) -> bool {
946        self.message.body.has(tag::END_DATE)
947    }
948
949
950
951
952    /// Sets `ExDestination`, Tag 100.
953    pub fn set_ex_destination(&mut self, v: String) {
954        self.message.body.set_field(tag::EX_DESTINATION, FIXString::from(v));
955    }
956
957    /// Gets `ExDestination`, Tag 100.
958    pub fn get_ex_destination(&self) -> Result<String, MessageRejectErrorEnum> {
959        let mut fld = field::ExDestinationField::new(String::new());
960        self.message.body.get_field(tag::EX_DESTINATION, &mut fld.0)?;
961        Ok(fld.value().to_string())
962    }
963
964
965    /// Returns true if `ExDestination` is present, Tag 100.
966    pub fn has_ex_destination(&self) -> bool {
967        self.message.body.has(tag::EX_DESTINATION)
968    }
969
970
971
972
973    /// Sets `ExDestinationIDSource`, Tag 1133.
974    pub fn set_ex_destination_id_source(&mut self, v: String) {
975        self.message.body.set_field(tag::EX_DESTINATION_ID_SOURCE, FIXString::from(v));
976    }
977
978    /// Gets `ExDestinationIDSource`, Tag 1133.
979    pub fn get_ex_destination_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
980        let mut fld = field::ExDestinationIDSourceField::new(String::new());
981        self.message.body.get_field(tag::EX_DESTINATION_ID_SOURCE, &mut fld.0)?;
982        Ok(fld.value().to_string())
983    }
984
985
986    /// Returns true if `ExDestinationIDSource` is present, Tag 1133.
987    pub fn has_ex_destination_id_source(&self) -> bool {
988        self.message.body.has(tag::EX_DESTINATION_ID_SOURCE)
989    }
990
991
992
993
994    /// Sets `ExpireTime`, Tag 126.
995    pub fn set_expire_time(&mut self, v: Timestamp) {
996        self.message.body.set_field(tag::EXPIRE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
997            time: v,
998            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
999        });
1000    }
1001
1002    /// Gets `ExpireTime`, Tag 126.
1003    pub fn get_expire_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1004        let mut fld = field::ExpireTimeField::new(Timestamp::UNIX_EPOCH);
1005        self.message.body.get_field(tag::EXPIRE_TIME, &mut fld.0)?;
1006        Ok(fld.value())
1007    }
1008
1009
1010    /// Returns true if `ExpireTime` is present, Tag 126.
1011    pub fn has_expire_time(&self) -> bool {
1012        self.message.body.has(tag::EXPIRE_TIME)
1013    }
1014
1015
1016
1017
1018    /// Sets `Factor`, Tag 228.
1019    pub fn set_factor(&mut self, val: Decimal, scale: i32) {
1020        self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1021    }
1022
1023    /// Gets `Factor`, Tag 228.
1024    pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1025        let mut fld = field::FactorField::new(Decimal::ZERO, 0);
1026        self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
1027        Ok(fld.value())
1028    }
1029
1030
1031    /// Returns true if `Factor` is present, Tag 228.
1032    pub fn has_factor(&self) -> bool {
1033        self.message.body.has(tag::FACTOR)
1034    }
1035
1036
1037
1038
1039    /// Sets `InstrRegistry`, Tag 543.
1040    pub fn set_instr_registry(&mut self, v: String) {
1041        self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
1042    }
1043
1044    /// Gets `InstrRegistry`, Tag 543.
1045    pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1046        let mut fld = field::InstrRegistryField::new(String::new());
1047        self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1048        Ok(fld.value().to_string())
1049    }
1050
1051
1052    /// Returns true if `InstrRegistry` is present, Tag 543.
1053    pub fn has_instr_registry(&self) -> bool {
1054        self.message.body.has(tag::INSTR_REGISTRY)
1055    }
1056
1057
1058
1059
1060    /// Sets `InstrmtAssignmentMethod`, Tag 1049.
1061    pub fn set_instrmt_assignment_method(&mut self, v: String) {
1062        self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
1063    }
1064
1065    /// Gets `InstrmtAssignmentMethod`, Tag 1049.
1066    pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
1067        let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
1068        self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
1069        Ok(fld.value().to_string())
1070    }
1071
1072
1073    /// Returns true if `InstrmtAssignmentMethod` is present, Tag 1049.
1074    pub fn has_instrmt_assignment_method(&self) -> bool {
1075        self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
1076    }
1077
1078
1079
1080
1081    /// Sets `InterestAccrualDate`, Tag 874.
1082    pub fn set_interest_accrual_date(&mut self, v: String) {
1083        self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1084    }
1085
1086    /// Gets `InterestAccrualDate`, Tag 874.
1087    pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1088        let mut fld = field::InterestAccrualDateField::new(String::new());
1089        self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1090        Ok(fld.value().to_string())
1091    }
1092
1093
1094    /// Returns true if `InterestAccrualDate` is present, Tag 874.
1095    pub fn has_interest_accrual_date(&self) -> bool {
1096        self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1097    }
1098
1099
1100
1101
1102    /// Sets `IssueDate`, Tag 225.
1103    pub fn set_issue_date(&mut self, v: String) {
1104        self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1105    }
1106
1107    /// Gets `IssueDate`, Tag 225.
1108    pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1109        let mut fld = field::IssueDateField::new(String::new());
1110        self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1111        Ok(fld.value().to_string())
1112    }
1113
1114
1115    /// Returns true if `IssueDate` is present, Tag 225.
1116    pub fn has_issue_date(&self) -> bool {
1117        self.message.body.has(tag::ISSUE_DATE)
1118    }
1119
1120
1121
1122
1123    /// Sets `Issuer`, Tag 106.
1124    pub fn set_issuer(&mut self, v: String) {
1125        self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1126    }
1127
1128    /// Gets `Issuer`, Tag 106.
1129    pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1130        let mut fld = field::IssuerField::new(String::new());
1131        self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1132        Ok(fld.value().to_string())
1133    }
1134
1135
1136    /// Returns true if `Issuer` is present, Tag 106.
1137    pub fn has_issuer(&self) -> bool {
1138        self.message.body.has(tag::ISSUER)
1139    }
1140
1141
1142
1143
1144    /// Sets `LocaleOfIssue`, Tag 472.
1145    pub fn set_locale_of_issue(&mut self, v: String) {
1146        self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1147    }
1148
1149    /// Gets `LocaleOfIssue`, Tag 472.
1150    pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1151        let mut fld = field::LocaleOfIssueField::new(String::new());
1152        self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1153        Ok(fld.value().to_string())
1154    }
1155
1156
1157    /// Returns true if `LocaleOfIssue` is present, Tag 472.
1158    pub fn has_locale_of_issue(&self) -> bool {
1159        self.message.body.has(tag::LOCALE_OF_ISSUE)
1160    }
1161
1162
1163
1164
1165    /// Sets `MarginRatio`, Tag 898.
1166    pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
1167        self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1168    }
1169
1170    /// Gets `MarginRatio`, Tag 898.
1171    pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1172        let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
1173        self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
1174        Ok(fld.value())
1175    }
1176
1177
1178    /// Returns true if `MarginRatio` is present, Tag 898.
1179    pub fn has_margin_ratio(&self) -> bool {
1180        self.message.body.has(tag::MARGIN_RATIO)
1181    }
1182
1183
1184
1185
1186    /// Sets `MaturityDate`, Tag 541.
1187    pub fn set_maturity_date(&mut self, v: String) {
1188        self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1189    }
1190
1191    /// Gets `MaturityDate`, Tag 541.
1192    pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1193        let mut fld = field::MaturityDateField::new(String::new());
1194        self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1195        Ok(fld.value().to_string())
1196    }
1197
1198
1199    /// Returns true if `MaturityDate` is present, Tag 541.
1200    pub fn has_maturity_date(&self) -> bool {
1201        self.message.body.has(tag::MATURITY_DATE)
1202    }
1203
1204
1205
1206
1207    /// Sets `MaturityMonthYear`, Tag 200.
1208    pub fn set_maturity_month_year(&mut self, v: String) {
1209        self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1210    }
1211
1212    /// Gets `MaturityMonthYear`, Tag 200.
1213    pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1214        let mut fld = field::MaturityMonthYearField::new(String::new());
1215        self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1216        Ok(fld.value().to_string())
1217    }
1218
1219
1220    /// Returns true if `MaturityMonthYear` is present, Tag 200.
1221    pub fn has_maturity_month_year(&self) -> bool {
1222        self.message.body.has(tag::MATURITY_MONTH_YEAR)
1223    }
1224
1225
1226
1227
1228    /// Sets `MaturityTime`, Tag 1079.
1229    pub fn set_maturity_time(&mut self, v: String) {
1230        self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
1231    }
1232
1233    /// Gets `MaturityTime`, Tag 1079.
1234    pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
1235        let mut fld = field::MaturityTimeField::new(String::new());
1236        self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
1237        Ok(fld.value().to_string())
1238    }
1239
1240
1241    /// Returns true if `MaturityTime` is present, Tag 1079.
1242    pub fn has_maturity_time(&self) -> bool {
1243        self.message.body.has(tag::MATURITY_TIME)
1244    }
1245
1246
1247
1248
1249    /// Sets `MidPx`, Tag 631.
1250    pub fn set_mid_px(&mut self, val: Decimal, scale: i32) {
1251        self.message.body.set_field(tag::MID_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1252    }
1253
1254    /// Gets `MidPx`, Tag 631.
1255    pub fn get_mid_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1256        let mut fld = field::MidPxField::new(Decimal::ZERO, 0);
1257        self.message.body.get_field(tag::MID_PX, &mut fld.0)?;
1258        Ok(fld.value())
1259    }
1260
1261
1262    /// Returns true if `MidPx` is present, Tag 631.
1263    pub fn has_mid_px(&self) -> bool {
1264        self.message.body.has(tag::MID_PX)
1265    }
1266
1267
1268
1269
1270    /// Sets `MidYield`, Tag 633.
1271    pub fn set_mid_yield(&mut self, val: Decimal, scale: i32) {
1272        self.message.body.set_field(tag::MID_YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1273    }
1274
1275    /// Gets `MidYield`, Tag 633.
1276    pub fn get_mid_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1277        let mut fld = field::MidYieldField::new(Decimal::ZERO, 0);
1278        self.message.body.get_field(tag::MID_YIELD, &mut fld.0)?;
1279        Ok(fld.value())
1280    }
1281
1282
1283    /// Returns true if `MidYield` is present, Tag 633.
1284    pub fn has_mid_yield(&self) -> bool {
1285        self.message.body.has(tag::MID_YIELD)
1286    }
1287
1288
1289
1290
1291    /// Sets `MinBidSize`, Tag 647.
1292    pub fn set_min_bid_size(&mut self, val: Decimal, scale: i32) {
1293        self.message.body.set_field(tag::MIN_BID_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1294    }
1295
1296    /// Gets `MinBidSize`, Tag 647.
1297    pub fn get_min_bid_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1298        let mut fld = field::MinBidSizeField::new(Decimal::ZERO, 0);
1299        self.message.body.get_field(tag::MIN_BID_SIZE, &mut fld.0)?;
1300        Ok(fld.value())
1301    }
1302
1303
1304    /// Returns true if `MinBidSize` is present, Tag 647.
1305    pub fn has_min_bid_size(&self) -> bool {
1306        self.message.body.has(tag::MIN_BID_SIZE)
1307    }
1308
1309
1310
1311
1312    /// Sets `MinOfferSize`, Tag 648.
1313    pub fn set_min_offer_size(&mut self, val: Decimal, scale: i32) {
1314        self.message.body.set_field(tag::MIN_OFFER_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1315    }
1316
1317    /// Gets `MinOfferSize`, Tag 648.
1318    pub fn get_min_offer_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1319        let mut fld = field::MinOfferSizeField::new(Decimal::ZERO, 0);
1320        self.message.body.get_field(tag::MIN_OFFER_SIZE, &mut fld.0)?;
1321        Ok(fld.value())
1322    }
1323
1324
1325    /// Returns true if `MinOfferSize` is present, Tag 648.
1326    pub fn has_min_offer_size(&self) -> bool {
1327        self.message.body.has(tag::MIN_OFFER_SIZE)
1328    }
1329
1330
1331
1332
1333    /// Sets `MinPriceIncrement`, Tag 969.
1334    pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
1335        self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1336    }
1337
1338    /// Gets `MinPriceIncrement`, Tag 969.
1339    pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1340        let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
1341        self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
1342        Ok(fld.value())
1343    }
1344
1345
1346    /// Returns true if `MinPriceIncrement` is present, Tag 969.
1347    pub fn has_min_price_increment(&self) -> bool {
1348        self.message.body.has(tag::MIN_PRICE_INCREMENT)
1349    }
1350
1351
1352
1353
1354    /// Sets `MktBidPx`, Tag 645.
1355    pub fn set_mkt_bid_px(&mut self, val: Decimal, scale: i32) {
1356        self.message.body.set_field(tag::MKT_BID_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1357    }
1358
1359    /// Gets `MktBidPx`, Tag 645.
1360    pub fn get_mkt_bid_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1361        let mut fld = field::MktBidPxField::new(Decimal::ZERO, 0);
1362        self.message.body.get_field(tag::MKT_BID_PX, &mut fld.0)?;
1363        Ok(fld.value())
1364    }
1365
1366
1367    /// Returns true if `MktBidPx` is present, Tag 645.
1368    pub fn has_mkt_bid_px(&self) -> bool {
1369        self.message.body.has(tag::MKT_BID_PX)
1370    }
1371
1372
1373
1374
1375    /// Sets `MktOfferPx`, Tag 646.
1376    pub fn set_mkt_offer_px(&mut self, val: Decimal, scale: i32) {
1377        self.message.body.set_field(tag::MKT_OFFER_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1378    }
1379
1380    /// Gets `MktOfferPx`, Tag 646.
1381    pub fn get_mkt_offer_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1382        let mut fld = field::MktOfferPxField::new(Decimal::ZERO, 0);
1383        self.message.body.get_field(tag::MKT_OFFER_PX, &mut fld.0)?;
1384        Ok(fld.value())
1385    }
1386
1387
1388    /// Returns true if `MktOfferPx` is present, Tag 646.
1389    pub fn has_mkt_offer_px(&self) -> bool {
1390        self.message.body.has(tag::MKT_OFFER_PX)
1391    }
1392
1393
1394
1395
1396    /// Sets `NTPositionLimit`, Tag 971.
1397    pub fn set_nt_position_limit(&mut self, v: isize) {
1398        self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1399    }
1400
1401    /// Gets `NTPositionLimit`, Tag 971.
1402    pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1403        let mut fld = field::NTPositionLimitField::new(0);
1404        self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
1405        Ok(fld.value())
1406    }
1407
1408
1409    /// Returns true if `NTPositionLimit` is present, Tag 971.
1410    pub fn has_nt_position_limit(&self) -> bool {
1411        self.message.body.has(tag::NT_POSITION_LIMIT)
1412    }
1413
1414
1415
1416
1417    /// Sets `NoEvents`, Tag 864.
1418    pub fn set_no_events(&mut self, v: isize) {
1419        self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1420    }
1421
1422    /// Gets `NoEvents`, Tag 864.
1423    pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1424        let mut fld = field::NoEventsField::new(0);
1425        self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1426        Ok(fld.value())
1427    }
1428
1429
1430    /// Returns true if `NoEvents` is present, Tag 864.
1431    pub fn has_no_events(&self) -> bool {
1432        self.message.body.has(tag::NO_EVENTS)
1433    }
1434
1435
1436
1437
1438    /// Sets `NoInstrumentParties`, Tag 1018.
1439    pub fn set_no_instrument_parties(&mut self, v: isize) {
1440        self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1441    }
1442
1443    /// Gets `NoInstrumentParties`, Tag 1018.
1444    pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1445        let mut fld = field::NoInstrumentPartiesField::new(0);
1446        self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1447        Ok(fld.value())
1448    }
1449
1450
1451    /// Returns true if `NoInstrumentParties` is present, Tag 1018.
1452    pub fn has_no_instrument_parties(&self) -> bool {
1453        self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1454    }
1455
1456
1457
1458
1459    /// Sets `NoLegs`, Tag 555.
1460    pub fn set_no_legs(&mut self, v: isize) {
1461        self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1462    }
1463
1464    /// Gets `NoLegs`, Tag 555.
1465    pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1466        let mut fld = field::NoLegsField::new(0);
1467        self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1468        Ok(fld.value())
1469    }
1470
1471
1472    /// Returns true if `NoLegs` is present, Tag 555.
1473    pub fn has_no_legs(&self) -> bool {
1474        self.message.body.has(tag::NO_LEGS)
1475    }
1476
1477
1478
1479
1480    /// Sets `NoPartyIDs`, Tag 453.
1481    pub fn set_no_party_i_ds(&mut self, v: isize) {
1482        self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1483    }
1484
1485    /// Gets `NoPartyIDs`, Tag 453.
1486    pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1487        let mut fld = field::NoPartyIDsField::new(0);
1488        self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1489        Ok(fld.value())
1490    }
1491
1492
1493    /// Returns true if `NoPartyIDs` is present, Tag 453.
1494    pub fn has_no_party_i_ds(&self) -> bool {
1495        self.message.body.has(tag::NO_PARTY_I_DS)
1496    }
1497
1498
1499
1500
1501    /// Sets `NoQuoteQualifiers`, Tag 735.
1502    pub fn set_no_quote_qualifiers(&mut self, v: isize) {
1503        self.message.body.set_field(tag::NO_QUOTE_QUALIFIERS, fixer::fix_int::FIXInt::from(v));
1504    }
1505
1506    /// Gets `NoQuoteQualifiers`, Tag 735.
1507    pub fn get_no_quote_qualifiers(&self) -> Result<isize, MessageRejectErrorEnum> {
1508        let mut fld = field::NoQuoteQualifiersField::new(0);
1509        self.message.body.get_field(tag::NO_QUOTE_QUALIFIERS, &mut fld.0)?;
1510        Ok(fld.value())
1511    }
1512
1513
1514    /// Returns true if `NoQuoteQualifiers` is present, Tag 735.
1515    pub fn has_no_quote_qualifiers(&self) -> bool {
1516        self.message.body.has(tag::NO_QUOTE_QUALIFIERS)
1517    }
1518
1519
1520
1521
1522    /// Sets `NoSecurityAltID`, Tag 454.
1523    pub fn set_no_security_alt_id(&mut self, v: isize) {
1524        self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1525    }
1526
1527    /// Gets `NoSecurityAltID`, Tag 454.
1528    pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1529        let mut fld = field::NoSecurityAltIDField::new(0);
1530        self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1531        Ok(fld.value())
1532    }
1533
1534
1535    /// Returns true if `NoSecurityAltID` is present, Tag 454.
1536    pub fn has_no_security_alt_id(&self) -> bool {
1537        self.message.body.has(tag::NO_SECURITY_ALT_ID)
1538    }
1539
1540
1541
1542
1543    /// Sets `NoStipulations`, Tag 232.
1544    pub fn set_no_stipulations(&mut self, v: isize) {
1545        self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1546    }
1547
1548    /// Gets `NoStipulations`, Tag 232.
1549    pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1550        let mut fld = field::NoStipulationsField::new(0);
1551        self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1552        Ok(fld.value())
1553    }
1554
1555
1556    /// Returns true if `NoStipulations` is present, Tag 232.
1557    pub fn has_no_stipulations(&self) -> bool {
1558        self.message.body.has(tag::NO_STIPULATIONS)
1559    }
1560
1561
1562
1563
1564    /// Sets `NoUnderlyings`, Tag 711.
1565    pub fn set_no_underlyings(&mut self, v: isize) {
1566        self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1567    }
1568
1569    /// Gets `NoUnderlyings`, Tag 711.
1570    pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1571        let mut fld = field::NoUnderlyingsField::new(0);
1572        self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1573        Ok(fld.value())
1574    }
1575
1576
1577    /// Returns true if `NoUnderlyings` is present, Tag 711.
1578    pub fn has_no_underlyings(&self) -> bool {
1579        self.message.body.has(tag::NO_UNDERLYINGS)
1580    }
1581
1582
1583
1584
1585    /// Sets `OfferForwardPoints`, Tag 191.
1586    pub fn set_offer_forward_points(&mut self, val: Decimal, scale: i32) {
1587        self.message.body.set_field(tag::OFFER_FORWARD_POINTS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1588    }
1589
1590    /// Gets `OfferForwardPoints`, Tag 191.
1591    pub fn get_offer_forward_points(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1592        let mut fld = field::OfferForwardPointsField::new(Decimal::ZERO, 0);
1593        self.message.body.get_field(tag::OFFER_FORWARD_POINTS, &mut fld.0)?;
1594        Ok(fld.value())
1595    }
1596
1597
1598    /// Returns true if `OfferForwardPoints` is present, Tag 191.
1599    pub fn has_offer_forward_points(&self) -> bool {
1600        self.message.body.has(tag::OFFER_FORWARD_POINTS)
1601    }
1602
1603
1604
1605
1606    /// Sets `OfferForwardPoints2`, Tag 643.
1607    pub fn set_offer_forward_points2(&mut self, val: Decimal, scale: i32) {
1608        self.message.body.set_field(tag::OFFER_FORWARD_POINTS2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1609    }
1610
1611    /// Gets `OfferForwardPoints2`, Tag 643.
1612    pub fn get_offer_forward_points2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1613        let mut fld = field::OfferForwardPoints2Field::new(Decimal::ZERO, 0);
1614        self.message.body.get_field(tag::OFFER_FORWARD_POINTS2, &mut fld.0)?;
1615        Ok(fld.value())
1616    }
1617
1618
1619    /// Returns true if `OfferForwardPoints2` is present, Tag 643.
1620    pub fn has_offer_forward_points2(&self) -> bool {
1621        self.message.body.has(tag::OFFER_FORWARD_POINTS2)
1622    }
1623
1624
1625
1626
1627    /// Sets `OfferPx`, Tag 133.
1628    pub fn set_offer_px(&mut self, val: Decimal, scale: i32) {
1629        self.message.body.set_field(tag::OFFER_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1630    }
1631
1632    /// Gets `OfferPx`, Tag 133.
1633    pub fn get_offer_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1634        let mut fld = field::OfferPxField::new(Decimal::ZERO, 0);
1635        self.message.body.get_field(tag::OFFER_PX, &mut fld.0)?;
1636        Ok(fld.value())
1637    }
1638
1639
1640    /// Returns true if `OfferPx` is present, Tag 133.
1641    pub fn has_offer_px(&self) -> bool {
1642        self.message.body.has(tag::OFFER_PX)
1643    }
1644
1645
1646
1647
1648    /// Sets `OfferSize`, Tag 135.
1649    pub fn set_offer_size(&mut self, val: Decimal, scale: i32) {
1650        self.message.body.set_field(tag::OFFER_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1651    }
1652
1653    /// Gets `OfferSize`, Tag 135.
1654    pub fn get_offer_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1655        let mut fld = field::OfferSizeField::new(Decimal::ZERO, 0);
1656        self.message.body.get_field(tag::OFFER_SIZE, &mut fld.0)?;
1657        Ok(fld.value())
1658    }
1659
1660
1661    /// Returns true if `OfferSize` is present, Tag 135.
1662    pub fn has_offer_size(&self) -> bool {
1663        self.message.body.has(tag::OFFER_SIZE)
1664    }
1665
1666
1667
1668
1669    /// Sets `OfferSpotRate`, Tag 190.
1670    pub fn set_offer_spot_rate(&mut self, val: Decimal, scale: i32) {
1671        self.message.body.set_field(tag::OFFER_SPOT_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1672    }
1673
1674    /// Gets `OfferSpotRate`, Tag 190.
1675    pub fn get_offer_spot_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1676        let mut fld = field::OfferSpotRateField::new(Decimal::ZERO, 0);
1677        self.message.body.get_field(tag::OFFER_SPOT_RATE, &mut fld.0)?;
1678        Ok(fld.value())
1679    }
1680
1681
1682    /// Returns true if `OfferSpotRate` is present, Tag 190.
1683    pub fn has_offer_spot_rate(&self) -> bool {
1684        self.message.body.has(tag::OFFER_SPOT_RATE)
1685    }
1686
1687
1688
1689
1690    /// Sets `OfferYield`, Tag 634.
1691    pub fn set_offer_yield(&mut self, val: Decimal, scale: i32) {
1692        self.message.body.set_field(tag::OFFER_YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1693    }
1694
1695    /// Gets `OfferYield`, Tag 634.
1696    pub fn get_offer_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1697        let mut fld = field::OfferYieldField::new(Decimal::ZERO, 0);
1698        self.message.body.get_field(tag::OFFER_YIELD, &mut fld.0)?;
1699        Ok(fld.value())
1700    }
1701
1702
1703    /// Returns true if `OfferYield` is present, Tag 634.
1704    pub fn has_offer_yield(&self) -> bool {
1705        self.message.body.has(tag::OFFER_YIELD)
1706    }
1707
1708
1709
1710
1711    /// Sets `OptAttribute`, Tag 206.
1712    pub fn set_opt_attribute(&mut self, v: String) {
1713        self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1714    }
1715
1716    /// Gets `OptAttribute`, Tag 206.
1717    pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1718        let mut fld = field::OptAttributeField::new(String::new());
1719        self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1720        Ok(fld.value().to_string())
1721    }
1722
1723
1724    /// Returns true if `OptAttribute` is present, Tag 206.
1725    pub fn has_opt_attribute(&self) -> bool {
1726        self.message.body.has(tag::OPT_ATTRIBUTE)
1727    }
1728
1729
1730
1731
1732    /// Sets `OrdType`, Tag 40.
1733    pub fn set_ord_type(&mut self, v: String) {
1734        self.message.body.set_field(tag::ORD_TYPE, FIXString::from(v));
1735    }
1736
1737    /// Gets `OrdType`, Tag 40.
1738    pub fn get_ord_type(&self) -> Result<String, MessageRejectErrorEnum> {
1739        let mut fld = field::OrdTypeField::new(String::new());
1740        self.message.body.get_field(tag::ORD_TYPE, &mut fld.0)?;
1741        Ok(fld.value().to_string())
1742    }
1743
1744
1745    /// Returns true if `OrdType` is present, Tag 40.
1746    pub fn has_ord_type(&self) -> bool {
1747        self.message.body.has(tag::ORD_TYPE)
1748    }
1749
1750
1751
1752
1753    /// Sets `OrderPercent`, Tag 516.
1754    pub fn set_order_percent(&mut self, val: Decimal, scale: i32) {
1755        self.message.body.set_field(tag::ORDER_PERCENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1756    }
1757
1758    /// Gets `OrderPercent`, Tag 516.
1759    pub fn get_order_percent(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1760        let mut fld = field::OrderPercentField::new(Decimal::ZERO, 0);
1761        self.message.body.get_field(tag::ORDER_PERCENT, &mut fld.0)?;
1762        Ok(fld.value())
1763    }
1764
1765
1766    /// Returns true if `OrderPercent` is present, Tag 516.
1767    pub fn has_order_percent(&self) -> bool {
1768        self.message.body.has(tag::ORDER_PERCENT)
1769    }
1770
1771
1772
1773
1774    /// Sets `OrderQty`, Tag 38.
1775    pub fn set_order_qty(&mut self, val: Decimal, scale: i32) {
1776        self.message.body.set_field(tag::ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1777    }
1778
1779    /// Gets `OrderQty`, Tag 38.
1780    pub fn get_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1781        let mut fld = field::OrderQtyField::new(Decimal::ZERO, 0);
1782        self.message.body.get_field(tag::ORDER_QTY, &mut fld.0)?;
1783        Ok(fld.value())
1784    }
1785
1786
1787    /// Returns true if `OrderQty` is present, Tag 38.
1788    pub fn has_order_qty(&self) -> bool {
1789        self.message.body.has(tag::ORDER_QTY)
1790    }
1791
1792
1793
1794
1795    /// Sets `OrderQty2`, Tag 192.
1796    pub fn set_order_qty2(&mut self, val: Decimal, scale: i32) {
1797        self.message.body.set_field(tag::ORDER_QTY2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1798    }
1799
1800    /// Gets `OrderQty2`, Tag 192.
1801    pub fn get_order_qty2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1802        let mut fld = field::OrderQty2Field::new(Decimal::ZERO, 0);
1803        self.message.body.get_field(tag::ORDER_QTY2, &mut fld.0)?;
1804        Ok(fld.value())
1805    }
1806
1807
1808    /// Returns true if `OrderQty2` is present, Tag 192.
1809    pub fn has_order_qty2(&self) -> bool {
1810        self.message.body.has(tag::ORDER_QTY2)
1811    }
1812
1813
1814
1815
1816    /// Sets `Pool`, Tag 691.
1817    pub fn set_pool(&mut self, v: String) {
1818        self.message.body.set_field(tag::POOL, FIXString::from(v));
1819    }
1820
1821    /// Gets `Pool`, Tag 691.
1822    pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1823        let mut fld = field::PoolField::new(String::new());
1824        self.message.body.get_field(tag::POOL, &mut fld.0)?;
1825        Ok(fld.value().to_string())
1826    }
1827
1828
1829    /// Returns true if `Pool` is present, Tag 691.
1830    pub fn has_pool(&self) -> bool {
1831        self.message.body.has(tag::POOL)
1832    }
1833
1834
1835
1836
1837    /// Sets `PositionLimit`, Tag 970.
1838    pub fn set_position_limit(&mut self, v: isize) {
1839        self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1840    }
1841
1842    /// Gets `PositionLimit`, Tag 970.
1843    pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1844        let mut fld = field::PositionLimitField::new(0);
1845        self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
1846        Ok(fld.value())
1847    }
1848
1849
1850    /// Returns true if `PositionLimit` is present, Tag 970.
1851    pub fn has_position_limit(&self) -> bool {
1852        self.message.body.has(tag::POSITION_LIMIT)
1853    }
1854
1855
1856
1857
1858    /// Sets `Price`, Tag 44.
1859    pub fn set_price(&mut self, val: Decimal, scale: i32) {
1860        self.message.body.set_field(tag::PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1861    }
1862
1863    /// Gets `Price`, Tag 44.
1864    pub fn get_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1865        let mut fld = field::PriceField::new(Decimal::ZERO, 0);
1866        self.message.body.get_field(tag::PRICE, &mut fld.0)?;
1867        Ok(fld.value())
1868    }
1869
1870
1871    /// Returns true if `Price` is present, Tag 44.
1872    pub fn has_price(&self) -> bool {
1873        self.message.body.has(tag::PRICE)
1874    }
1875
1876
1877
1878
1879    /// Sets `PriceType`, Tag 423.
1880    pub fn set_price_type(&mut self, v: isize) {
1881        self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
1882    }
1883
1884    /// Gets `PriceType`, Tag 423.
1885    pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1886        let mut fld = field::PriceTypeField::new(0);
1887        self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
1888        Ok(fld.value())
1889    }
1890
1891
1892    /// Returns true if `PriceType` is present, Tag 423.
1893    pub fn has_price_type(&self) -> bool {
1894        self.message.body.has(tag::PRICE_TYPE)
1895    }
1896
1897
1898
1899
1900    /// Sets `Product`, Tag 460.
1901    pub fn set_product(&mut self, v: isize) {
1902        self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
1903    }
1904
1905    /// Gets `Product`, Tag 460.
1906    pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
1907        let mut fld = field::ProductField::new(0);
1908        self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
1909        Ok(fld.value())
1910    }
1911
1912
1913    /// Returns true if `Product` is present, Tag 460.
1914    pub fn has_product(&self) -> bool {
1915        self.message.body.has(tag::PRODUCT)
1916    }
1917
1918
1919
1920
1921    /// Sets `QuoteID`, Tag 117.
1922    pub fn set_quote_id(&mut self, v: String) {
1923        self.message.body.set_field(tag::QUOTE_ID, FIXString::from(v));
1924    }
1925
1926    /// Gets `QuoteID`, Tag 117.
1927    pub fn get_quote_id(&self) -> Result<String, MessageRejectErrorEnum> {
1928        let mut fld = field::QuoteIDField::new(String::new());
1929        self.message.body.get_field(tag::QUOTE_ID, &mut fld.0)?;
1930        Ok(fld.value().to_string())
1931    }
1932
1933
1934    /// Returns true if `QuoteID` is present, Tag 117.
1935    pub fn has_quote_id(&self) -> bool {
1936        self.message.body.has(tag::QUOTE_ID)
1937    }
1938
1939
1940
1941
1942    /// Sets `QuoteReqID`, Tag 131.
1943    pub fn set_quote_req_id(&mut self, v: String) {
1944        self.message.body.set_field(tag::QUOTE_REQ_ID, FIXString::from(v));
1945    }
1946
1947    /// Gets `QuoteReqID`, Tag 131.
1948    pub fn get_quote_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
1949        let mut fld = field::QuoteReqIDField::new(String::new());
1950        self.message.body.get_field(tag::QUOTE_REQ_ID, &mut fld.0)?;
1951        Ok(fld.value().to_string())
1952    }
1953
1954
1955    /// Returns true if `QuoteReqID` is present, Tag 131.
1956    pub fn has_quote_req_id(&self) -> bool {
1957        self.message.body.has(tag::QUOTE_REQ_ID)
1958    }
1959
1960
1961
1962
1963    /// Sets `QuoteRespID`, Tag 693.
1964    pub fn set_quote_resp_id(&mut self, v: String) {
1965        self.message.body.set_field(tag::QUOTE_RESP_ID, FIXString::from(v));
1966    }
1967
1968    /// Gets `QuoteRespID`, Tag 693.
1969    pub fn get_quote_resp_id(&self) -> Result<String, MessageRejectErrorEnum> {
1970        let mut fld = field::QuoteRespIDField::new(String::new());
1971        self.message.body.get_field(tag::QUOTE_RESP_ID, &mut fld.0)?;
1972        Ok(fld.value().to_string())
1973    }
1974
1975
1976    /// Returns true if `QuoteRespID` is present, Tag 693.
1977    pub fn has_quote_resp_id(&self) -> bool {
1978        self.message.body.has(tag::QUOTE_RESP_ID)
1979    }
1980
1981
1982
1983
1984    /// Sets `QuoteStatus`, Tag 297.
1985    pub fn set_quote_status(&mut self, v: isize) {
1986        self.message.body.set_field(tag::QUOTE_STATUS, fixer::fix_int::FIXInt::from(v));
1987    }
1988
1989    /// Gets `QuoteStatus`, Tag 297.
1990    pub fn get_quote_status(&self) -> Result<isize, MessageRejectErrorEnum> {
1991        let mut fld = field::QuoteStatusField::new(0);
1992        self.message.body.get_field(tag::QUOTE_STATUS, &mut fld.0)?;
1993        Ok(fld.value())
1994    }
1995
1996
1997    /// Returns true if `QuoteStatus` is present, Tag 297.
1998    pub fn has_quote_status(&self) -> bool {
1999        self.message.body.has(tag::QUOTE_STATUS)
2000    }
2001
2002
2003
2004
2005    /// Sets `QuoteStatusReqID`, Tag 649.
2006    pub fn set_quote_status_req_id(&mut self, v: String) {
2007        self.message.body.set_field(tag::QUOTE_STATUS_REQ_ID, FIXString::from(v));
2008    }
2009
2010    /// Gets `QuoteStatusReqID`, Tag 649.
2011    pub fn get_quote_status_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
2012        let mut fld = field::QuoteStatusReqIDField::new(String::new());
2013        self.message.body.get_field(tag::QUOTE_STATUS_REQ_ID, &mut fld.0)?;
2014        Ok(fld.value().to_string())
2015    }
2016
2017
2018    /// Returns true if `QuoteStatusReqID` is present, Tag 649.
2019    pub fn has_quote_status_req_id(&self) -> bool {
2020        self.message.body.has(tag::QUOTE_STATUS_REQ_ID)
2021    }
2022
2023
2024
2025
2026    /// Sets `QuoteType`, Tag 537.
2027    pub fn set_quote_type(&mut self, v: isize) {
2028        self.message.body.set_field(tag::QUOTE_TYPE, fixer::fix_int::FIXInt::from(v));
2029    }
2030
2031    /// Gets `QuoteType`, Tag 537.
2032    pub fn get_quote_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2033        let mut fld = field::QuoteTypeField::new(0);
2034        self.message.body.get_field(tag::QUOTE_TYPE, &mut fld.0)?;
2035        Ok(fld.value())
2036    }
2037
2038
2039    /// Returns true if `QuoteType` is present, Tag 537.
2040    pub fn has_quote_type(&self) -> bool {
2041        self.message.body.has(tag::QUOTE_TYPE)
2042    }
2043
2044
2045
2046
2047    /// Sets `RedemptionDate`, Tag 240.
2048    pub fn set_redemption_date(&mut self, v: String) {
2049        self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
2050    }
2051
2052    /// Gets `RedemptionDate`, Tag 240.
2053    pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2054        let mut fld = field::RedemptionDateField::new(String::new());
2055        self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
2056        Ok(fld.value().to_string())
2057    }
2058
2059
2060    /// Returns true if `RedemptionDate` is present, Tag 240.
2061    pub fn has_redemption_date(&self) -> bool {
2062        self.message.body.has(tag::REDEMPTION_DATE)
2063    }
2064
2065
2066
2067
2068    /// Sets `RepoCollateralSecurityType`, Tag 239.
2069    pub fn set_repo_collateral_security_type(&mut self, v: isize) {
2070        self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
2071    }
2072
2073    /// Gets `RepoCollateralSecurityType`, Tag 239.
2074    pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2075        let mut fld = field::RepoCollateralSecurityTypeField::new(0);
2076        self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
2077        Ok(fld.value())
2078    }
2079
2080
2081    /// Returns true if `RepoCollateralSecurityType` is present, Tag 239.
2082    pub fn has_repo_collateral_security_type(&self) -> bool {
2083        self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
2084    }
2085
2086
2087
2088
2089    /// Sets `RepurchaseRate`, Tag 227.
2090    pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
2091        self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2092    }
2093
2094    /// Gets `RepurchaseRate`, Tag 227.
2095    pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2096        let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
2097        self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
2098        Ok(fld.value())
2099    }
2100
2101
2102    /// Returns true if `RepurchaseRate` is present, Tag 227.
2103    pub fn has_repurchase_rate(&self) -> bool {
2104        self.message.body.has(tag::REPURCHASE_RATE)
2105    }
2106
2107
2108
2109
2110    /// Sets `RepurchaseTerm`, Tag 226.
2111    pub fn set_repurchase_term(&mut self, v: isize) {
2112        self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
2113    }
2114
2115    /// Gets `RepurchaseTerm`, Tag 226.
2116    pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
2117        let mut fld = field::RepurchaseTermField::new(0);
2118        self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
2119        Ok(fld.value())
2120    }
2121
2122
2123    /// Returns true if `RepurchaseTerm` is present, Tag 226.
2124    pub fn has_repurchase_term(&self) -> bool {
2125        self.message.body.has(tag::REPURCHASE_TERM)
2126    }
2127
2128
2129
2130
2131    /// Sets `RoundingDirection`, Tag 468.
2132    pub fn set_rounding_direction(&mut self, v: String) {
2133        self.message.body.set_field(tag::ROUNDING_DIRECTION, FIXString::from(v));
2134    }
2135
2136    /// Gets `RoundingDirection`, Tag 468.
2137    pub fn get_rounding_direction(&self) -> Result<String, MessageRejectErrorEnum> {
2138        let mut fld = field::RoundingDirectionField::new(String::new());
2139        self.message.body.get_field(tag::ROUNDING_DIRECTION, &mut fld.0)?;
2140        Ok(fld.value().to_string())
2141    }
2142
2143
2144    /// Returns true if `RoundingDirection` is present, Tag 468.
2145    pub fn has_rounding_direction(&self) -> bool {
2146        self.message.body.has(tag::ROUNDING_DIRECTION)
2147    }
2148
2149
2150
2151
2152    /// Sets `RoundingModulus`, Tag 469.
2153    pub fn set_rounding_modulus(&mut self, val: Decimal, scale: i32) {
2154        self.message.body.set_field(tag::ROUNDING_MODULUS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2155    }
2156
2157    /// Gets `RoundingModulus`, Tag 469.
2158    pub fn get_rounding_modulus(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2159        let mut fld = field::RoundingModulusField::new(Decimal::ZERO, 0);
2160        self.message.body.get_field(tag::ROUNDING_MODULUS, &mut fld.0)?;
2161        Ok(fld.value())
2162    }
2163
2164
2165    /// Returns true if `RoundingModulus` is present, Tag 469.
2166    pub fn has_rounding_modulus(&self) -> bool {
2167        self.message.body.has(tag::ROUNDING_MODULUS)
2168    }
2169
2170
2171
2172
2173    /// Sets `SecurityDesc`, Tag 107.
2174    pub fn set_security_desc(&mut self, v: String) {
2175        self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
2176    }
2177
2178    /// Gets `SecurityDesc`, Tag 107.
2179    pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
2180        let mut fld = field::SecurityDescField::new(String::new());
2181        self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
2182        Ok(fld.value().to_string())
2183    }
2184
2185
2186    /// Returns true if `SecurityDesc` is present, Tag 107.
2187    pub fn has_security_desc(&self) -> bool {
2188        self.message.body.has(tag::SECURITY_DESC)
2189    }
2190
2191
2192
2193
2194    /// Sets `SecurityExchange`, Tag 207.
2195    pub fn set_security_exchange(&mut self, v: String) {
2196        self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
2197    }
2198
2199    /// Gets `SecurityExchange`, Tag 207.
2200    pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
2201        let mut fld = field::SecurityExchangeField::new(String::new());
2202        self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
2203        Ok(fld.value().to_string())
2204    }
2205
2206
2207    /// Returns true if `SecurityExchange` is present, Tag 207.
2208    pub fn has_security_exchange(&self) -> bool {
2209        self.message.body.has(tag::SECURITY_EXCHANGE)
2210    }
2211
2212
2213
2214
2215    /// Sets `SecurityID`, Tag 48.
2216    pub fn set_security_id(&mut self, v: String) {
2217        self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
2218    }
2219
2220    /// Gets `SecurityID`, Tag 48.
2221    pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
2222        let mut fld = field::SecurityIDField::new(String::new());
2223        self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
2224        Ok(fld.value().to_string())
2225    }
2226
2227
2228    /// Returns true if `SecurityID` is present, Tag 48.
2229    pub fn has_security_id(&self) -> bool {
2230        self.message.body.has(tag::SECURITY_ID)
2231    }
2232
2233
2234
2235
2236    /// Sets `SecurityIDSource`, Tag 22.
2237    pub fn set_security_id_source(&mut self, v: String) {
2238        self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
2239    }
2240
2241    /// Gets `SecurityIDSource`, Tag 22.
2242    pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
2243        let mut fld = field::SecurityIDSourceField::new(String::new());
2244        self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
2245        Ok(fld.value().to_string())
2246    }
2247
2248
2249    /// Returns true if `SecurityIDSource` is present, Tag 22.
2250    pub fn has_security_id_source(&self) -> bool {
2251        self.message.body.has(tag::SECURITY_ID_SOURCE)
2252    }
2253
2254
2255
2256
2257    /// Sets `SecurityStatus`, Tag 965.
2258    pub fn set_security_status(&mut self, v: String) {
2259        self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
2260    }
2261
2262    /// Gets `SecurityStatus`, Tag 965.
2263    pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
2264        let mut fld = field::SecurityStatusField::new(String::new());
2265        self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
2266        Ok(fld.value().to_string())
2267    }
2268
2269
2270    /// Returns true if `SecurityStatus` is present, Tag 965.
2271    pub fn has_security_status(&self) -> bool {
2272        self.message.body.has(tag::SECURITY_STATUS)
2273    }
2274
2275
2276
2277
2278    /// Sets `SecuritySubType`, Tag 762.
2279    pub fn set_security_sub_type(&mut self, v: String) {
2280        self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
2281    }
2282
2283    /// Gets `SecuritySubType`, Tag 762.
2284    pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
2285        let mut fld = field::SecuritySubTypeField::new(String::new());
2286        self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
2287        Ok(fld.value().to_string())
2288    }
2289
2290
2291    /// Returns true if `SecuritySubType` is present, Tag 762.
2292    pub fn has_security_sub_type(&self) -> bool {
2293        self.message.body.has(tag::SECURITY_SUB_TYPE)
2294    }
2295
2296
2297
2298
2299    /// Sets `SecurityType`, Tag 167.
2300    pub fn set_security_type(&mut self, v: String) {
2301        self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2302    }
2303
2304    /// Gets `SecurityType`, Tag 167.
2305    pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2306        let mut fld = field::SecurityTypeField::new(String::new());
2307        self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2308        Ok(fld.value().to_string())
2309    }
2310
2311
2312    /// Returns true if `SecurityType` is present, Tag 167.
2313    pub fn has_security_type(&self) -> bool {
2314        self.message.body.has(tag::SECURITY_TYPE)
2315    }
2316
2317
2318
2319
2320    /// Sets `SettlCurrBidFxRate`, Tag 656.
2321    pub fn set_settl_curr_bid_fx_rate(&mut self, val: Decimal, scale: i32) {
2322        self.message.body.set_field(tag::SETTL_CURR_BID_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2323    }
2324
2325    /// Gets `SettlCurrBidFxRate`, Tag 656.
2326    pub fn get_settl_curr_bid_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2327        let mut fld = field::SettlCurrBidFxRateField::new(Decimal::ZERO, 0);
2328        self.message.body.get_field(tag::SETTL_CURR_BID_FX_RATE, &mut fld.0)?;
2329        Ok(fld.value())
2330    }
2331
2332
2333    /// Returns true if `SettlCurrBidFxRate` is present, Tag 656.
2334    pub fn has_settl_curr_bid_fx_rate(&self) -> bool {
2335        self.message.body.has(tag::SETTL_CURR_BID_FX_RATE)
2336    }
2337
2338
2339
2340
2341    /// Sets `SettlCurrFxRateCalc`, Tag 156.
2342    pub fn set_settl_curr_fx_rate_calc(&mut self, v: String) {
2343        self.message.body.set_field(tag::SETTL_CURR_FX_RATE_CALC, FIXString::from(v));
2344    }
2345
2346    /// Gets `SettlCurrFxRateCalc`, Tag 156.
2347    pub fn get_settl_curr_fx_rate_calc(&self) -> Result<String, MessageRejectErrorEnum> {
2348        let mut fld = field::SettlCurrFxRateCalcField::new(String::new());
2349        self.message.body.get_field(tag::SETTL_CURR_FX_RATE_CALC, &mut fld.0)?;
2350        Ok(fld.value().to_string())
2351    }
2352
2353
2354    /// Returns true if `SettlCurrFxRateCalc` is present, Tag 156.
2355    pub fn has_settl_curr_fx_rate_calc(&self) -> bool {
2356        self.message.body.has(tag::SETTL_CURR_FX_RATE_CALC)
2357    }
2358
2359
2360
2361
2362    /// Sets `SettlCurrOfferFxRate`, Tag 657.
2363    pub fn set_settl_curr_offer_fx_rate(&mut self, val: Decimal, scale: i32) {
2364        self.message.body.set_field(tag::SETTL_CURR_OFFER_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2365    }
2366
2367    /// Gets `SettlCurrOfferFxRate`, Tag 657.
2368    pub fn get_settl_curr_offer_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2369        let mut fld = field::SettlCurrOfferFxRateField::new(Decimal::ZERO, 0);
2370        self.message.body.get_field(tag::SETTL_CURR_OFFER_FX_RATE, &mut fld.0)?;
2371        Ok(fld.value())
2372    }
2373
2374
2375    /// Returns true if `SettlCurrOfferFxRate` is present, Tag 657.
2376    pub fn has_settl_curr_offer_fx_rate(&self) -> bool {
2377        self.message.body.has(tag::SETTL_CURR_OFFER_FX_RATE)
2378    }
2379
2380
2381
2382
2383    /// Sets `SettlDate`, Tag 64.
2384    pub fn set_settl_date(&mut self, v: String) {
2385        self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
2386    }
2387
2388    /// Gets `SettlDate`, Tag 64.
2389    pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
2390        let mut fld = field::SettlDateField::new(String::new());
2391        self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
2392        Ok(fld.value().to_string())
2393    }
2394
2395
2396    /// Returns true if `SettlDate` is present, Tag 64.
2397    pub fn has_settl_date(&self) -> bool {
2398        self.message.body.has(tag::SETTL_DATE)
2399    }
2400
2401
2402
2403
2404    /// Sets `SettlDate2`, Tag 193.
2405    pub fn set_settl_date2(&mut self, v: String) {
2406        self.message.body.set_field(tag::SETTL_DATE2, FIXString::from(v));
2407    }
2408
2409    /// Gets `SettlDate2`, Tag 193.
2410    pub fn get_settl_date2(&self) -> Result<String, MessageRejectErrorEnum> {
2411        let mut fld = field::SettlDate2Field::new(String::new());
2412        self.message.body.get_field(tag::SETTL_DATE2, &mut fld.0)?;
2413        Ok(fld.value().to_string())
2414    }
2415
2416
2417    /// Returns true if `SettlDate2` is present, Tag 193.
2418    pub fn has_settl_date2(&self) -> bool {
2419        self.message.body.has(tag::SETTL_DATE2)
2420    }
2421
2422
2423
2424
2425    /// Sets `SettlType`, Tag 63.
2426    pub fn set_settl_type(&mut self, v: String) {
2427        self.message.body.set_field(tag::SETTL_TYPE, FIXString::from(v));
2428    }
2429
2430    /// Gets `SettlType`, Tag 63.
2431    pub fn get_settl_type(&self) -> Result<String, MessageRejectErrorEnum> {
2432        let mut fld = field::SettlTypeField::new(String::new());
2433        self.message.body.get_field(tag::SETTL_TYPE, &mut fld.0)?;
2434        Ok(fld.value().to_string())
2435    }
2436
2437
2438    /// Returns true if `SettlType` is present, Tag 63.
2439    pub fn has_settl_type(&self) -> bool {
2440        self.message.body.has(tag::SETTL_TYPE)
2441    }
2442
2443
2444
2445
2446    /// Sets `SettleOnOpenFlag`, Tag 966.
2447    pub fn set_settle_on_open_flag(&mut self, v: String) {
2448        self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
2449    }
2450
2451    /// Gets `SettleOnOpenFlag`, Tag 966.
2452    pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
2453        let mut fld = field::SettleOnOpenFlagField::new(String::new());
2454        self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
2455        Ok(fld.value().to_string())
2456    }
2457
2458
2459    /// Returns true if `SettleOnOpenFlag` is present, Tag 966.
2460    pub fn has_settle_on_open_flag(&self) -> bool {
2461        self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
2462    }
2463
2464
2465
2466
2467    /// Sets `Side`, Tag 54.
2468    pub fn set_side(&mut self, v: String) {
2469        self.message.body.set_field(tag::SIDE, FIXString::from(v));
2470    }
2471
2472    /// Gets `Side`, Tag 54.
2473    pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2474        let mut fld = field::SideField::new(String::new());
2475        self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2476        Ok(fld.value().to_string())
2477    }
2478
2479
2480    /// Returns true if `Side` is present, Tag 54.
2481    pub fn has_side(&self) -> bool {
2482        self.message.body.has(tag::SIDE)
2483    }
2484
2485
2486
2487
2488    /// Sets `Spread`, Tag 218.
2489    pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2490        self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2491    }
2492
2493    /// Gets `Spread`, Tag 218.
2494    pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2495        let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2496        self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2497        Ok(fld.value())
2498    }
2499
2500
2501    /// Returns true if `Spread` is present, Tag 218.
2502    pub fn has_spread(&self) -> bool {
2503        self.message.body.has(tag::SPREAD)
2504    }
2505
2506
2507
2508
2509    /// Sets `StartDate`, Tag 916.
2510    pub fn set_start_date(&mut self, v: String) {
2511        self.message.body.set_field(tag::START_DATE, FIXString::from(v));
2512    }
2513
2514    /// Gets `StartDate`, Tag 916.
2515    pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
2516        let mut fld = field::StartDateField::new(String::new());
2517        self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
2518        Ok(fld.value().to_string())
2519    }
2520
2521
2522    /// Returns true if `StartDate` is present, Tag 916.
2523    pub fn has_start_date(&self) -> bool {
2524        self.message.body.has(tag::START_DATE)
2525    }
2526
2527
2528
2529
2530    /// Sets `StateOrProvinceOfIssue`, Tag 471.
2531    pub fn set_state_or_province_of_issue(&mut self, v: String) {
2532        self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2533    }
2534
2535    /// Gets `StateOrProvinceOfIssue`, Tag 471.
2536    pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2537        let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2538        self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2539        Ok(fld.value().to_string())
2540    }
2541
2542
2543    /// Returns true if `StateOrProvinceOfIssue` is present, Tag 471.
2544    pub fn has_state_or_province_of_issue(&self) -> bool {
2545        self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2546    }
2547
2548
2549
2550
2551    /// Sets `StrikeCurrency`, Tag 947.
2552    pub fn set_strike_currency(&mut self, v: String) {
2553        self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2554    }
2555
2556    /// Gets `StrikeCurrency`, Tag 947.
2557    pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2558        let mut fld = field::StrikeCurrencyField::new(String::new());
2559        self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2560        Ok(fld.value().to_string())
2561    }
2562
2563
2564    /// Returns true if `StrikeCurrency` is present, Tag 947.
2565    pub fn has_strike_currency(&self) -> bool {
2566        self.message.body.has(tag::STRIKE_CURRENCY)
2567    }
2568
2569
2570
2571
2572    /// Sets `StrikeMultiplier`, Tag 967.
2573    pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
2574        self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2575    }
2576
2577    /// Gets `StrikeMultiplier`, Tag 967.
2578    pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2579        let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
2580        self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
2581        Ok(fld.value())
2582    }
2583
2584
2585    /// Returns true if `StrikeMultiplier` is present, Tag 967.
2586    pub fn has_strike_multiplier(&self) -> bool {
2587        self.message.body.has(tag::STRIKE_MULTIPLIER)
2588    }
2589
2590
2591
2592
2593    /// Sets `StrikePrice`, Tag 202.
2594    pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2595        self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2596    }
2597
2598    /// Gets `StrikePrice`, Tag 202.
2599    pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2600        let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2601        self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2602        Ok(fld.value())
2603    }
2604
2605
2606    /// Returns true if `StrikePrice` is present, Tag 202.
2607    pub fn has_strike_price(&self) -> bool {
2608        self.message.body.has(tag::STRIKE_PRICE)
2609    }
2610
2611
2612
2613
2614    /// Sets `StrikeValue`, Tag 968.
2615    pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2616        self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2617    }
2618
2619    /// Gets `StrikeValue`, Tag 968.
2620    pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2621        let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2622        self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2623        Ok(fld.value())
2624    }
2625
2626
2627    /// Returns true if `StrikeValue` is present, Tag 968.
2628    pub fn has_strike_value(&self) -> bool {
2629        self.message.body.has(tag::STRIKE_VALUE)
2630    }
2631
2632
2633
2634
2635    /// Sets `Symbol`, Tag 55.
2636    pub fn set_symbol(&mut self, v: String) {
2637        self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2638    }
2639
2640    /// Gets `Symbol`, Tag 55.
2641    pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2642        let mut fld = field::SymbolField::new(String::new());
2643        self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2644        Ok(fld.value().to_string())
2645    }
2646
2647
2648    /// Returns true if `Symbol` is present, Tag 55.
2649    pub fn has_symbol(&self) -> bool {
2650        self.message.body.has(tag::SYMBOL)
2651    }
2652
2653
2654
2655
2656    /// Sets `SymbolSfx`, Tag 65.
2657    pub fn set_symbol_sfx(&mut self, v: String) {
2658        self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2659    }
2660
2661    /// Gets `SymbolSfx`, Tag 65.
2662    pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2663        let mut fld = field::SymbolSfxField::new(String::new());
2664        self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2665        Ok(fld.value().to_string())
2666    }
2667
2668
2669    /// Returns true if `SymbolSfx` is present, Tag 65.
2670    pub fn has_symbol_sfx(&self) -> bool {
2671        self.message.body.has(tag::SYMBOL_SFX)
2672    }
2673
2674
2675
2676
2677    /// Sets `TerminationType`, Tag 788.
2678    pub fn set_termination_type(&mut self, v: isize) {
2679        self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
2680    }
2681
2682    /// Gets `TerminationType`, Tag 788.
2683    pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2684        let mut fld = field::TerminationTypeField::new(0);
2685        self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
2686        Ok(fld.value())
2687    }
2688
2689
2690    /// Returns true if `TerminationType` is present, Tag 788.
2691    pub fn has_termination_type(&self) -> bool {
2692        self.message.body.has(tag::TERMINATION_TYPE)
2693    }
2694
2695
2696
2697
2698    /// Sets `Text`, Tag 58.
2699    pub fn set_text(&mut self, v: String) {
2700        self.message.body.set_field(tag::TEXT, FIXString::from(v));
2701    }
2702
2703    /// Gets `Text`, Tag 58.
2704    pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2705        let mut fld = field::TextField::new(String::new());
2706        self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2707        Ok(fld.value().to_string())
2708    }
2709
2710
2711    /// Returns true if `Text` is present, Tag 58.
2712    pub fn has_text(&self) -> bool {
2713        self.message.body.has(tag::TEXT)
2714    }
2715
2716
2717
2718
2719    /// Sets `TimeUnit`, Tag 997.
2720    pub fn set_time_unit(&mut self, v: String) {
2721        self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
2722    }
2723
2724    /// Gets `TimeUnit`, Tag 997.
2725    pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
2726        let mut fld = field::TimeUnitField::new(String::new());
2727        self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
2728        Ok(fld.value().to_string())
2729    }
2730
2731
2732    /// Returns true if `TimeUnit` is present, Tag 997.
2733    pub fn has_time_unit(&self) -> bool {
2734        self.message.body.has(tag::TIME_UNIT)
2735    }
2736
2737
2738
2739
2740    /// Sets `TradingSessionID`, Tag 336.
2741    pub fn set_trading_session_id(&mut self, v: String) {
2742        self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
2743    }
2744
2745    /// Gets `TradingSessionID`, Tag 336.
2746    pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
2747        let mut fld = field::TradingSessionIDField::new(String::new());
2748        self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
2749        Ok(fld.value().to_string())
2750    }
2751
2752
2753    /// Returns true if `TradingSessionID` is present, Tag 336.
2754    pub fn has_trading_session_id(&self) -> bool {
2755        self.message.body.has(tag::TRADING_SESSION_ID)
2756    }
2757
2758
2759
2760
2761    /// Sets `TradingSessionSubID`, Tag 625.
2762    pub fn set_trading_session_sub_id(&mut self, v: String) {
2763        self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
2764    }
2765
2766    /// Gets `TradingSessionSubID`, Tag 625.
2767    pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2768        let mut fld = field::TradingSessionSubIDField::new(String::new());
2769        self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
2770        Ok(fld.value().to_string())
2771    }
2772
2773
2774    /// Returns true if `TradingSessionSubID` is present, Tag 625.
2775    pub fn has_trading_session_sub_id(&self) -> bool {
2776        self.message.body.has(tag::TRADING_SESSION_SUB_ID)
2777    }
2778
2779
2780
2781
2782    /// Sets `TransactTime`, Tag 60.
2783    pub fn set_transact_time(&mut self, v: Timestamp) {
2784        self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2785            time: v,
2786            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2787        });
2788    }
2789
2790    /// Gets `TransactTime`, Tag 60.
2791    pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2792        let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
2793        self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
2794        Ok(fld.value())
2795    }
2796
2797
2798    /// Returns true if `TransactTime` is present, Tag 60.
2799    pub fn has_transact_time(&self) -> bool {
2800        self.message.body.has(tag::TRANSACT_TIME)
2801    }
2802
2803
2804
2805
2806    /// Sets `UnitOfMeasure`, Tag 996.
2807    pub fn set_unit_of_measure(&mut self, v: String) {
2808        self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
2809    }
2810
2811    /// Gets `UnitOfMeasure`, Tag 996.
2812    pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
2813        let mut fld = field::UnitOfMeasureField::new(String::new());
2814        self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
2815        Ok(fld.value().to_string())
2816    }
2817
2818
2819    /// Returns true if `UnitOfMeasure` is present, Tag 996.
2820    pub fn has_unit_of_measure(&self) -> bool {
2821        self.message.body.has(tag::UNIT_OF_MEASURE)
2822    }
2823
2824
2825
2826
2827    /// Sets `ValidUntilTime`, Tag 62.
2828    pub fn set_valid_until_time(&mut self, v: Timestamp) {
2829        self.message.body.set_field(tag::VALID_UNTIL_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2830            time: v,
2831            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2832        });
2833    }
2834
2835    /// Gets `ValidUntilTime`, Tag 62.
2836    pub fn get_valid_until_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2837        let mut fld = field::ValidUntilTimeField::new(Timestamp::UNIX_EPOCH);
2838        self.message.body.get_field(tag::VALID_UNTIL_TIME, &mut fld.0)?;
2839        Ok(fld.value())
2840    }
2841
2842
2843    /// Returns true if `ValidUntilTime` is present, Tag 62.
2844    pub fn has_valid_until_time(&self) -> bool {
2845        self.message.body.has(tag::VALID_UNTIL_TIME)
2846    }
2847
2848
2849
2850
2851    /// Sets `Yield`, Tag 236.
2852    pub fn set_yield(&mut self, val: Decimal, scale: i32) {
2853        self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2854    }
2855
2856    /// Gets `Yield`, Tag 236.
2857    pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2858        let mut fld = field::YieldField::new(Decimal::ZERO, 0);
2859        self.message.body.get_field(tag::YIELD, &mut fld.0)?;
2860        Ok(fld.value())
2861    }
2862
2863
2864    /// Returns true if `Yield` is present, Tag 236.
2865    pub fn has_yield(&self) -> bool {
2866        self.message.body.has(tag::YIELD)
2867    }
2868
2869
2870
2871
2872    /// Sets `YieldCalcDate`, Tag 701.
2873    pub fn set_yield_calc_date(&mut self, v: String) {
2874        self.message.body.set_field(tag::YIELD_CALC_DATE, FIXString::from(v));
2875    }
2876
2877    /// Gets `YieldCalcDate`, Tag 701.
2878    pub fn get_yield_calc_date(&self) -> Result<String, MessageRejectErrorEnum> {
2879        let mut fld = field::YieldCalcDateField::new(String::new());
2880        self.message.body.get_field(tag::YIELD_CALC_DATE, &mut fld.0)?;
2881        Ok(fld.value().to_string())
2882    }
2883
2884
2885    /// Returns true if `YieldCalcDate` is present, Tag 701.
2886    pub fn has_yield_calc_date(&self) -> bool {
2887        self.message.body.has(tag::YIELD_CALC_DATE)
2888    }
2889
2890
2891
2892
2893    /// Sets `YieldRedemptionDate`, Tag 696.
2894    pub fn set_yield_redemption_date(&mut self, v: String) {
2895        self.message.body.set_field(tag::YIELD_REDEMPTION_DATE, FIXString::from(v));
2896    }
2897
2898    /// Gets `YieldRedemptionDate`, Tag 696.
2899    pub fn get_yield_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2900        let mut fld = field::YieldRedemptionDateField::new(String::new());
2901        self.message.body.get_field(tag::YIELD_REDEMPTION_DATE, &mut fld.0)?;
2902        Ok(fld.value().to_string())
2903    }
2904
2905
2906    /// Returns true if `YieldRedemptionDate` is present, Tag 696.
2907    pub fn has_yield_redemption_date(&self) -> bool {
2908        self.message.body.has(tag::YIELD_REDEMPTION_DATE)
2909    }
2910
2911
2912
2913
2914    /// Sets `YieldRedemptionPrice`, Tag 697.
2915    pub fn set_yield_redemption_price(&mut self, val: Decimal, scale: i32) {
2916        self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2917    }
2918
2919    /// Gets `YieldRedemptionPrice`, Tag 697.
2920    pub fn get_yield_redemption_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2921        let mut fld = field::YieldRedemptionPriceField::new(Decimal::ZERO, 0);
2922        self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE, &mut fld.0)?;
2923        Ok(fld.value())
2924    }
2925
2926
2927    /// Returns true if `YieldRedemptionPrice` is present, Tag 697.
2928    pub fn has_yield_redemption_price(&self) -> bool {
2929        self.message.body.has(tag::YIELD_REDEMPTION_PRICE)
2930    }
2931
2932
2933
2934
2935    /// Sets `YieldRedemptionPriceType`, Tag 698.
2936    pub fn set_yield_redemption_price_type(&mut self, v: isize) {
2937        self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
2938    }
2939
2940    /// Gets `YieldRedemptionPriceType`, Tag 698.
2941    pub fn get_yield_redemption_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2942        let mut fld = field::YieldRedemptionPriceTypeField::new(0);
2943        self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE_TYPE, &mut fld.0)?;
2944        Ok(fld.value())
2945    }
2946
2947
2948    /// Returns true if `YieldRedemptionPriceType` is present, Tag 698.
2949    pub fn has_yield_redemption_price_type(&self) -> bool {
2950        self.message.body.has(tag::YIELD_REDEMPTION_PRICE_TYPE)
2951    }
2952
2953
2954
2955
2956    /// Sets `YieldType`, Tag 235.
2957    pub fn set_yield_type(&mut self, v: String) {
2958        self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
2959    }
2960
2961    /// Gets `YieldType`, Tag 235.
2962    pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
2963        let mut fld = field::YieldTypeField::new(String::new());
2964        self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
2965        Ok(fld.value().to_string())
2966    }
2967
2968
2969    /// Returns true if `YieldType` is present, Tag 235.
2970    pub fn has_yield_type(&self) -> bool {
2971        self.message.body.has(tag::YIELD_TYPE)
2972    }
2973
2974
2975}
2976
2977/// `RouteOut` is the callback type for routing `QuoteStatusReport` messages.
2978pub type RouteOut = fn(msg: QuoteStatusReport, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
2979
2980/// Route type returned by the `route` function.
2981pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
2982
2983/// Returns the begin string, message type, and route function for `QuoteStatusReport`.
2984pub fn route(router: RouteOut) -> Route {
2985    let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
2986        router(QuoteStatusReport::from_message(msg.clone()), session_id)
2987    };
2988    ("7", "AI", Box::new(r))
2989}