Skip to main content

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