Skip to main content

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