Skip to main content

fixer_fix/fix44/
quote.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/// `Quote` is the `fix44` `Quote` type, `MsgType` = S.
21pub struct Quote {
22    pub message: Message,
23}
24
25impl Quote {
26    /// Creates a new `Quote` 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("S".to_string()));
30
31        msg.body.set_field(tag::QUOTE_ID, quote_id.0);
32
33        Self { message: msg }
34    }
35
36    /// Creates a `Quote` 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 `Factor`, Tag 228.
974    pub fn set_factor(&mut self, val: Decimal, scale: i32) {
975        self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
976    }
977
978    /// Gets `Factor`, Tag 228.
979    pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
980        let mut fld = field::FactorField::new(Decimal::ZERO, 0);
981        self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
982        Ok(fld.value())
983    }
984
985
986    /// Returns true if `Factor` is present, Tag 228.
987    pub fn has_factor(&self) -> bool {
988        self.message.body.has(tag::FACTOR)
989    }
990
991
992
993
994    /// Sets `InstrRegistry`, Tag 543.
995    pub fn set_instr_registry(&mut self, v: String) {
996        self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
997    }
998
999    /// Gets `InstrRegistry`, Tag 543.
1000    pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1001        let mut fld = field::InstrRegistryField::new(String::new());
1002        self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1003        Ok(fld.value().to_string())
1004    }
1005
1006
1007    /// Returns true if `InstrRegistry` is present, Tag 543.
1008    pub fn has_instr_registry(&self) -> bool {
1009        self.message.body.has(tag::INSTR_REGISTRY)
1010    }
1011
1012
1013
1014
1015    /// Sets `InterestAccrualDate`, Tag 874.
1016    pub fn set_interest_accrual_date(&mut self, v: String) {
1017        self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1018    }
1019
1020    /// Gets `InterestAccrualDate`, Tag 874.
1021    pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1022        let mut fld = field::InterestAccrualDateField::new(String::new());
1023        self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1024        Ok(fld.value().to_string())
1025    }
1026
1027
1028    /// Returns true if `InterestAccrualDate` is present, Tag 874.
1029    pub fn has_interest_accrual_date(&self) -> bool {
1030        self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1031    }
1032
1033
1034
1035
1036    /// Sets `IssueDate`, Tag 225.
1037    pub fn set_issue_date(&mut self, v: String) {
1038        self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1039    }
1040
1041    /// Gets `IssueDate`, Tag 225.
1042    pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1043        let mut fld = field::IssueDateField::new(String::new());
1044        self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1045        Ok(fld.value().to_string())
1046    }
1047
1048
1049    /// Returns true if `IssueDate` is present, Tag 225.
1050    pub fn has_issue_date(&self) -> bool {
1051        self.message.body.has(tag::ISSUE_DATE)
1052    }
1053
1054
1055
1056
1057    /// Sets `Issuer`, Tag 106.
1058    pub fn set_issuer(&mut self, v: String) {
1059        self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1060    }
1061
1062    /// Gets `Issuer`, Tag 106.
1063    pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1064        let mut fld = field::IssuerField::new(String::new());
1065        self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1066        Ok(fld.value().to_string())
1067    }
1068
1069
1070    /// Returns true if `Issuer` is present, Tag 106.
1071    pub fn has_issuer(&self) -> bool {
1072        self.message.body.has(tag::ISSUER)
1073    }
1074
1075
1076
1077
1078    /// Sets `LocaleOfIssue`, Tag 472.
1079    pub fn set_locale_of_issue(&mut self, v: String) {
1080        self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1081    }
1082
1083    /// Gets `LocaleOfIssue`, Tag 472.
1084    pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1085        let mut fld = field::LocaleOfIssueField::new(String::new());
1086        self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1087        Ok(fld.value().to_string())
1088    }
1089
1090
1091    /// Returns true if `LocaleOfIssue` is present, Tag 472.
1092    pub fn has_locale_of_issue(&self) -> bool {
1093        self.message.body.has(tag::LOCALE_OF_ISSUE)
1094    }
1095
1096
1097
1098
1099    /// Sets `MarginRatio`, Tag 898.
1100    pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
1101        self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1102    }
1103
1104    /// Gets `MarginRatio`, Tag 898.
1105    pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1106        let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
1107        self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
1108        Ok(fld.value())
1109    }
1110
1111
1112    /// Returns true if `MarginRatio` is present, Tag 898.
1113    pub fn has_margin_ratio(&self) -> bool {
1114        self.message.body.has(tag::MARGIN_RATIO)
1115    }
1116
1117
1118
1119
1120    /// Sets `MaturityDate`, Tag 541.
1121    pub fn set_maturity_date(&mut self, v: String) {
1122        self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1123    }
1124
1125    /// Gets `MaturityDate`, Tag 541.
1126    pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1127        let mut fld = field::MaturityDateField::new(String::new());
1128        self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1129        Ok(fld.value().to_string())
1130    }
1131
1132
1133    /// Returns true if `MaturityDate` is present, Tag 541.
1134    pub fn has_maturity_date(&self) -> bool {
1135        self.message.body.has(tag::MATURITY_DATE)
1136    }
1137
1138
1139
1140
1141    /// Sets `MaturityMonthYear`, Tag 200.
1142    pub fn set_maturity_month_year(&mut self, v: String) {
1143        self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1144    }
1145
1146    /// Gets `MaturityMonthYear`, Tag 200.
1147    pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1148        let mut fld = field::MaturityMonthYearField::new(String::new());
1149        self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1150        Ok(fld.value().to_string())
1151    }
1152
1153
1154    /// Returns true if `MaturityMonthYear` is present, Tag 200.
1155    pub fn has_maturity_month_year(&self) -> bool {
1156        self.message.body.has(tag::MATURITY_MONTH_YEAR)
1157    }
1158
1159
1160
1161
1162    /// Sets `MidPx`, Tag 631.
1163    pub fn set_mid_px(&mut self, val: Decimal, scale: i32) {
1164        self.message.body.set_field(tag::MID_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1165    }
1166
1167    /// Gets `MidPx`, Tag 631.
1168    pub fn get_mid_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1169        let mut fld = field::MidPxField::new(Decimal::ZERO, 0);
1170        self.message.body.get_field(tag::MID_PX, &mut fld.0)?;
1171        Ok(fld.value())
1172    }
1173
1174
1175    /// Returns true if `MidPx` is present, Tag 631.
1176    pub fn has_mid_px(&self) -> bool {
1177        self.message.body.has(tag::MID_PX)
1178    }
1179
1180
1181
1182
1183    /// Sets `MidYield`, Tag 633.
1184    pub fn set_mid_yield(&mut self, val: Decimal, scale: i32) {
1185        self.message.body.set_field(tag::MID_YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1186    }
1187
1188    /// Gets `MidYield`, Tag 633.
1189    pub fn get_mid_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1190        let mut fld = field::MidYieldField::new(Decimal::ZERO, 0);
1191        self.message.body.get_field(tag::MID_YIELD, &mut fld.0)?;
1192        Ok(fld.value())
1193    }
1194
1195
1196    /// Returns true if `MidYield` is present, Tag 633.
1197    pub fn has_mid_yield(&self) -> bool {
1198        self.message.body.has(tag::MID_YIELD)
1199    }
1200
1201
1202
1203
1204    /// Sets `MinBidSize`, Tag 647.
1205    pub fn set_min_bid_size(&mut self, val: Decimal, scale: i32) {
1206        self.message.body.set_field(tag::MIN_BID_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1207    }
1208
1209    /// Gets `MinBidSize`, Tag 647.
1210    pub fn get_min_bid_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1211        let mut fld = field::MinBidSizeField::new(Decimal::ZERO, 0);
1212        self.message.body.get_field(tag::MIN_BID_SIZE, &mut fld.0)?;
1213        Ok(fld.value())
1214    }
1215
1216
1217    /// Returns true if `MinBidSize` is present, Tag 647.
1218    pub fn has_min_bid_size(&self) -> bool {
1219        self.message.body.has(tag::MIN_BID_SIZE)
1220    }
1221
1222
1223
1224
1225    /// Sets `MinOfferSize`, Tag 648.
1226    pub fn set_min_offer_size(&mut self, val: Decimal, scale: i32) {
1227        self.message.body.set_field(tag::MIN_OFFER_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1228    }
1229
1230    /// Gets `MinOfferSize`, Tag 648.
1231    pub fn get_min_offer_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1232        let mut fld = field::MinOfferSizeField::new(Decimal::ZERO, 0);
1233        self.message.body.get_field(tag::MIN_OFFER_SIZE, &mut fld.0)?;
1234        Ok(fld.value())
1235    }
1236
1237
1238    /// Returns true if `MinOfferSize` is present, Tag 648.
1239    pub fn has_min_offer_size(&self) -> bool {
1240        self.message.body.has(tag::MIN_OFFER_SIZE)
1241    }
1242
1243
1244
1245
1246    /// Sets `MktBidPx`, Tag 645.
1247    pub fn set_mkt_bid_px(&mut self, val: Decimal, scale: i32) {
1248        self.message.body.set_field(tag::MKT_BID_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1249    }
1250
1251    /// Gets `MktBidPx`, Tag 645.
1252    pub fn get_mkt_bid_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1253        let mut fld = field::MktBidPxField::new(Decimal::ZERO, 0);
1254        self.message.body.get_field(tag::MKT_BID_PX, &mut fld.0)?;
1255        Ok(fld.value())
1256    }
1257
1258
1259    /// Returns true if `MktBidPx` is present, Tag 645.
1260    pub fn has_mkt_bid_px(&self) -> bool {
1261        self.message.body.has(tag::MKT_BID_PX)
1262    }
1263
1264
1265
1266
1267    /// Sets `MktOfferPx`, Tag 646.
1268    pub fn set_mkt_offer_px(&mut self, val: Decimal, scale: i32) {
1269        self.message.body.set_field(tag::MKT_OFFER_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1270    }
1271
1272    /// Gets `MktOfferPx`, Tag 646.
1273    pub fn get_mkt_offer_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1274        let mut fld = field::MktOfferPxField::new(Decimal::ZERO, 0);
1275        self.message.body.get_field(tag::MKT_OFFER_PX, &mut fld.0)?;
1276        Ok(fld.value())
1277    }
1278
1279
1280    /// Returns true if `MktOfferPx` is present, Tag 646.
1281    pub fn has_mkt_offer_px(&self) -> bool {
1282        self.message.body.has(tag::MKT_OFFER_PX)
1283    }
1284
1285
1286
1287
1288    /// Sets `NoEvents`, Tag 864.
1289    pub fn set_no_events(&mut self, v: isize) {
1290        self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1291    }
1292
1293    /// Gets `NoEvents`, Tag 864.
1294    pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1295        let mut fld = field::NoEventsField::new(0);
1296        self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1297        Ok(fld.value())
1298    }
1299
1300
1301    /// Returns true if `NoEvents` is present, Tag 864.
1302    pub fn has_no_events(&self) -> bool {
1303        self.message.body.has(tag::NO_EVENTS)
1304    }
1305
1306
1307
1308
1309    /// Sets `NoLegs`, Tag 555.
1310    pub fn set_no_legs(&mut self, v: isize) {
1311        self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1312    }
1313
1314    /// Gets `NoLegs`, Tag 555.
1315    pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1316        let mut fld = field::NoLegsField::new(0);
1317        self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1318        Ok(fld.value())
1319    }
1320
1321
1322    /// Returns true if `NoLegs` is present, Tag 555.
1323    pub fn has_no_legs(&self) -> bool {
1324        self.message.body.has(tag::NO_LEGS)
1325    }
1326
1327
1328
1329
1330    /// Sets `NoPartyIDs`, Tag 453.
1331    pub fn set_no_party_i_ds(&mut self, v: isize) {
1332        self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1333    }
1334
1335    /// Gets `NoPartyIDs`, Tag 453.
1336    pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1337        let mut fld = field::NoPartyIDsField::new(0);
1338        self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1339        Ok(fld.value())
1340    }
1341
1342
1343    /// Returns true if `NoPartyIDs` is present, Tag 453.
1344    pub fn has_no_party_i_ds(&self) -> bool {
1345        self.message.body.has(tag::NO_PARTY_I_DS)
1346    }
1347
1348
1349
1350
1351    /// Sets `NoQuoteQualifiers`, Tag 735.
1352    pub fn set_no_quote_qualifiers(&mut self, v: isize) {
1353        self.message.body.set_field(tag::NO_QUOTE_QUALIFIERS, fixer::fix_int::FIXInt::from(v));
1354    }
1355
1356    /// Gets `NoQuoteQualifiers`, Tag 735.
1357    pub fn get_no_quote_qualifiers(&self) -> Result<isize, MessageRejectErrorEnum> {
1358        let mut fld = field::NoQuoteQualifiersField::new(0);
1359        self.message.body.get_field(tag::NO_QUOTE_QUALIFIERS, &mut fld.0)?;
1360        Ok(fld.value())
1361    }
1362
1363
1364    /// Returns true if `NoQuoteQualifiers` is present, Tag 735.
1365    pub fn has_no_quote_qualifiers(&self) -> bool {
1366        self.message.body.has(tag::NO_QUOTE_QUALIFIERS)
1367    }
1368
1369
1370
1371
1372    /// Sets `NoSecurityAltID`, Tag 454.
1373    pub fn set_no_security_alt_id(&mut self, v: isize) {
1374        self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1375    }
1376
1377    /// Gets `NoSecurityAltID`, Tag 454.
1378    pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1379        let mut fld = field::NoSecurityAltIDField::new(0);
1380        self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1381        Ok(fld.value())
1382    }
1383
1384
1385    /// Returns true if `NoSecurityAltID` is present, Tag 454.
1386    pub fn has_no_security_alt_id(&self) -> bool {
1387        self.message.body.has(tag::NO_SECURITY_ALT_ID)
1388    }
1389
1390
1391
1392
1393    /// Sets `NoStipulations`, Tag 232.
1394    pub fn set_no_stipulations(&mut self, v: isize) {
1395        self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1396    }
1397
1398    /// Gets `NoStipulations`, Tag 232.
1399    pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1400        let mut fld = field::NoStipulationsField::new(0);
1401        self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1402        Ok(fld.value())
1403    }
1404
1405
1406    /// Returns true if `NoStipulations` is present, Tag 232.
1407    pub fn has_no_stipulations(&self) -> bool {
1408        self.message.body.has(tag::NO_STIPULATIONS)
1409    }
1410
1411
1412
1413
1414    /// Sets `NoUnderlyings`, Tag 711.
1415    pub fn set_no_underlyings(&mut self, v: isize) {
1416        self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1417    }
1418
1419    /// Gets `NoUnderlyings`, Tag 711.
1420    pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1421        let mut fld = field::NoUnderlyingsField::new(0);
1422        self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1423        Ok(fld.value())
1424    }
1425
1426
1427    /// Returns true if `NoUnderlyings` is present, Tag 711.
1428    pub fn has_no_underlyings(&self) -> bool {
1429        self.message.body.has(tag::NO_UNDERLYINGS)
1430    }
1431
1432
1433
1434
1435    /// Sets `OfferForwardPoints`, Tag 191.
1436    pub fn set_offer_forward_points(&mut self, val: Decimal, scale: i32) {
1437        self.message.body.set_field(tag::OFFER_FORWARD_POINTS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1438    }
1439
1440    /// Gets `OfferForwardPoints`, Tag 191.
1441    pub fn get_offer_forward_points(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1442        let mut fld = field::OfferForwardPointsField::new(Decimal::ZERO, 0);
1443        self.message.body.get_field(tag::OFFER_FORWARD_POINTS, &mut fld.0)?;
1444        Ok(fld.value())
1445    }
1446
1447
1448    /// Returns true if `OfferForwardPoints` is present, Tag 191.
1449    pub fn has_offer_forward_points(&self) -> bool {
1450        self.message.body.has(tag::OFFER_FORWARD_POINTS)
1451    }
1452
1453
1454
1455
1456    /// Sets `OfferForwardPoints2`, Tag 643.
1457    pub fn set_offer_forward_points2(&mut self, val: Decimal, scale: i32) {
1458        self.message.body.set_field(tag::OFFER_FORWARD_POINTS2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1459    }
1460
1461    /// Gets `OfferForwardPoints2`, Tag 643.
1462    pub fn get_offer_forward_points2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1463        let mut fld = field::OfferForwardPoints2Field::new(Decimal::ZERO, 0);
1464        self.message.body.get_field(tag::OFFER_FORWARD_POINTS2, &mut fld.0)?;
1465        Ok(fld.value())
1466    }
1467
1468
1469    /// Returns true if `OfferForwardPoints2` is present, Tag 643.
1470    pub fn has_offer_forward_points2(&self) -> bool {
1471        self.message.body.has(tag::OFFER_FORWARD_POINTS2)
1472    }
1473
1474
1475
1476
1477    /// Sets `OfferPx`, Tag 133.
1478    pub fn set_offer_px(&mut self, val: Decimal, scale: i32) {
1479        self.message.body.set_field(tag::OFFER_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1480    }
1481
1482    /// Gets `OfferPx`, Tag 133.
1483    pub fn get_offer_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1484        let mut fld = field::OfferPxField::new(Decimal::ZERO, 0);
1485        self.message.body.get_field(tag::OFFER_PX, &mut fld.0)?;
1486        Ok(fld.value())
1487    }
1488
1489
1490    /// Returns true if `OfferPx` is present, Tag 133.
1491    pub fn has_offer_px(&self) -> bool {
1492        self.message.body.has(tag::OFFER_PX)
1493    }
1494
1495
1496
1497
1498    /// Sets `OfferSize`, Tag 135.
1499    pub fn set_offer_size(&mut self, val: Decimal, scale: i32) {
1500        self.message.body.set_field(tag::OFFER_SIZE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1501    }
1502
1503    /// Gets `OfferSize`, Tag 135.
1504    pub fn get_offer_size(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1505        let mut fld = field::OfferSizeField::new(Decimal::ZERO, 0);
1506        self.message.body.get_field(tag::OFFER_SIZE, &mut fld.0)?;
1507        Ok(fld.value())
1508    }
1509
1510
1511    /// Returns true if `OfferSize` is present, Tag 135.
1512    pub fn has_offer_size(&self) -> bool {
1513        self.message.body.has(tag::OFFER_SIZE)
1514    }
1515
1516
1517
1518
1519    /// Sets `OfferSpotRate`, Tag 190.
1520    pub fn set_offer_spot_rate(&mut self, val: Decimal, scale: i32) {
1521        self.message.body.set_field(tag::OFFER_SPOT_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1522    }
1523
1524    /// Gets `OfferSpotRate`, Tag 190.
1525    pub fn get_offer_spot_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1526        let mut fld = field::OfferSpotRateField::new(Decimal::ZERO, 0);
1527        self.message.body.get_field(tag::OFFER_SPOT_RATE, &mut fld.0)?;
1528        Ok(fld.value())
1529    }
1530
1531
1532    /// Returns true if `OfferSpotRate` is present, Tag 190.
1533    pub fn has_offer_spot_rate(&self) -> bool {
1534        self.message.body.has(tag::OFFER_SPOT_RATE)
1535    }
1536
1537
1538
1539
1540    /// Sets `OfferYield`, Tag 634.
1541    pub fn set_offer_yield(&mut self, val: Decimal, scale: i32) {
1542        self.message.body.set_field(tag::OFFER_YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1543    }
1544
1545    /// Gets `OfferYield`, Tag 634.
1546    pub fn get_offer_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1547        let mut fld = field::OfferYieldField::new(Decimal::ZERO, 0);
1548        self.message.body.get_field(tag::OFFER_YIELD, &mut fld.0)?;
1549        Ok(fld.value())
1550    }
1551
1552
1553    /// Returns true if `OfferYield` is present, Tag 634.
1554    pub fn has_offer_yield(&self) -> bool {
1555        self.message.body.has(tag::OFFER_YIELD)
1556    }
1557
1558
1559
1560
1561    /// Sets `OptAttribute`, Tag 206.
1562    pub fn set_opt_attribute(&mut self, v: String) {
1563        self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1564    }
1565
1566    /// Gets `OptAttribute`, Tag 206.
1567    pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1568        let mut fld = field::OptAttributeField::new(String::new());
1569        self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1570        Ok(fld.value().to_string())
1571    }
1572
1573
1574    /// Returns true if `OptAttribute` is present, Tag 206.
1575    pub fn has_opt_attribute(&self) -> bool {
1576        self.message.body.has(tag::OPT_ATTRIBUTE)
1577    }
1578
1579
1580
1581
1582    /// Sets `OrdType`, Tag 40.
1583    pub fn set_ord_type(&mut self, v: String) {
1584        self.message.body.set_field(tag::ORD_TYPE, FIXString::from(v));
1585    }
1586
1587    /// Gets `OrdType`, Tag 40.
1588    pub fn get_ord_type(&self) -> Result<String, MessageRejectErrorEnum> {
1589        let mut fld = field::OrdTypeField::new(String::new());
1590        self.message.body.get_field(tag::ORD_TYPE, &mut fld.0)?;
1591        Ok(fld.value().to_string())
1592    }
1593
1594
1595    /// Returns true if `OrdType` is present, Tag 40.
1596    pub fn has_ord_type(&self) -> bool {
1597        self.message.body.has(tag::ORD_TYPE)
1598    }
1599
1600
1601
1602
1603    /// Sets `OrderCapacity`, Tag 528.
1604    pub fn set_order_capacity(&mut self, v: String) {
1605        self.message.body.set_field(tag::ORDER_CAPACITY, FIXString::from(v));
1606    }
1607
1608    /// Gets `OrderCapacity`, Tag 528.
1609    pub fn get_order_capacity(&self) -> Result<String, MessageRejectErrorEnum> {
1610        let mut fld = field::OrderCapacityField::new(String::new());
1611        self.message.body.get_field(tag::ORDER_CAPACITY, &mut fld.0)?;
1612        Ok(fld.value().to_string())
1613    }
1614
1615
1616    /// Returns true if `OrderCapacity` is present, Tag 528.
1617    pub fn has_order_capacity(&self) -> bool {
1618        self.message.body.has(tag::ORDER_CAPACITY)
1619    }
1620
1621
1622
1623
1624    /// Sets `OrderPercent`, Tag 516.
1625    pub fn set_order_percent(&mut self, val: Decimal, scale: i32) {
1626        self.message.body.set_field(tag::ORDER_PERCENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1627    }
1628
1629    /// Gets `OrderPercent`, Tag 516.
1630    pub fn get_order_percent(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1631        let mut fld = field::OrderPercentField::new(Decimal::ZERO, 0);
1632        self.message.body.get_field(tag::ORDER_PERCENT, &mut fld.0)?;
1633        Ok(fld.value())
1634    }
1635
1636
1637    /// Returns true if `OrderPercent` is present, Tag 516.
1638    pub fn has_order_percent(&self) -> bool {
1639        self.message.body.has(tag::ORDER_PERCENT)
1640    }
1641
1642
1643
1644
1645    /// Sets `OrderQty`, Tag 38.
1646    pub fn set_order_qty(&mut self, val: Decimal, scale: i32) {
1647        self.message.body.set_field(tag::ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1648    }
1649
1650    /// Gets `OrderQty`, Tag 38.
1651    pub fn get_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1652        let mut fld = field::OrderQtyField::new(Decimal::ZERO, 0);
1653        self.message.body.get_field(tag::ORDER_QTY, &mut fld.0)?;
1654        Ok(fld.value())
1655    }
1656
1657
1658    /// Returns true if `OrderQty` is present, Tag 38.
1659    pub fn has_order_qty(&self) -> bool {
1660        self.message.body.has(tag::ORDER_QTY)
1661    }
1662
1663
1664
1665
1666    /// Sets `OrderQty2`, Tag 192.
1667    pub fn set_order_qty2(&mut self, val: Decimal, scale: i32) {
1668        self.message.body.set_field(tag::ORDER_QTY2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1669    }
1670
1671    /// Gets `OrderQty2`, Tag 192.
1672    pub fn get_order_qty2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1673        let mut fld = field::OrderQty2Field::new(Decimal::ZERO, 0);
1674        self.message.body.get_field(tag::ORDER_QTY2, &mut fld.0)?;
1675        Ok(fld.value())
1676    }
1677
1678
1679    /// Returns true if `OrderQty2` is present, Tag 192.
1680    pub fn has_order_qty2(&self) -> bool {
1681        self.message.body.has(tag::ORDER_QTY2)
1682    }
1683
1684
1685
1686
1687    /// Sets `Pool`, Tag 691.
1688    pub fn set_pool(&mut self, v: String) {
1689        self.message.body.set_field(tag::POOL, FIXString::from(v));
1690    }
1691
1692    /// Gets `Pool`, Tag 691.
1693    pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1694        let mut fld = field::PoolField::new(String::new());
1695        self.message.body.get_field(tag::POOL, &mut fld.0)?;
1696        Ok(fld.value().to_string())
1697    }
1698
1699
1700    /// Returns true if `Pool` is present, Tag 691.
1701    pub fn has_pool(&self) -> bool {
1702        self.message.body.has(tag::POOL)
1703    }
1704
1705
1706
1707
1708    /// Sets `PriceType`, Tag 423.
1709    pub fn set_price_type(&mut self, v: isize) {
1710        self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
1711    }
1712
1713    /// Gets `PriceType`, Tag 423.
1714    pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1715        let mut fld = field::PriceTypeField::new(0);
1716        self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
1717        Ok(fld.value())
1718    }
1719
1720
1721    /// Returns true if `PriceType` is present, Tag 423.
1722    pub fn has_price_type(&self) -> bool {
1723        self.message.body.has(tag::PRICE_TYPE)
1724    }
1725
1726
1727
1728
1729    /// Sets `Product`, Tag 460.
1730    pub fn set_product(&mut self, v: isize) {
1731        self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
1732    }
1733
1734    /// Gets `Product`, Tag 460.
1735    pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
1736        let mut fld = field::ProductField::new(0);
1737        self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
1738        Ok(fld.value())
1739    }
1740
1741
1742    /// Returns true if `Product` is present, Tag 460.
1743    pub fn has_product(&self) -> bool {
1744        self.message.body.has(tag::PRODUCT)
1745    }
1746
1747
1748
1749
1750    /// Sets `QuoteID`, Tag 117.
1751    pub fn set_quote_id(&mut self, v: String) {
1752        self.message.body.set_field(tag::QUOTE_ID, FIXString::from(v));
1753    }
1754
1755    /// Gets `QuoteID`, Tag 117.
1756    pub fn get_quote_id(&self) -> Result<String, MessageRejectErrorEnum> {
1757        let mut fld = field::QuoteIDField::new(String::new());
1758        self.message.body.get_field(tag::QUOTE_ID, &mut fld.0)?;
1759        Ok(fld.value().to_string())
1760    }
1761
1762
1763    /// Returns true if `QuoteID` is present, Tag 117.
1764    pub fn has_quote_id(&self) -> bool {
1765        self.message.body.has(tag::QUOTE_ID)
1766    }
1767
1768
1769
1770
1771    /// Sets `QuoteReqID`, Tag 131.
1772    pub fn set_quote_req_id(&mut self, v: String) {
1773        self.message.body.set_field(tag::QUOTE_REQ_ID, FIXString::from(v));
1774    }
1775
1776    /// Gets `QuoteReqID`, Tag 131.
1777    pub fn get_quote_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
1778        let mut fld = field::QuoteReqIDField::new(String::new());
1779        self.message.body.get_field(tag::QUOTE_REQ_ID, &mut fld.0)?;
1780        Ok(fld.value().to_string())
1781    }
1782
1783
1784    /// Returns true if `QuoteReqID` is present, Tag 131.
1785    pub fn has_quote_req_id(&self) -> bool {
1786        self.message.body.has(tag::QUOTE_REQ_ID)
1787    }
1788
1789
1790
1791
1792    /// Sets `QuoteRespID`, Tag 693.
1793    pub fn set_quote_resp_id(&mut self, v: String) {
1794        self.message.body.set_field(tag::QUOTE_RESP_ID, FIXString::from(v));
1795    }
1796
1797    /// Gets `QuoteRespID`, Tag 693.
1798    pub fn get_quote_resp_id(&self) -> Result<String, MessageRejectErrorEnum> {
1799        let mut fld = field::QuoteRespIDField::new(String::new());
1800        self.message.body.get_field(tag::QUOTE_RESP_ID, &mut fld.0)?;
1801        Ok(fld.value().to_string())
1802    }
1803
1804
1805    /// Returns true if `QuoteRespID` is present, Tag 693.
1806    pub fn has_quote_resp_id(&self) -> bool {
1807        self.message.body.has(tag::QUOTE_RESP_ID)
1808    }
1809
1810
1811
1812
1813    /// Sets `QuoteResponseLevel`, Tag 301.
1814    pub fn set_quote_response_level(&mut self, v: isize) {
1815        self.message.body.set_field(tag::QUOTE_RESPONSE_LEVEL, fixer::fix_int::FIXInt::from(v));
1816    }
1817
1818    /// Gets `QuoteResponseLevel`, Tag 301.
1819    pub fn get_quote_response_level(&self) -> Result<isize, MessageRejectErrorEnum> {
1820        let mut fld = field::QuoteResponseLevelField::new(0);
1821        self.message.body.get_field(tag::QUOTE_RESPONSE_LEVEL, &mut fld.0)?;
1822        Ok(fld.value())
1823    }
1824
1825
1826    /// Returns true if `QuoteResponseLevel` is present, Tag 301.
1827    pub fn has_quote_response_level(&self) -> bool {
1828        self.message.body.has(tag::QUOTE_RESPONSE_LEVEL)
1829    }
1830
1831
1832
1833
1834    /// Sets `QuoteType`, Tag 537.
1835    pub fn set_quote_type(&mut self, v: isize) {
1836        self.message.body.set_field(tag::QUOTE_TYPE, fixer::fix_int::FIXInt::from(v));
1837    }
1838
1839    /// Gets `QuoteType`, Tag 537.
1840    pub fn get_quote_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1841        let mut fld = field::QuoteTypeField::new(0);
1842        self.message.body.get_field(tag::QUOTE_TYPE, &mut fld.0)?;
1843        Ok(fld.value())
1844    }
1845
1846
1847    /// Returns true if `QuoteType` is present, Tag 537.
1848    pub fn has_quote_type(&self) -> bool {
1849        self.message.body.has(tag::QUOTE_TYPE)
1850    }
1851
1852
1853
1854
1855    /// Sets `RedemptionDate`, Tag 240.
1856    pub fn set_redemption_date(&mut self, v: String) {
1857        self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
1858    }
1859
1860    /// Gets `RedemptionDate`, Tag 240.
1861    pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
1862        let mut fld = field::RedemptionDateField::new(String::new());
1863        self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
1864        Ok(fld.value().to_string())
1865    }
1866
1867
1868    /// Returns true if `RedemptionDate` is present, Tag 240.
1869    pub fn has_redemption_date(&self) -> bool {
1870        self.message.body.has(tag::REDEMPTION_DATE)
1871    }
1872
1873
1874
1875
1876    /// Sets `RepoCollateralSecurityType`, Tag 239.
1877    pub fn set_repo_collateral_security_type(&mut self, v: isize) {
1878        self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
1879    }
1880
1881    /// Gets `RepoCollateralSecurityType`, Tag 239.
1882    pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1883        let mut fld = field::RepoCollateralSecurityTypeField::new(0);
1884        self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
1885        Ok(fld.value())
1886    }
1887
1888
1889    /// Returns true if `RepoCollateralSecurityType` is present, Tag 239.
1890    pub fn has_repo_collateral_security_type(&self) -> bool {
1891        self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
1892    }
1893
1894
1895
1896
1897    /// Sets `RepurchaseRate`, Tag 227.
1898    pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
1899        self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1900    }
1901
1902    /// Gets `RepurchaseRate`, Tag 227.
1903    pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1904        let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
1905        self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
1906        Ok(fld.value())
1907    }
1908
1909
1910    /// Returns true if `RepurchaseRate` is present, Tag 227.
1911    pub fn has_repurchase_rate(&self) -> bool {
1912        self.message.body.has(tag::REPURCHASE_RATE)
1913    }
1914
1915
1916
1917
1918    /// Sets `RepurchaseTerm`, Tag 226.
1919    pub fn set_repurchase_term(&mut self, v: isize) {
1920        self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
1921    }
1922
1923    /// Gets `RepurchaseTerm`, Tag 226.
1924    pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
1925        let mut fld = field::RepurchaseTermField::new(0);
1926        self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
1927        Ok(fld.value())
1928    }
1929
1930
1931    /// Returns true if `RepurchaseTerm` is present, Tag 226.
1932    pub fn has_repurchase_term(&self) -> bool {
1933        self.message.body.has(tag::REPURCHASE_TERM)
1934    }
1935
1936
1937
1938
1939    /// Sets `RoundingDirection`, Tag 468.
1940    pub fn set_rounding_direction(&mut self, v: String) {
1941        self.message.body.set_field(tag::ROUNDING_DIRECTION, FIXString::from(v));
1942    }
1943
1944    /// Gets `RoundingDirection`, Tag 468.
1945    pub fn get_rounding_direction(&self) -> Result<String, MessageRejectErrorEnum> {
1946        let mut fld = field::RoundingDirectionField::new(String::new());
1947        self.message.body.get_field(tag::ROUNDING_DIRECTION, &mut fld.0)?;
1948        Ok(fld.value().to_string())
1949    }
1950
1951
1952    /// Returns true if `RoundingDirection` is present, Tag 468.
1953    pub fn has_rounding_direction(&self) -> bool {
1954        self.message.body.has(tag::ROUNDING_DIRECTION)
1955    }
1956
1957
1958
1959
1960    /// Sets `RoundingModulus`, Tag 469.
1961    pub fn set_rounding_modulus(&mut self, val: Decimal, scale: i32) {
1962        self.message.body.set_field(tag::ROUNDING_MODULUS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1963    }
1964
1965    /// Gets `RoundingModulus`, Tag 469.
1966    pub fn get_rounding_modulus(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1967        let mut fld = field::RoundingModulusField::new(Decimal::ZERO, 0);
1968        self.message.body.get_field(tag::ROUNDING_MODULUS, &mut fld.0)?;
1969        Ok(fld.value())
1970    }
1971
1972
1973    /// Returns true if `RoundingModulus` is present, Tag 469.
1974    pub fn has_rounding_modulus(&self) -> bool {
1975        self.message.body.has(tag::ROUNDING_MODULUS)
1976    }
1977
1978
1979
1980
1981    /// Sets `SecurityDesc`, Tag 107.
1982    pub fn set_security_desc(&mut self, v: String) {
1983        self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
1984    }
1985
1986    /// Gets `SecurityDesc`, Tag 107.
1987    pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1988        let mut fld = field::SecurityDescField::new(String::new());
1989        self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
1990        Ok(fld.value().to_string())
1991    }
1992
1993
1994    /// Returns true if `SecurityDesc` is present, Tag 107.
1995    pub fn has_security_desc(&self) -> bool {
1996        self.message.body.has(tag::SECURITY_DESC)
1997    }
1998
1999
2000
2001
2002    /// Sets `SecurityExchange`, Tag 207.
2003    pub fn set_security_exchange(&mut self, v: String) {
2004        self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
2005    }
2006
2007    /// Gets `SecurityExchange`, Tag 207.
2008    pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
2009        let mut fld = field::SecurityExchangeField::new(String::new());
2010        self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
2011        Ok(fld.value().to_string())
2012    }
2013
2014
2015    /// Returns true if `SecurityExchange` is present, Tag 207.
2016    pub fn has_security_exchange(&self) -> bool {
2017        self.message.body.has(tag::SECURITY_EXCHANGE)
2018    }
2019
2020
2021
2022
2023    /// Sets `SecurityID`, Tag 48.
2024    pub fn set_security_id(&mut self, v: String) {
2025        self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
2026    }
2027
2028    /// Gets `SecurityID`, Tag 48.
2029    pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
2030        let mut fld = field::SecurityIDField::new(String::new());
2031        self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
2032        Ok(fld.value().to_string())
2033    }
2034
2035
2036    /// Returns true if `SecurityID` is present, Tag 48.
2037    pub fn has_security_id(&self) -> bool {
2038        self.message.body.has(tag::SECURITY_ID)
2039    }
2040
2041
2042
2043
2044    /// Sets `SecurityIDSource`, Tag 22.
2045    pub fn set_security_id_source(&mut self, v: String) {
2046        self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
2047    }
2048
2049    /// Gets `SecurityIDSource`, Tag 22.
2050    pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
2051        let mut fld = field::SecurityIDSourceField::new(String::new());
2052        self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
2053        Ok(fld.value().to_string())
2054    }
2055
2056
2057    /// Returns true if `SecurityIDSource` is present, Tag 22.
2058    pub fn has_security_id_source(&self) -> bool {
2059        self.message.body.has(tag::SECURITY_ID_SOURCE)
2060    }
2061
2062
2063
2064
2065    /// Sets `SecuritySubType`, Tag 762.
2066    pub fn set_security_sub_type(&mut self, v: String) {
2067        self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
2068    }
2069
2070    /// Gets `SecuritySubType`, Tag 762.
2071    pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
2072        let mut fld = field::SecuritySubTypeField::new(String::new());
2073        self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
2074        Ok(fld.value().to_string())
2075    }
2076
2077
2078    /// Returns true if `SecuritySubType` is present, Tag 762.
2079    pub fn has_security_sub_type(&self) -> bool {
2080        self.message.body.has(tag::SECURITY_SUB_TYPE)
2081    }
2082
2083
2084
2085
2086    /// Sets `SecurityType`, Tag 167.
2087    pub fn set_security_type(&mut self, v: String) {
2088        self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2089    }
2090
2091    /// Gets `SecurityType`, Tag 167.
2092    pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2093        let mut fld = field::SecurityTypeField::new(String::new());
2094        self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2095        Ok(fld.value().to_string())
2096    }
2097
2098
2099    /// Returns true if `SecurityType` is present, Tag 167.
2100    pub fn has_security_type(&self) -> bool {
2101        self.message.body.has(tag::SECURITY_TYPE)
2102    }
2103
2104
2105
2106
2107    /// Sets `SettlCurrBidFxRate`, Tag 656.
2108    pub fn set_settl_curr_bid_fx_rate(&mut self, val: Decimal, scale: i32) {
2109        self.message.body.set_field(tag::SETTL_CURR_BID_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2110    }
2111
2112    /// Gets `SettlCurrBidFxRate`, Tag 656.
2113    pub fn get_settl_curr_bid_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2114        let mut fld = field::SettlCurrBidFxRateField::new(Decimal::ZERO, 0);
2115        self.message.body.get_field(tag::SETTL_CURR_BID_FX_RATE, &mut fld.0)?;
2116        Ok(fld.value())
2117    }
2118
2119
2120    /// Returns true if `SettlCurrBidFxRate` is present, Tag 656.
2121    pub fn has_settl_curr_bid_fx_rate(&self) -> bool {
2122        self.message.body.has(tag::SETTL_CURR_BID_FX_RATE)
2123    }
2124
2125
2126
2127
2128    /// Sets `SettlCurrFxRateCalc`, Tag 156.
2129    pub fn set_settl_curr_fx_rate_calc(&mut self, v: String) {
2130        self.message.body.set_field(tag::SETTL_CURR_FX_RATE_CALC, FIXString::from(v));
2131    }
2132
2133    /// Gets `SettlCurrFxRateCalc`, Tag 156.
2134    pub fn get_settl_curr_fx_rate_calc(&self) -> Result<String, MessageRejectErrorEnum> {
2135        let mut fld = field::SettlCurrFxRateCalcField::new(String::new());
2136        self.message.body.get_field(tag::SETTL_CURR_FX_RATE_CALC, &mut fld.0)?;
2137        Ok(fld.value().to_string())
2138    }
2139
2140
2141    /// Returns true if `SettlCurrFxRateCalc` is present, Tag 156.
2142    pub fn has_settl_curr_fx_rate_calc(&self) -> bool {
2143        self.message.body.has(tag::SETTL_CURR_FX_RATE_CALC)
2144    }
2145
2146
2147
2148
2149    /// Sets `SettlCurrOfferFxRate`, Tag 657.
2150    pub fn set_settl_curr_offer_fx_rate(&mut self, val: Decimal, scale: i32) {
2151        self.message.body.set_field(tag::SETTL_CURR_OFFER_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2152    }
2153
2154    /// Gets `SettlCurrOfferFxRate`, Tag 657.
2155    pub fn get_settl_curr_offer_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2156        let mut fld = field::SettlCurrOfferFxRateField::new(Decimal::ZERO, 0);
2157        self.message.body.get_field(tag::SETTL_CURR_OFFER_FX_RATE, &mut fld.0)?;
2158        Ok(fld.value())
2159    }
2160
2161
2162    /// Returns true if `SettlCurrOfferFxRate` is present, Tag 657.
2163    pub fn has_settl_curr_offer_fx_rate(&self) -> bool {
2164        self.message.body.has(tag::SETTL_CURR_OFFER_FX_RATE)
2165    }
2166
2167
2168
2169
2170    /// Sets `SettlDate`, Tag 64.
2171    pub fn set_settl_date(&mut self, v: String) {
2172        self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
2173    }
2174
2175    /// Gets `SettlDate`, Tag 64.
2176    pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
2177        let mut fld = field::SettlDateField::new(String::new());
2178        self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
2179        Ok(fld.value().to_string())
2180    }
2181
2182
2183    /// Returns true if `SettlDate` is present, Tag 64.
2184    pub fn has_settl_date(&self) -> bool {
2185        self.message.body.has(tag::SETTL_DATE)
2186    }
2187
2188
2189
2190
2191    /// Sets `SettlDate2`, Tag 193.
2192    pub fn set_settl_date2(&mut self, v: String) {
2193        self.message.body.set_field(tag::SETTL_DATE2, FIXString::from(v));
2194    }
2195
2196    /// Gets `SettlDate2`, Tag 193.
2197    pub fn get_settl_date2(&self) -> Result<String, MessageRejectErrorEnum> {
2198        let mut fld = field::SettlDate2Field::new(String::new());
2199        self.message.body.get_field(tag::SETTL_DATE2, &mut fld.0)?;
2200        Ok(fld.value().to_string())
2201    }
2202
2203
2204    /// Returns true if `SettlDate2` is present, Tag 193.
2205    pub fn has_settl_date2(&self) -> bool {
2206        self.message.body.has(tag::SETTL_DATE2)
2207    }
2208
2209
2210
2211
2212    /// Sets `SettlType`, Tag 63.
2213    pub fn set_settl_type(&mut self, v: String) {
2214        self.message.body.set_field(tag::SETTL_TYPE, FIXString::from(v));
2215    }
2216
2217    /// Gets `SettlType`, Tag 63.
2218    pub fn get_settl_type(&self) -> Result<String, MessageRejectErrorEnum> {
2219        let mut fld = field::SettlTypeField::new(String::new());
2220        self.message.body.get_field(tag::SETTL_TYPE, &mut fld.0)?;
2221        Ok(fld.value().to_string())
2222    }
2223
2224
2225    /// Returns true if `SettlType` is present, Tag 63.
2226    pub fn has_settl_type(&self) -> bool {
2227        self.message.body.has(tag::SETTL_TYPE)
2228    }
2229
2230
2231
2232
2233    /// Sets `Side`, Tag 54.
2234    pub fn set_side(&mut self, v: String) {
2235        self.message.body.set_field(tag::SIDE, FIXString::from(v));
2236    }
2237
2238    /// Gets `Side`, Tag 54.
2239    pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2240        let mut fld = field::SideField::new(String::new());
2241        self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2242        Ok(fld.value().to_string())
2243    }
2244
2245
2246    /// Returns true if `Side` is present, Tag 54.
2247    pub fn has_side(&self) -> bool {
2248        self.message.body.has(tag::SIDE)
2249    }
2250
2251
2252
2253
2254    /// Sets `Spread`, Tag 218.
2255    pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2256        self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2257    }
2258
2259    /// Gets `Spread`, Tag 218.
2260    pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2261        let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2262        self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2263        Ok(fld.value())
2264    }
2265
2266
2267    /// Returns true if `Spread` is present, Tag 218.
2268    pub fn has_spread(&self) -> bool {
2269        self.message.body.has(tag::SPREAD)
2270    }
2271
2272
2273
2274
2275    /// Sets `StartDate`, Tag 916.
2276    pub fn set_start_date(&mut self, v: String) {
2277        self.message.body.set_field(tag::START_DATE, FIXString::from(v));
2278    }
2279
2280    /// Gets `StartDate`, Tag 916.
2281    pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
2282        let mut fld = field::StartDateField::new(String::new());
2283        self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
2284        Ok(fld.value().to_string())
2285    }
2286
2287
2288    /// Returns true if `StartDate` is present, Tag 916.
2289    pub fn has_start_date(&self) -> bool {
2290        self.message.body.has(tag::START_DATE)
2291    }
2292
2293
2294
2295
2296    /// Sets `StateOrProvinceOfIssue`, Tag 471.
2297    pub fn set_state_or_province_of_issue(&mut self, v: String) {
2298        self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2299    }
2300
2301    /// Gets `StateOrProvinceOfIssue`, Tag 471.
2302    pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2303        let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2304        self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2305        Ok(fld.value().to_string())
2306    }
2307
2308
2309    /// Returns true if `StateOrProvinceOfIssue` is present, Tag 471.
2310    pub fn has_state_or_province_of_issue(&self) -> bool {
2311        self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2312    }
2313
2314
2315
2316
2317    /// Sets `StrikeCurrency`, Tag 947.
2318    pub fn set_strike_currency(&mut self, v: String) {
2319        self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2320    }
2321
2322    /// Gets `StrikeCurrency`, Tag 947.
2323    pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2324        let mut fld = field::StrikeCurrencyField::new(String::new());
2325        self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2326        Ok(fld.value().to_string())
2327    }
2328
2329
2330    /// Returns true if `StrikeCurrency` is present, Tag 947.
2331    pub fn has_strike_currency(&self) -> bool {
2332        self.message.body.has(tag::STRIKE_CURRENCY)
2333    }
2334
2335
2336
2337
2338    /// Sets `StrikePrice`, Tag 202.
2339    pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2340        self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2341    }
2342
2343    /// Gets `StrikePrice`, Tag 202.
2344    pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2345        let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2346        self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2347        Ok(fld.value())
2348    }
2349
2350
2351    /// Returns true if `StrikePrice` is present, Tag 202.
2352    pub fn has_strike_price(&self) -> bool {
2353        self.message.body.has(tag::STRIKE_PRICE)
2354    }
2355
2356
2357
2358
2359    /// Sets `Symbol`, Tag 55.
2360    pub fn set_symbol(&mut self, v: String) {
2361        self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2362    }
2363
2364    /// Gets `Symbol`, Tag 55.
2365    pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2366        let mut fld = field::SymbolField::new(String::new());
2367        self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2368        Ok(fld.value().to_string())
2369    }
2370
2371
2372    /// Returns true if `Symbol` is present, Tag 55.
2373    pub fn has_symbol(&self) -> bool {
2374        self.message.body.has(tag::SYMBOL)
2375    }
2376
2377
2378
2379
2380    /// Sets `SymbolSfx`, Tag 65.
2381    pub fn set_symbol_sfx(&mut self, v: String) {
2382        self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2383    }
2384
2385    /// Gets `SymbolSfx`, Tag 65.
2386    pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2387        let mut fld = field::SymbolSfxField::new(String::new());
2388        self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2389        Ok(fld.value().to_string())
2390    }
2391
2392
2393    /// Returns true if `SymbolSfx` is present, Tag 65.
2394    pub fn has_symbol_sfx(&self) -> bool {
2395        self.message.body.has(tag::SYMBOL_SFX)
2396    }
2397
2398
2399
2400
2401    /// Sets `TerminationType`, Tag 788.
2402    pub fn set_termination_type(&mut self, v: isize) {
2403        self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
2404    }
2405
2406    /// Gets `TerminationType`, Tag 788.
2407    pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2408        let mut fld = field::TerminationTypeField::new(0);
2409        self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
2410        Ok(fld.value())
2411    }
2412
2413
2414    /// Returns true if `TerminationType` is present, Tag 788.
2415    pub fn has_termination_type(&self) -> bool {
2416        self.message.body.has(tag::TERMINATION_TYPE)
2417    }
2418
2419
2420
2421
2422    /// Sets `Text`, Tag 58.
2423    pub fn set_text(&mut self, v: String) {
2424        self.message.body.set_field(tag::TEXT, FIXString::from(v));
2425    }
2426
2427    /// Gets `Text`, Tag 58.
2428    pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2429        let mut fld = field::TextField::new(String::new());
2430        self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2431        Ok(fld.value().to_string())
2432    }
2433
2434
2435    /// Returns true if `Text` is present, Tag 58.
2436    pub fn has_text(&self) -> bool {
2437        self.message.body.has(tag::TEXT)
2438    }
2439
2440
2441
2442
2443    /// Sets `TradingSessionID`, Tag 336.
2444    pub fn set_trading_session_id(&mut self, v: String) {
2445        self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
2446    }
2447
2448    /// Gets `TradingSessionID`, Tag 336.
2449    pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
2450        let mut fld = field::TradingSessionIDField::new(String::new());
2451        self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
2452        Ok(fld.value().to_string())
2453    }
2454
2455
2456    /// Returns true if `TradingSessionID` is present, Tag 336.
2457    pub fn has_trading_session_id(&self) -> bool {
2458        self.message.body.has(tag::TRADING_SESSION_ID)
2459    }
2460
2461
2462
2463
2464    /// Sets `TradingSessionSubID`, Tag 625.
2465    pub fn set_trading_session_sub_id(&mut self, v: String) {
2466        self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
2467    }
2468
2469    /// Gets `TradingSessionSubID`, Tag 625.
2470    pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2471        let mut fld = field::TradingSessionSubIDField::new(String::new());
2472        self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
2473        Ok(fld.value().to_string())
2474    }
2475
2476
2477    /// Returns true if `TradingSessionSubID` is present, Tag 625.
2478    pub fn has_trading_session_sub_id(&self) -> bool {
2479        self.message.body.has(tag::TRADING_SESSION_SUB_ID)
2480    }
2481
2482
2483
2484
2485    /// Sets `TransactTime`, Tag 60.
2486    pub fn set_transact_time(&mut self, v: Timestamp) {
2487        self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2488            time: v,
2489            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2490        });
2491    }
2492
2493    /// Gets `TransactTime`, Tag 60.
2494    pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2495        let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
2496        self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
2497        Ok(fld.value())
2498    }
2499
2500
2501    /// Returns true if `TransactTime` is present, Tag 60.
2502    pub fn has_transact_time(&self) -> bool {
2503        self.message.body.has(tag::TRANSACT_TIME)
2504    }
2505
2506
2507
2508
2509    /// Sets `ValidUntilTime`, Tag 62.
2510    pub fn set_valid_until_time(&mut self, v: Timestamp) {
2511        self.message.body.set_field(tag::VALID_UNTIL_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2512            time: v,
2513            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2514        });
2515    }
2516
2517    /// Gets `ValidUntilTime`, Tag 62.
2518    pub fn get_valid_until_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2519        let mut fld = field::ValidUntilTimeField::new(Timestamp::UNIX_EPOCH);
2520        self.message.body.get_field(tag::VALID_UNTIL_TIME, &mut fld.0)?;
2521        Ok(fld.value())
2522    }
2523
2524
2525    /// Returns true if `ValidUntilTime` is present, Tag 62.
2526    pub fn has_valid_until_time(&self) -> bool {
2527        self.message.body.has(tag::VALID_UNTIL_TIME)
2528    }
2529
2530
2531
2532
2533    /// Sets `Yield`, Tag 236.
2534    pub fn set_yield(&mut self, val: Decimal, scale: i32) {
2535        self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2536    }
2537
2538    /// Gets `Yield`, Tag 236.
2539    pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2540        let mut fld = field::YieldField::new(Decimal::ZERO, 0);
2541        self.message.body.get_field(tag::YIELD, &mut fld.0)?;
2542        Ok(fld.value())
2543    }
2544
2545
2546    /// Returns true if `Yield` is present, Tag 236.
2547    pub fn has_yield(&self) -> bool {
2548        self.message.body.has(tag::YIELD)
2549    }
2550
2551
2552
2553
2554    /// Sets `YieldCalcDate`, Tag 701.
2555    pub fn set_yield_calc_date(&mut self, v: String) {
2556        self.message.body.set_field(tag::YIELD_CALC_DATE, FIXString::from(v));
2557    }
2558
2559    /// Gets `YieldCalcDate`, Tag 701.
2560    pub fn get_yield_calc_date(&self) -> Result<String, MessageRejectErrorEnum> {
2561        let mut fld = field::YieldCalcDateField::new(String::new());
2562        self.message.body.get_field(tag::YIELD_CALC_DATE, &mut fld.0)?;
2563        Ok(fld.value().to_string())
2564    }
2565
2566
2567    /// Returns true if `YieldCalcDate` is present, Tag 701.
2568    pub fn has_yield_calc_date(&self) -> bool {
2569        self.message.body.has(tag::YIELD_CALC_DATE)
2570    }
2571
2572
2573
2574
2575    /// Sets `YieldRedemptionDate`, Tag 696.
2576    pub fn set_yield_redemption_date(&mut self, v: String) {
2577        self.message.body.set_field(tag::YIELD_REDEMPTION_DATE, FIXString::from(v));
2578    }
2579
2580    /// Gets `YieldRedemptionDate`, Tag 696.
2581    pub fn get_yield_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2582        let mut fld = field::YieldRedemptionDateField::new(String::new());
2583        self.message.body.get_field(tag::YIELD_REDEMPTION_DATE, &mut fld.0)?;
2584        Ok(fld.value().to_string())
2585    }
2586
2587
2588    /// Returns true if `YieldRedemptionDate` is present, Tag 696.
2589    pub fn has_yield_redemption_date(&self) -> bool {
2590        self.message.body.has(tag::YIELD_REDEMPTION_DATE)
2591    }
2592
2593
2594
2595
2596    /// Sets `YieldRedemptionPrice`, Tag 697.
2597    pub fn set_yield_redemption_price(&mut self, val: Decimal, scale: i32) {
2598        self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2599    }
2600
2601    /// Gets `YieldRedemptionPrice`, Tag 697.
2602    pub fn get_yield_redemption_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2603        let mut fld = field::YieldRedemptionPriceField::new(Decimal::ZERO, 0);
2604        self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE, &mut fld.0)?;
2605        Ok(fld.value())
2606    }
2607
2608
2609    /// Returns true if `YieldRedemptionPrice` is present, Tag 697.
2610    pub fn has_yield_redemption_price(&self) -> bool {
2611        self.message.body.has(tag::YIELD_REDEMPTION_PRICE)
2612    }
2613
2614
2615
2616
2617    /// Sets `YieldRedemptionPriceType`, Tag 698.
2618    pub fn set_yield_redemption_price_type(&mut self, v: isize) {
2619        self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
2620    }
2621
2622    /// Gets `YieldRedemptionPriceType`, Tag 698.
2623    pub fn get_yield_redemption_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2624        let mut fld = field::YieldRedemptionPriceTypeField::new(0);
2625        self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE_TYPE, &mut fld.0)?;
2626        Ok(fld.value())
2627    }
2628
2629
2630    /// Returns true if `YieldRedemptionPriceType` is present, Tag 698.
2631    pub fn has_yield_redemption_price_type(&self) -> bool {
2632        self.message.body.has(tag::YIELD_REDEMPTION_PRICE_TYPE)
2633    }
2634
2635
2636
2637
2638    /// Sets `YieldType`, Tag 235.
2639    pub fn set_yield_type(&mut self, v: String) {
2640        self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
2641    }
2642
2643    /// Gets `YieldType`, Tag 235.
2644    pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
2645        let mut fld = field::YieldTypeField::new(String::new());
2646        self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
2647        Ok(fld.value().to_string())
2648    }
2649
2650
2651    /// Returns true if `YieldType` is present, Tag 235.
2652    pub fn has_yield_type(&self) -> bool {
2653        self.message.body.has(tag::YIELD_TYPE)
2654    }
2655
2656
2657}
2658
2659/// `RouteOut` is the callback type for routing `Quote` messages.
2660pub type RouteOut = fn(msg: Quote, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
2661
2662/// Route type returned by the `route` function.
2663pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
2664
2665/// Returns the begin string, message type, and route function for `Quote`.
2666pub fn route(router: RouteOut) -> Route {
2667    let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
2668        router(Quote::from_message(msg.clone()), session_id)
2669    };
2670    ("FIX.4.4", "S", Box::new(r))
2671}