Skip to main content

fixer_fix/fix50sp2/
advertisement.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/// `Advertisement` is the `fix50sp2` `Advertisement` type, `MsgType` = 7.
21pub struct Advertisement {
22    pub message: Message,
23}
24
25impl Advertisement {
26    /// Creates a new `Advertisement` with required fields.
27    pub fn new(adv_id: field::AdvIdField, adv_trans_type: field::AdvTransTypeField, adv_side: field::AdvSideField, quantity: field::QuantityField) -> Self {
28        let mut msg = Message::new();
29        msg.header.set_field(tag::MSG_TYPE, FIXString::from("7".to_string()));
30
31        msg.body.set_field(tag::ADV_ID, adv_id.0);
32
33        msg.body.set_field(tag::ADV_TRANS_TYPE, adv_trans_type.0);
34
35        msg.body.set_field(tag::ADV_SIDE, adv_side.0);
36
37        msg.body.set_field(tag::QUANTITY, quantity.0);
38
39        Self { message: msg }
40    }
41
42    /// Creates a `Advertisement` from an existing `Message`.
43    pub fn from_message(msg: Message) -> Self {
44        Self { message: msg }
45    }
46
47    /// Returns the underlying `Message`.
48    pub fn to_message(self) -> Message {
49        self.message
50    }
51
52
53
54
55    /// Sets `AdvId`, Tag 2.
56    pub fn set_adv_id(&mut self, v: String) {
57        self.message.body.set_field(tag::ADV_ID, FIXString::from(v));
58    }
59
60    /// Gets `AdvId`, Tag 2.
61    pub fn get_adv_id(&self) -> Result<String, MessageRejectErrorEnum> {
62        let mut fld = field::AdvIdField::new(String::new());
63        self.message.body.get_field(tag::ADV_ID, &mut fld.0)?;
64        Ok(fld.value().to_string())
65    }
66
67
68    /// Returns true if `AdvId` is present, Tag 2.
69    pub fn has_adv_id(&self) -> bool {
70        self.message.body.has(tag::ADV_ID)
71    }
72
73
74
75
76    /// Sets `AdvRefID`, Tag 3.
77    pub fn set_adv_ref_id(&mut self, v: String) {
78        self.message.body.set_field(tag::ADV_REF_ID, FIXString::from(v));
79    }
80
81    /// Gets `AdvRefID`, Tag 3.
82    pub fn get_adv_ref_id(&self) -> Result<String, MessageRejectErrorEnum> {
83        let mut fld = field::AdvRefIDField::new(String::new());
84        self.message.body.get_field(tag::ADV_REF_ID, &mut fld.0)?;
85        Ok(fld.value().to_string())
86    }
87
88
89    /// Returns true if `AdvRefID` is present, Tag 3.
90    pub fn has_adv_ref_id(&self) -> bool {
91        self.message.body.has(tag::ADV_REF_ID)
92    }
93
94
95
96
97    /// Sets `AdvSide`, Tag 4.
98    pub fn set_adv_side(&mut self, v: String) {
99        self.message.body.set_field(tag::ADV_SIDE, FIXString::from(v));
100    }
101
102    /// Gets `AdvSide`, Tag 4.
103    pub fn get_adv_side(&self) -> Result<String, MessageRejectErrorEnum> {
104        let mut fld = field::AdvSideField::new(String::new());
105        self.message.body.get_field(tag::ADV_SIDE, &mut fld.0)?;
106        Ok(fld.value().to_string())
107    }
108
109
110    /// Returns true if `AdvSide` is present, Tag 4.
111    pub fn has_adv_side(&self) -> bool {
112        self.message.body.has(tag::ADV_SIDE)
113    }
114
115
116
117
118    /// Sets `AdvTransType`, Tag 5.
119    pub fn set_adv_trans_type(&mut self, v: String) {
120        self.message.body.set_field(tag::ADV_TRANS_TYPE, FIXString::from(v));
121    }
122
123    /// Gets `AdvTransType`, Tag 5.
124    pub fn get_adv_trans_type(&self) -> Result<String, MessageRejectErrorEnum> {
125        let mut fld = field::AdvTransTypeField::new(String::new());
126        self.message.body.get_field(tag::ADV_TRANS_TYPE, &mut fld.0)?;
127        Ok(fld.value().to_string())
128    }
129
130
131    /// Returns true if `AdvTransType` is present, Tag 5.
132    pub fn has_adv_trans_type(&self) -> bool {
133        self.message.body.has(tag::ADV_TRANS_TYPE)
134    }
135
136
137
138
139    /// Sets `AttachmentPoint`, Tag 1457.
140    pub fn set_attachment_point(&mut self, val: Decimal, scale: i32) {
141        self.message.body.set_field(tag::ATTACHMENT_POINT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
142    }
143
144    /// Gets `AttachmentPoint`, Tag 1457.
145    pub fn get_attachment_point(&self) -> Result<Decimal, MessageRejectErrorEnum> {
146        let mut fld = field::AttachmentPointField::new(Decimal::ZERO, 0);
147        self.message.body.get_field(tag::ATTACHMENT_POINT, &mut fld.0)?;
148        Ok(fld.value())
149    }
150
151
152    /// Returns true if `AttachmentPoint` is present, Tag 1457.
153    pub fn has_attachment_point(&self) -> bool {
154        self.message.body.has(tag::ATTACHMENT_POINT)
155    }
156
157
158
159
160    /// Sets `CFICode`, Tag 461.
161    pub fn set_cfi_code(&mut self, v: String) {
162        self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
163    }
164
165    /// Gets `CFICode`, Tag 461.
166    pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
167        let mut fld = field::CFICodeField::new(String::new());
168        self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
169        Ok(fld.value().to_string())
170    }
171
172
173    /// Returns true if `CFICode` is present, Tag 461.
174    pub fn has_cfi_code(&self) -> bool {
175        self.message.body.has(tag::CFI_CODE)
176    }
177
178
179
180
181    /// Sets `CPProgram`, Tag 875.
182    pub fn set_cp_program(&mut self, v: isize) {
183        self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
184    }
185
186    /// Gets `CPProgram`, Tag 875.
187    pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
188        let mut fld = field::CPProgramField::new(0);
189        self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
190        Ok(fld.value())
191    }
192
193
194    /// Returns true if `CPProgram` is present, Tag 875.
195    pub fn has_cp_program(&self) -> bool {
196        self.message.body.has(tag::CP_PROGRAM)
197    }
198
199
200
201
202    /// Sets `CPRegType`, Tag 876.
203    pub fn set_cp_reg_type(&mut self, v: String) {
204        self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
205    }
206
207    /// Gets `CPRegType`, Tag 876.
208    pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
209        let mut fld = field::CPRegTypeField::new(String::new());
210        self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
211        Ok(fld.value().to_string())
212    }
213
214
215    /// Returns true if `CPRegType` is present, Tag 876.
216    pub fn has_cp_reg_type(&self) -> bool {
217        self.message.body.has(tag::CP_REG_TYPE)
218    }
219
220
221
222
223    /// Sets `CapPrice`, Tag 1199.
224    pub fn set_cap_price(&mut self, val: Decimal, scale: i32) {
225        self.message.body.set_field(tag::CAP_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
226    }
227
228    /// Gets `CapPrice`, Tag 1199.
229    pub fn get_cap_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
230        let mut fld = field::CapPriceField::new(Decimal::ZERO, 0);
231        self.message.body.get_field(tag::CAP_PRICE, &mut fld.0)?;
232        Ok(fld.value())
233    }
234
235
236    /// Returns true if `CapPrice` is present, Tag 1199.
237    pub fn has_cap_price(&self) -> bool {
238        self.message.body.has(tag::CAP_PRICE)
239    }
240
241
242
243
244    /// Sets `ContractMultiplier`, Tag 231.
245    pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
246        self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
247    }
248
249    /// Gets `ContractMultiplier`, Tag 231.
250    pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
251        let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
252        self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
253        Ok(fld.value())
254    }
255
256
257    /// Returns true if `ContractMultiplier` is present, Tag 231.
258    pub fn has_contract_multiplier(&self) -> bool {
259        self.message.body.has(tag::CONTRACT_MULTIPLIER)
260    }
261
262
263
264
265    /// Sets `ContractMultiplierUnit`, Tag 1435.
266    pub fn set_contract_multiplier_unit(&mut self, v: isize) {
267        self.message.body.set_field(tag::CONTRACT_MULTIPLIER_UNIT, fixer::fix_int::FIXInt::from(v));
268    }
269
270    /// Gets `ContractMultiplierUnit`, Tag 1435.
271    pub fn get_contract_multiplier_unit(&self) -> Result<isize, MessageRejectErrorEnum> {
272        let mut fld = field::ContractMultiplierUnitField::new(0);
273        self.message.body.get_field(tag::CONTRACT_MULTIPLIER_UNIT, &mut fld.0)?;
274        Ok(fld.value())
275    }
276
277
278    /// Returns true if `ContractMultiplierUnit` is present, Tag 1435.
279    pub fn has_contract_multiplier_unit(&self) -> bool {
280        self.message.body.has(tag::CONTRACT_MULTIPLIER_UNIT)
281    }
282
283
284
285
286    /// Sets `ContractSettlMonth`, Tag 667.
287    pub fn set_contract_settl_month(&mut self, v: String) {
288        self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
289    }
290
291    /// Gets `ContractSettlMonth`, Tag 667.
292    pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
293        let mut fld = field::ContractSettlMonthField::new(String::new());
294        self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
295        Ok(fld.value().to_string())
296    }
297
298
299    /// Returns true if `ContractSettlMonth` is present, Tag 667.
300    pub fn has_contract_settl_month(&self) -> bool {
301        self.message.body.has(tag::CONTRACT_SETTL_MONTH)
302    }
303
304
305
306
307    /// Sets `CountryOfIssue`, Tag 470.
308    pub fn set_country_of_issue(&mut self, v: String) {
309        self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
310    }
311
312    /// Gets `CountryOfIssue`, Tag 470.
313    pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
314        let mut fld = field::CountryOfIssueField::new(String::new());
315        self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
316        Ok(fld.value().to_string())
317    }
318
319
320    /// Returns true if `CountryOfIssue` is present, Tag 470.
321    pub fn has_country_of_issue(&self) -> bool {
322        self.message.body.has(tag::COUNTRY_OF_ISSUE)
323    }
324
325
326
327
328    /// Sets `CouponPaymentDate`, Tag 224.
329    pub fn set_coupon_payment_date(&mut self, v: String) {
330        self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
331    }
332
333    /// Gets `CouponPaymentDate`, Tag 224.
334    pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
335        let mut fld = field::CouponPaymentDateField::new(String::new());
336        self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
337        Ok(fld.value().to_string())
338    }
339
340
341    /// Returns true if `CouponPaymentDate` is present, Tag 224.
342    pub fn has_coupon_payment_date(&self) -> bool {
343        self.message.body.has(tag::COUPON_PAYMENT_DATE)
344    }
345
346
347
348
349    /// Sets `CouponRate`, Tag 223.
350    pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
351        self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
352    }
353
354    /// Gets `CouponRate`, Tag 223.
355    pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
356        let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
357        self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
358        Ok(fld.value())
359    }
360
361
362    /// Returns true if `CouponRate` is present, Tag 223.
363    pub fn has_coupon_rate(&self) -> bool {
364        self.message.body.has(tag::COUPON_RATE)
365    }
366
367
368
369
370    /// Sets `CreditRating`, Tag 255.
371    pub fn set_credit_rating(&mut self, v: String) {
372        self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
373    }
374
375    /// Gets `CreditRating`, Tag 255.
376    pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
377        let mut fld = field::CreditRatingField::new(String::new());
378        self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
379        Ok(fld.value().to_string())
380    }
381
382
383    /// Returns true if `CreditRating` is present, Tag 255.
384    pub fn has_credit_rating(&self) -> bool {
385        self.message.body.has(tag::CREDIT_RATING)
386    }
387
388
389
390
391    /// Sets `Currency`, Tag 15.
392    pub fn set_currency(&mut self, v: String) {
393        self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
394    }
395
396    /// Gets `Currency`, Tag 15.
397    pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
398        let mut fld = field::CurrencyField::new(String::new());
399        self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
400        Ok(fld.value().to_string())
401    }
402
403
404    /// Returns true if `Currency` is present, Tag 15.
405    pub fn has_currency(&self) -> bool {
406        self.message.body.has(tag::CURRENCY)
407    }
408
409
410
411
412    /// Sets `DatedDate`, Tag 873.
413    pub fn set_dated_date(&mut self, v: String) {
414        self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
415    }
416
417    /// Gets `DatedDate`, Tag 873.
418    pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
419        let mut fld = field::DatedDateField::new(String::new());
420        self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
421        Ok(fld.value().to_string())
422    }
423
424
425    /// Returns true if `DatedDate` is present, Tag 873.
426    pub fn has_dated_date(&self) -> bool {
427        self.message.body.has(tag::DATED_DATE)
428    }
429
430
431
432
433    /// Sets `DetachmentPoint`, Tag 1458.
434    pub fn set_detachment_point(&mut self, val: Decimal, scale: i32) {
435        self.message.body.set_field(tag::DETACHMENT_POINT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
436    }
437
438    /// Gets `DetachmentPoint`, Tag 1458.
439    pub fn get_detachment_point(&self) -> Result<Decimal, MessageRejectErrorEnum> {
440        let mut fld = field::DetachmentPointField::new(Decimal::ZERO, 0);
441        self.message.body.get_field(tag::DETACHMENT_POINT, &mut fld.0)?;
442        Ok(fld.value())
443    }
444
445
446    /// Returns true if `DetachmentPoint` is present, Tag 1458.
447    pub fn has_detachment_point(&self) -> bool {
448        self.message.body.has(tag::DETACHMENT_POINT)
449    }
450
451
452
453
454    /// Sets `EncodedIssuer`, Tag 349.
455    pub fn set_encoded_issuer(&mut self, v: String) {
456        self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
457    }
458
459    /// Gets `EncodedIssuer`, Tag 349.
460    pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
461        let mut fld = field::EncodedIssuerField::new(String::new());
462        self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
463        Ok(fld.value().to_string())
464    }
465
466
467    /// Returns true if `EncodedIssuer` is present, Tag 349.
468    pub fn has_encoded_issuer(&self) -> bool {
469        self.message.body.has(tag::ENCODED_ISSUER)
470    }
471
472
473
474
475    /// Sets `EncodedIssuerLen`, Tag 348.
476    pub fn set_encoded_issuer_len(&mut self, v: isize) {
477        self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
478    }
479
480    /// Gets `EncodedIssuerLen`, Tag 348.
481    pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
482        let mut fld = field::EncodedIssuerLenField::new(0);
483        self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
484        Ok(fld.value())
485    }
486
487
488    /// Returns true if `EncodedIssuerLen` is present, Tag 348.
489    pub fn has_encoded_issuer_len(&self) -> bool {
490        self.message.body.has(tag::ENCODED_ISSUER_LEN)
491    }
492
493
494
495
496    /// Sets `EncodedSecurityDesc`, Tag 351.
497    pub fn set_encoded_security_desc(&mut self, v: String) {
498        self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
499    }
500
501    /// Gets `EncodedSecurityDesc`, Tag 351.
502    pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
503        let mut fld = field::EncodedSecurityDescField::new(String::new());
504        self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
505        Ok(fld.value().to_string())
506    }
507
508
509    /// Returns true if `EncodedSecurityDesc` is present, Tag 351.
510    pub fn has_encoded_security_desc(&self) -> bool {
511        self.message.body.has(tag::ENCODED_SECURITY_DESC)
512    }
513
514
515
516
517    /// Sets `EncodedSecurityDescLen`, Tag 350.
518    pub fn set_encoded_security_desc_len(&mut self, v: isize) {
519        self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
520    }
521
522    /// Gets `EncodedSecurityDescLen`, Tag 350.
523    pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
524        let mut fld = field::EncodedSecurityDescLenField::new(0);
525        self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
526        Ok(fld.value())
527    }
528
529
530    /// Returns true if `EncodedSecurityDescLen` is present, Tag 350.
531    pub fn has_encoded_security_desc_len(&self) -> bool {
532        self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
533    }
534
535
536
537
538    /// Sets `EncodedText`, Tag 355.
539    pub fn set_encoded_text(&mut self, v: String) {
540        self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
541    }
542
543    /// Gets `EncodedText`, Tag 355.
544    pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
545        let mut fld = field::EncodedTextField::new(String::new());
546        self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
547        Ok(fld.value().to_string())
548    }
549
550
551    /// Returns true if `EncodedText` is present, Tag 355.
552    pub fn has_encoded_text(&self) -> bool {
553        self.message.body.has(tag::ENCODED_TEXT)
554    }
555
556
557
558
559    /// Sets `EncodedTextLen`, Tag 354.
560    pub fn set_encoded_text_len(&mut self, v: isize) {
561        self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
562    }
563
564    /// Gets `EncodedTextLen`, Tag 354.
565    pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
566        let mut fld = field::EncodedTextLenField::new(0);
567        self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
568        Ok(fld.value())
569    }
570
571
572    /// Returns true if `EncodedTextLen` is present, Tag 354.
573    pub fn has_encoded_text_len(&self) -> bool {
574        self.message.body.has(tag::ENCODED_TEXT_LEN)
575    }
576
577
578
579
580    /// Sets `ExerciseStyle`, Tag 1194.
581    pub fn set_exercise_style(&mut self, v: isize) {
582        self.message.body.set_field(tag::EXERCISE_STYLE, fixer::fix_int::FIXInt::from(v));
583    }
584
585    /// Gets `ExerciseStyle`, Tag 1194.
586    pub fn get_exercise_style(&self) -> Result<isize, MessageRejectErrorEnum> {
587        let mut fld = field::ExerciseStyleField::new(0);
588        self.message.body.get_field(tag::EXERCISE_STYLE, &mut fld.0)?;
589        Ok(fld.value())
590    }
591
592
593    /// Returns true if `ExerciseStyle` is present, Tag 1194.
594    pub fn has_exercise_style(&self) -> bool {
595        self.message.body.has(tag::EXERCISE_STYLE)
596    }
597
598
599
600
601    /// Sets `Factor`, Tag 228.
602    pub fn set_factor(&mut self, val: Decimal, scale: i32) {
603        self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
604    }
605
606    /// Gets `Factor`, Tag 228.
607    pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
608        let mut fld = field::FactorField::new(Decimal::ZERO, 0);
609        self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
610        Ok(fld.value())
611    }
612
613
614    /// Returns true if `Factor` is present, Tag 228.
615    pub fn has_factor(&self) -> bool {
616        self.message.body.has(tag::FACTOR)
617    }
618
619
620
621
622    /// Sets `FlexProductEligibilityIndicator`, Tag 1242.
623    pub fn set_flex_product_eligibility_indicator(&mut self, v: bool) {
624        self.message.body.set_field(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
625    }
626
627    /// Gets `FlexProductEligibilityIndicator`, Tag 1242.
628    pub fn get_flex_product_eligibility_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
629        let mut fld = field::FlexProductEligibilityIndicatorField::new(false);
630        self.message.body.get_field(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR, &mut fld.0)?;
631        Ok(fld.value())
632    }
633
634
635    /// Returns true if `FlexProductEligibilityIndicator` is present, Tag 1242.
636    pub fn has_flex_product_eligibility_indicator(&self) -> bool {
637        self.message.body.has(tag::FLEX_PRODUCT_ELIGIBILITY_INDICATOR)
638    }
639
640
641
642
643    /// Sets `FlexibleIndicator`, Tag 1244.
644    pub fn set_flexible_indicator(&mut self, v: bool) {
645        self.message.body.set_field(tag::FLEXIBLE_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
646    }
647
648    /// Gets `FlexibleIndicator`, Tag 1244.
649    pub fn get_flexible_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
650        let mut fld = field::FlexibleIndicatorField::new(false);
651        self.message.body.get_field(tag::FLEXIBLE_INDICATOR, &mut fld.0)?;
652        Ok(fld.value())
653    }
654
655
656    /// Returns true if `FlexibleIndicator` is present, Tag 1244.
657    pub fn has_flexible_indicator(&self) -> bool {
658        self.message.body.has(tag::FLEXIBLE_INDICATOR)
659    }
660
661
662
663
664    /// Sets `FloorPrice`, Tag 1200.
665    pub fn set_floor_price(&mut self, val: Decimal, scale: i32) {
666        self.message.body.set_field(tag::FLOOR_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
667    }
668
669    /// Gets `FloorPrice`, Tag 1200.
670    pub fn get_floor_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
671        let mut fld = field::FloorPriceField::new(Decimal::ZERO, 0);
672        self.message.body.get_field(tag::FLOOR_PRICE, &mut fld.0)?;
673        Ok(fld.value())
674    }
675
676
677    /// Returns true if `FloorPrice` is present, Tag 1200.
678    pub fn has_floor_price(&self) -> bool {
679        self.message.body.has(tag::FLOOR_PRICE)
680    }
681
682
683
684
685    /// Sets `FlowScheduleType`, Tag 1439.
686    pub fn set_flow_schedule_type(&mut self, v: isize) {
687        self.message.body.set_field(tag::FLOW_SCHEDULE_TYPE, fixer::fix_int::FIXInt::from(v));
688    }
689
690    /// Gets `FlowScheduleType`, Tag 1439.
691    pub fn get_flow_schedule_type(&self) -> Result<isize, MessageRejectErrorEnum> {
692        let mut fld = field::FlowScheduleTypeField::new(0);
693        self.message.body.get_field(tag::FLOW_SCHEDULE_TYPE, &mut fld.0)?;
694        Ok(fld.value())
695    }
696
697
698    /// Returns true if `FlowScheduleType` is present, Tag 1439.
699    pub fn has_flow_schedule_type(&self) -> bool {
700        self.message.body.has(tag::FLOW_SCHEDULE_TYPE)
701    }
702
703
704
705
706    /// Sets `InstrRegistry`, Tag 543.
707    pub fn set_instr_registry(&mut self, v: String) {
708        self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
709    }
710
711    /// Gets `InstrRegistry`, Tag 543.
712    pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
713        let mut fld = field::InstrRegistryField::new(String::new());
714        self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
715        Ok(fld.value().to_string())
716    }
717
718
719    /// Returns true if `InstrRegistry` is present, Tag 543.
720    pub fn has_instr_registry(&self) -> bool {
721        self.message.body.has(tag::INSTR_REGISTRY)
722    }
723
724
725
726
727    /// Sets `InstrmtAssignmentMethod`, Tag 1049.
728    pub fn set_instrmt_assignment_method(&mut self, v: String) {
729        self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
730    }
731
732    /// Gets `InstrmtAssignmentMethod`, Tag 1049.
733    pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
734        let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
735        self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
736        Ok(fld.value().to_string())
737    }
738
739
740    /// Returns true if `InstrmtAssignmentMethod` is present, Tag 1049.
741    pub fn has_instrmt_assignment_method(&self) -> bool {
742        self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
743    }
744
745
746
747
748    /// Sets `InterestAccrualDate`, Tag 874.
749    pub fn set_interest_accrual_date(&mut self, v: String) {
750        self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
751    }
752
753    /// Gets `InterestAccrualDate`, Tag 874.
754    pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
755        let mut fld = field::InterestAccrualDateField::new(String::new());
756        self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
757        Ok(fld.value().to_string())
758    }
759
760
761    /// Returns true if `InterestAccrualDate` is present, Tag 874.
762    pub fn has_interest_accrual_date(&self) -> bool {
763        self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
764    }
765
766
767
768
769    /// Sets `IssueDate`, Tag 225.
770    pub fn set_issue_date(&mut self, v: String) {
771        self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
772    }
773
774    /// Gets `IssueDate`, Tag 225.
775    pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
776        let mut fld = field::IssueDateField::new(String::new());
777        self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
778        Ok(fld.value().to_string())
779    }
780
781
782    /// Returns true if `IssueDate` is present, Tag 225.
783    pub fn has_issue_date(&self) -> bool {
784        self.message.body.has(tag::ISSUE_DATE)
785    }
786
787
788
789
790    /// Sets `Issuer`, Tag 106.
791    pub fn set_issuer(&mut self, v: String) {
792        self.message.body.set_field(tag::ISSUER, FIXString::from(v));
793    }
794
795    /// Gets `Issuer`, Tag 106.
796    pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
797        let mut fld = field::IssuerField::new(String::new());
798        self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
799        Ok(fld.value().to_string())
800    }
801
802
803    /// Returns true if `Issuer` is present, Tag 106.
804    pub fn has_issuer(&self) -> bool {
805        self.message.body.has(tag::ISSUER)
806    }
807
808
809
810
811    /// Sets `LastMkt`, Tag 30.
812    pub fn set_last_mkt(&mut self, v: String) {
813        self.message.body.set_field(tag::LAST_MKT, FIXString::from(v));
814    }
815
816    /// Gets `LastMkt`, Tag 30.
817    pub fn get_last_mkt(&self) -> Result<String, MessageRejectErrorEnum> {
818        let mut fld = field::LastMktField::new(String::new());
819        self.message.body.get_field(tag::LAST_MKT, &mut fld.0)?;
820        Ok(fld.value().to_string())
821    }
822
823
824    /// Returns true if `LastMkt` is present, Tag 30.
825    pub fn has_last_mkt(&self) -> bool {
826        self.message.body.has(tag::LAST_MKT)
827    }
828
829
830
831
832    /// Sets `ListMethod`, Tag 1198.
833    pub fn set_list_method(&mut self, v: isize) {
834        self.message.body.set_field(tag::LIST_METHOD, fixer::fix_int::FIXInt::from(v));
835    }
836
837    /// Gets `ListMethod`, Tag 1198.
838    pub fn get_list_method(&self) -> Result<isize, MessageRejectErrorEnum> {
839        let mut fld = field::ListMethodField::new(0);
840        self.message.body.get_field(tag::LIST_METHOD, &mut fld.0)?;
841        Ok(fld.value())
842    }
843
844
845    /// Returns true if `ListMethod` is present, Tag 1198.
846    pub fn has_list_method(&self) -> bool {
847        self.message.body.has(tag::LIST_METHOD)
848    }
849
850
851
852
853    /// Sets `LocaleOfIssue`, Tag 472.
854    pub fn set_locale_of_issue(&mut self, v: String) {
855        self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
856    }
857
858    /// Gets `LocaleOfIssue`, Tag 472.
859    pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
860        let mut fld = field::LocaleOfIssueField::new(String::new());
861        self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
862        Ok(fld.value().to_string())
863    }
864
865
866    /// Returns true if `LocaleOfIssue` is present, Tag 472.
867    pub fn has_locale_of_issue(&self) -> bool {
868        self.message.body.has(tag::LOCALE_OF_ISSUE)
869    }
870
871
872
873
874    /// Sets `MaturityDate`, Tag 541.
875    pub fn set_maturity_date(&mut self, v: String) {
876        self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
877    }
878
879    /// Gets `MaturityDate`, Tag 541.
880    pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
881        let mut fld = field::MaturityDateField::new(String::new());
882        self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
883        Ok(fld.value().to_string())
884    }
885
886
887    /// Returns true if `MaturityDate` is present, Tag 541.
888    pub fn has_maturity_date(&self) -> bool {
889        self.message.body.has(tag::MATURITY_DATE)
890    }
891
892
893
894
895    /// Sets `MaturityMonthYear`, Tag 200.
896    pub fn set_maturity_month_year(&mut self, v: String) {
897        self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
898    }
899
900    /// Gets `MaturityMonthYear`, Tag 200.
901    pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
902        let mut fld = field::MaturityMonthYearField::new(String::new());
903        self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
904        Ok(fld.value().to_string())
905    }
906
907
908    /// Returns true if `MaturityMonthYear` is present, Tag 200.
909    pub fn has_maturity_month_year(&self) -> bool {
910        self.message.body.has(tag::MATURITY_MONTH_YEAR)
911    }
912
913
914
915
916    /// Sets `MaturityTime`, Tag 1079.
917    pub fn set_maturity_time(&mut self, v: String) {
918        self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
919    }
920
921    /// Gets `MaturityTime`, Tag 1079.
922    pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
923        let mut fld = field::MaturityTimeField::new(String::new());
924        self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
925        Ok(fld.value().to_string())
926    }
927
928
929    /// Returns true if `MaturityTime` is present, Tag 1079.
930    pub fn has_maturity_time(&self) -> bool {
931        self.message.body.has(tag::MATURITY_TIME)
932    }
933
934
935
936
937    /// Sets `MinPriceIncrement`, Tag 969.
938    pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
939        self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
940    }
941
942    /// Gets `MinPriceIncrement`, Tag 969.
943    pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
944        let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
945        self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
946        Ok(fld.value())
947    }
948
949
950    /// Returns true if `MinPriceIncrement` is present, Tag 969.
951    pub fn has_min_price_increment(&self) -> bool {
952        self.message.body.has(tag::MIN_PRICE_INCREMENT)
953    }
954
955
956
957
958    /// Sets `MinPriceIncrementAmount`, Tag 1146.
959    pub fn set_min_price_increment_amount(&mut self, val: Decimal, scale: i32) {
960        self.message.body.set_field(tag::MIN_PRICE_INCREMENT_AMOUNT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
961    }
962
963    /// Gets `MinPriceIncrementAmount`, Tag 1146.
964    pub fn get_min_price_increment_amount(&self) -> Result<Decimal, MessageRejectErrorEnum> {
965        let mut fld = field::MinPriceIncrementAmountField::new(Decimal::ZERO, 0);
966        self.message.body.get_field(tag::MIN_PRICE_INCREMENT_AMOUNT, &mut fld.0)?;
967        Ok(fld.value())
968    }
969
970
971    /// Returns true if `MinPriceIncrementAmount` is present, Tag 1146.
972    pub fn has_min_price_increment_amount(&self) -> bool {
973        self.message.body.has(tag::MIN_PRICE_INCREMENT_AMOUNT)
974    }
975
976
977
978
979    /// Sets `NTPositionLimit`, Tag 971.
980    pub fn set_nt_position_limit(&mut self, v: isize) {
981        self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
982    }
983
984    /// Gets `NTPositionLimit`, Tag 971.
985    pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
986        let mut fld = field::NTPositionLimitField::new(0);
987        self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
988        Ok(fld.value())
989    }
990
991
992    /// Returns true if `NTPositionLimit` is present, Tag 971.
993    pub fn has_nt_position_limit(&self) -> bool {
994        self.message.body.has(tag::NT_POSITION_LIMIT)
995    }
996
997
998
999
1000    /// Sets `NoComplexEvents`, Tag 1483.
1001    pub fn set_no_complex_events(&mut self, v: isize) {
1002        self.message.body.set_field(tag::NO_COMPLEX_EVENTS, fixer::fix_int::FIXInt::from(v));
1003    }
1004
1005    /// Gets `NoComplexEvents`, Tag 1483.
1006    pub fn get_no_complex_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1007        let mut fld = field::NoComplexEventsField::new(0);
1008        self.message.body.get_field(tag::NO_COMPLEX_EVENTS, &mut fld.0)?;
1009        Ok(fld.value())
1010    }
1011
1012
1013    /// Returns true if `NoComplexEvents` is present, Tag 1483.
1014    pub fn has_no_complex_events(&self) -> bool {
1015        self.message.body.has(tag::NO_COMPLEX_EVENTS)
1016    }
1017
1018
1019
1020
1021    /// Sets `NoEvents`, Tag 864.
1022    pub fn set_no_events(&mut self, v: isize) {
1023        self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1024    }
1025
1026    /// Gets `NoEvents`, Tag 864.
1027    pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1028        let mut fld = field::NoEventsField::new(0);
1029        self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1030        Ok(fld.value())
1031    }
1032
1033
1034    /// Returns true if `NoEvents` is present, Tag 864.
1035    pub fn has_no_events(&self) -> bool {
1036        self.message.body.has(tag::NO_EVENTS)
1037    }
1038
1039
1040
1041
1042    /// Sets `NoInstrumentParties`, Tag 1018.
1043    pub fn set_no_instrument_parties(&mut self, v: isize) {
1044        self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1045    }
1046
1047    /// Gets `NoInstrumentParties`, Tag 1018.
1048    pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1049        let mut fld = field::NoInstrumentPartiesField::new(0);
1050        self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1051        Ok(fld.value())
1052    }
1053
1054
1055    /// Returns true if `NoInstrumentParties` is present, Tag 1018.
1056    pub fn has_no_instrument_parties(&self) -> bool {
1057        self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1058    }
1059
1060
1061
1062
1063    /// Sets `NoLegs`, Tag 555.
1064    pub fn set_no_legs(&mut self, v: isize) {
1065        self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1066    }
1067
1068    /// Gets `NoLegs`, Tag 555.
1069    pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1070        let mut fld = field::NoLegsField::new(0);
1071        self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1072        Ok(fld.value())
1073    }
1074
1075
1076    /// Returns true if `NoLegs` is present, Tag 555.
1077    pub fn has_no_legs(&self) -> bool {
1078        self.message.body.has(tag::NO_LEGS)
1079    }
1080
1081
1082
1083
1084    /// Sets `NoSecurityAltID`, Tag 454.
1085    pub fn set_no_security_alt_id(&mut self, v: isize) {
1086        self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1087    }
1088
1089    /// Gets `NoSecurityAltID`, Tag 454.
1090    pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1091        let mut fld = field::NoSecurityAltIDField::new(0);
1092        self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1093        Ok(fld.value())
1094    }
1095
1096
1097    /// Returns true if `NoSecurityAltID` is present, Tag 454.
1098    pub fn has_no_security_alt_id(&self) -> bool {
1099        self.message.body.has(tag::NO_SECURITY_ALT_ID)
1100    }
1101
1102
1103
1104
1105    /// Sets `NoUnderlyings`, Tag 711.
1106    pub fn set_no_underlyings(&mut self, v: isize) {
1107        self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1108    }
1109
1110    /// Gets `NoUnderlyings`, Tag 711.
1111    pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1112        let mut fld = field::NoUnderlyingsField::new(0);
1113        self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1114        Ok(fld.value())
1115    }
1116
1117
1118    /// Returns true if `NoUnderlyings` is present, Tag 711.
1119    pub fn has_no_underlyings(&self) -> bool {
1120        self.message.body.has(tag::NO_UNDERLYINGS)
1121    }
1122
1123
1124
1125
1126    /// Sets `NotionalPercentageOutstanding`, Tag 1451.
1127    pub fn set_notional_percentage_outstanding(&mut self, val: Decimal, scale: i32) {
1128        self.message.body.set_field(tag::NOTIONAL_PERCENTAGE_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1129    }
1130
1131    /// Gets `NotionalPercentageOutstanding`, Tag 1451.
1132    pub fn get_notional_percentage_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1133        let mut fld = field::NotionalPercentageOutstandingField::new(Decimal::ZERO, 0);
1134        self.message.body.get_field(tag::NOTIONAL_PERCENTAGE_OUTSTANDING, &mut fld.0)?;
1135        Ok(fld.value())
1136    }
1137
1138
1139    /// Returns true if `NotionalPercentageOutstanding` is present, Tag 1451.
1140    pub fn has_notional_percentage_outstanding(&self) -> bool {
1141        self.message.body.has(tag::NOTIONAL_PERCENTAGE_OUTSTANDING)
1142    }
1143
1144
1145
1146
1147    /// Sets `OptAttribute`, Tag 206.
1148    pub fn set_opt_attribute(&mut self, v: String) {
1149        self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1150    }
1151
1152    /// Gets `OptAttribute`, Tag 206.
1153    pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1154        let mut fld = field::OptAttributeField::new(String::new());
1155        self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1156        Ok(fld.value().to_string())
1157    }
1158
1159
1160    /// Returns true if `OptAttribute` is present, Tag 206.
1161    pub fn has_opt_attribute(&self) -> bool {
1162        self.message.body.has(tag::OPT_ATTRIBUTE)
1163    }
1164
1165
1166
1167
1168    /// Sets `OptPayoutAmount`, Tag 1195.
1169    pub fn set_opt_payout_amount(&mut self, val: Decimal, scale: i32) {
1170        self.message.body.set_field(tag::OPT_PAYOUT_AMOUNT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1171    }
1172
1173    /// Gets `OptPayoutAmount`, Tag 1195.
1174    pub fn get_opt_payout_amount(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1175        let mut fld = field::OptPayoutAmountField::new(Decimal::ZERO, 0);
1176        self.message.body.get_field(tag::OPT_PAYOUT_AMOUNT, &mut fld.0)?;
1177        Ok(fld.value())
1178    }
1179
1180
1181    /// Returns true if `OptPayoutAmount` is present, Tag 1195.
1182    pub fn has_opt_payout_amount(&self) -> bool {
1183        self.message.body.has(tag::OPT_PAYOUT_AMOUNT)
1184    }
1185
1186
1187
1188
1189    /// Sets `OptPayoutType`, Tag 1482.
1190    pub fn set_opt_payout_type(&mut self, v: isize) {
1191        self.message.body.set_field(tag::OPT_PAYOUT_TYPE, fixer::fix_int::FIXInt::from(v));
1192    }
1193
1194    /// Gets `OptPayoutType`, Tag 1482.
1195    pub fn get_opt_payout_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1196        let mut fld = field::OptPayoutTypeField::new(0);
1197        self.message.body.get_field(tag::OPT_PAYOUT_TYPE, &mut fld.0)?;
1198        Ok(fld.value())
1199    }
1200
1201
1202    /// Returns true if `OptPayoutType` is present, Tag 1482.
1203    pub fn has_opt_payout_type(&self) -> bool {
1204        self.message.body.has(tag::OPT_PAYOUT_TYPE)
1205    }
1206
1207
1208
1209
1210    /// Sets `OriginalNotionalPercentageOutstanding`, Tag 1452.
1211    pub fn set_original_notional_percentage_outstanding(&mut self, val: Decimal, scale: i32) {
1212        self.message.body.set_field(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1213    }
1214
1215    /// Gets `OriginalNotionalPercentageOutstanding`, Tag 1452.
1216    pub fn get_original_notional_percentage_outstanding(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1217        let mut fld = field::OriginalNotionalPercentageOutstandingField::new(Decimal::ZERO, 0);
1218        self.message.body.get_field(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING, &mut fld.0)?;
1219        Ok(fld.value())
1220    }
1221
1222
1223    /// Returns true if `OriginalNotionalPercentageOutstanding` is present, Tag 1452.
1224    pub fn has_original_notional_percentage_outstanding(&self) -> bool {
1225        self.message.body.has(tag::ORIGINAL_NOTIONAL_PERCENTAGE_OUTSTANDING)
1226    }
1227
1228
1229
1230
1231    /// Sets `Pool`, Tag 691.
1232    pub fn set_pool(&mut self, v: String) {
1233        self.message.body.set_field(tag::POOL, FIXString::from(v));
1234    }
1235
1236    /// Gets `Pool`, Tag 691.
1237    pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1238        let mut fld = field::PoolField::new(String::new());
1239        self.message.body.get_field(tag::POOL, &mut fld.0)?;
1240        Ok(fld.value().to_string())
1241    }
1242
1243
1244    /// Returns true if `Pool` is present, Tag 691.
1245    pub fn has_pool(&self) -> bool {
1246        self.message.body.has(tag::POOL)
1247    }
1248
1249
1250
1251
1252    /// Sets `PositionLimit`, Tag 970.
1253    pub fn set_position_limit(&mut self, v: isize) {
1254        self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1255    }
1256
1257    /// Gets `PositionLimit`, Tag 970.
1258    pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1259        let mut fld = field::PositionLimitField::new(0);
1260        self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
1261        Ok(fld.value())
1262    }
1263
1264
1265    /// Returns true if `PositionLimit` is present, Tag 970.
1266    pub fn has_position_limit(&self) -> bool {
1267        self.message.body.has(tag::POSITION_LIMIT)
1268    }
1269
1270
1271
1272
1273    /// Sets `Price`, Tag 44.
1274    pub fn set_price(&mut self, val: Decimal, scale: i32) {
1275        self.message.body.set_field(tag::PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1276    }
1277
1278    /// Gets `Price`, Tag 44.
1279    pub fn get_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1280        let mut fld = field::PriceField::new(Decimal::ZERO, 0);
1281        self.message.body.get_field(tag::PRICE, &mut fld.0)?;
1282        Ok(fld.value())
1283    }
1284
1285
1286    /// Returns true if `Price` is present, Tag 44.
1287    pub fn has_price(&self) -> bool {
1288        self.message.body.has(tag::PRICE)
1289    }
1290
1291
1292
1293
1294    /// Sets `PriceQuoteMethod`, Tag 1196.
1295    pub fn set_price_quote_method(&mut self, v: String) {
1296        self.message.body.set_field(tag::PRICE_QUOTE_METHOD, FIXString::from(v));
1297    }
1298
1299    /// Gets `PriceQuoteMethod`, Tag 1196.
1300    pub fn get_price_quote_method(&self) -> Result<String, MessageRejectErrorEnum> {
1301        let mut fld = field::PriceQuoteMethodField::new(String::new());
1302        self.message.body.get_field(tag::PRICE_QUOTE_METHOD, &mut fld.0)?;
1303        Ok(fld.value().to_string())
1304    }
1305
1306
1307    /// Returns true if `PriceQuoteMethod` is present, Tag 1196.
1308    pub fn has_price_quote_method(&self) -> bool {
1309        self.message.body.has(tag::PRICE_QUOTE_METHOD)
1310    }
1311
1312
1313
1314
1315    /// Sets `PriceUnitOfMeasure`, Tag 1191.
1316    pub fn set_price_unit_of_measure(&mut self, v: String) {
1317        self.message.body.set_field(tag::PRICE_UNIT_OF_MEASURE, FIXString::from(v));
1318    }
1319
1320    /// Gets `PriceUnitOfMeasure`, Tag 1191.
1321    pub fn get_price_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
1322        let mut fld = field::PriceUnitOfMeasureField::new(String::new());
1323        self.message.body.get_field(tag::PRICE_UNIT_OF_MEASURE, &mut fld.0)?;
1324        Ok(fld.value().to_string())
1325    }
1326
1327
1328    /// Returns true if `PriceUnitOfMeasure` is present, Tag 1191.
1329    pub fn has_price_unit_of_measure(&self) -> bool {
1330        self.message.body.has(tag::PRICE_UNIT_OF_MEASURE)
1331    }
1332
1333
1334
1335
1336    /// Sets `PriceUnitOfMeasureQty`, Tag 1192.
1337    pub fn set_price_unit_of_measure_qty(&mut self, val: Decimal, scale: i32) {
1338        self.message.body.set_field(tag::PRICE_UNIT_OF_MEASURE_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1339    }
1340
1341    /// Gets `PriceUnitOfMeasureQty`, Tag 1192.
1342    pub fn get_price_unit_of_measure_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1343        let mut fld = field::PriceUnitOfMeasureQtyField::new(Decimal::ZERO, 0);
1344        self.message.body.get_field(tag::PRICE_UNIT_OF_MEASURE_QTY, &mut fld.0)?;
1345        Ok(fld.value())
1346    }
1347
1348
1349    /// Returns true if `PriceUnitOfMeasureQty` is present, Tag 1192.
1350    pub fn has_price_unit_of_measure_qty(&self) -> bool {
1351        self.message.body.has(tag::PRICE_UNIT_OF_MEASURE_QTY)
1352    }
1353
1354
1355
1356
1357    /// Sets `Product`, Tag 460.
1358    pub fn set_product(&mut self, v: isize) {
1359        self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
1360    }
1361
1362    /// Gets `Product`, Tag 460.
1363    pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
1364        let mut fld = field::ProductField::new(0);
1365        self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
1366        Ok(fld.value())
1367    }
1368
1369
1370    /// Returns true if `Product` is present, Tag 460.
1371    pub fn has_product(&self) -> bool {
1372        self.message.body.has(tag::PRODUCT)
1373    }
1374
1375
1376
1377
1378    /// Sets `ProductComplex`, Tag 1227.
1379    pub fn set_product_complex(&mut self, v: String) {
1380        self.message.body.set_field(tag::PRODUCT_COMPLEX, FIXString::from(v));
1381    }
1382
1383    /// Gets `ProductComplex`, Tag 1227.
1384    pub fn get_product_complex(&self) -> Result<String, MessageRejectErrorEnum> {
1385        let mut fld = field::ProductComplexField::new(String::new());
1386        self.message.body.get_field(tag::PRODUCT_COMPLEX, &mut fld.0)?;
1387        Ok(fld.value().to_string())
1388    }
1389
1390
1391    /// Returns true if `ProductComplex` is present, Tag 1227.
1392    pub fn has_product_complex(&self) -> bool {
1393        self.message.body.has(tag::PRODUCT_COMPLEX)
1394    }
1395
1396
1397
1398
1399    /// Sets `PutOrCall`, Tag 201.
1400    pub fn set_put_or_call(&mut self, v: isize) {
1401        self.message.body.set_field(tag::PUT_OR_CALL, fixer::fix_int::FIXInt::from(v));
1402    }
1403
1404    /// Gets `PutOrCall`, Tag 201.
1405    pub fn get_put_or_call(&self) -> Result<isize, MessageRejectErrorEnum> {
1406        let mut fld = field::PutOrCallField::new(0);
1407        self.message.body.get_field(tag::PUT_OR_CALL, &mut fld.0)?;
1408        Ok(fld.value())
1409    }
1410
1411
1412    /// Returns true if `PutOrCall` is present, Tag 201.
1413    pub fn has_put_or_call(&self) -> bool {
1414        self.message.body.has(tag::PUT_OR_CALL)
1415    }
1416
1417
1418
1419
1420    /// Sets `QtyType`, Tag 854.
1421    pub fn set_qty_type(&mut self, v: isize) {
1422        self.message.body.set_field(tag::QTY_TYPE, fixer::fix_int::FIXInt::from(v));
1423    }
1424
1425    /// Gets `QtyType`, Tag 854.
1426    pub fn get_qty_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1427        let mut fld = field::QtyTypeField::new(0);
1428        self.message.body.get_field(tag::QTY_TYPE, &mut fld.0)?;
1429        Ok(fld.value())
1430    }
1431
1432
1433    /// Returns true if `QtyType` is present, Tag 854.
1434    pub fn has_qty_type(&self) -> bool {
1435        self.message.body.has(tag::QTY_TYPE)
1436    }
1437
1438
1439
1440
1441    /// Sets `Quantity`, Tag 53.
1442    pub fn set_quantity(&mut self, val: Decimal, scale: i32) {
1443        self.message.body.set_field(tag::QUANTITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1444    }
1445
1446    /// Gets `Quantity`, Tag 53.
1447    pub fn get_quantity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1448        let mut fld = field::QuantityField::new(Decimal::ZERO, 0);
1449        self.message.body.get_field(tag::QUANTITY, &mut fld.0)?;
1450        Ok(fld.value())
1451    }
1452
1453
1454    /// Returns true if `Quantity` is present, Tag 53.
1455    pub fn has_quantity(&self) -> bool {
1456        self.message.body.has(tag::QUANTITY)
1457    }
1458
1459
1460
1461
1462    /// Sets `RedemptionDate`, Tag 240.
1463    pub fn set_redemption_date(&mut self, v: String) {
1464        self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
1465    }
1466
1467    /// Gets `RedemptionDate`, Tag 240.
1468    pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
1469        let mut fld = field::RedemptionDateField::new(String::new());
1470        self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
1471        Ok(fld.value().to_string())
1472    }
1473
1474
1475    /// Returns true if `RedemptionDate` is present, Tag 240.
1476    pub fn has_redemption_date(&self) -> bool {
1477        self.message.body.has(tag::REDEMPTION_DATE)
1478    }
1479
1480
1481
1482
1483    /// Sets `RepoCollateralSecurityType`, Tag 239.
1484    pub fn set_repo_collateral_security_type(&mut self, v: isize) {
1485        self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
1486    }
1487
1488    /// Gets `RepoCollateralSecurityType`, Tag 239.
1489    pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1490        let mut fld = field::RepoCollateralSecurityTypeField::new(0);
1491        self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
1492        Ok(fld.value())
1493    }
1494
1495
1496    /// Returns true if `RepoCollateralSecurityType` is present, Tag 239.
1497    pub fn has_repo_collateral_security_type(&self) -> bool {
1498        self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
1499    }
1500
1501
1502
1503
1504    /// Sets `RepurchaseRate`, Tag 227.
1505    pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
1506        self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1507    }
1508
1509    /// Gets `RepurchaseRate`, Tag 227.
1510    pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1511        let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
1512        self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
1513        Ok(fld.value())
1514    }
1515
1516
1517    /// Returns true if `RepurchaseRate` is present, Tag 227.
1518    pub fn has_repurchase_rate(&self) -> bool {
1519        self.message.body.has(tag::REPURCHASE_RATE)
1520    }
1521
1522
1523
1524
1525    /// Sets `RepurchaseTerm`, Tag 226.
1526    pub fn set_repurchase_term(&mut self, v: isize) {
1527        self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
1528    }
1529
1530    /// Gets `RepurchaseTerm`, Tag 226.
1531    pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
1532        let mut fld = field::RepurchaseTermField::new(0);
1533        self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
1534        Ok(fld.value())
1535    }
1536
1537
1538    /// Returns true if `RepurchaseTerm` is present, Tag 226.
1539    pub fn has_repurchase_term(&self) -> bool {
1540        self.message.body.has(tag::REPURCHASE_TERM)
1541    }
1542
1543
1544
1545
1546    /// Sets `RestructuringType`, Tag 1449.
1547    pub fn set_restructuring_type(&mut self, v: String) {
1548        self.message.body.set_field(tag::RESTRUCTURING_TYPE, FIXString::from(v));
1549    }
1550
1551    /// Gets `RestructuringType`, Tag 1449.
1552    pub fn get_restructuring_type(&self) -> Result<String, MessageRejectErrorEnum> {
1553        let mut fld = field::RestructuringTypeField::new(String::new());
1554        self.message.body.get_field(tag::RESTRUCTURING_TYPE, &mut fld.0)?;
1555        Ok(fld.value().to_string())
1556    }
1557
1558
1559    /// Returns true if `RestructuringType` is present, Tag 1449.
1560    pub fn has_restructuring_type(&self) -> bool {
1561        self.message.body.has(tag::RESTRUCTURING_TYPE)
1562    }
1563
1564
1565
1566
1567    /// Sets `SecurityDesc`, Tag 107.
1568    pub fn set_security_desc(&mut self, v: String) {
1569        self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
1570    }
1571
1572    /// Gets `SecurityDesc`, Tag 107.
1573    pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1574        let mut fld = field::SecurityDescField::new(String::new());
1575        self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
1576        Ok(fld.value().to_string())
1577    }
1578
1579
1580    /// Returns true if `SecurityDesc` is present, Tag 107.
1581    pub fn has_security_desc(&self) -> bool {
1582        self.message.body.has(tag::SECURITY_DESC)
1583    }
1584
1585
1586
1587
1588    /// Sets `SecurityExchange`, Tag 207.
1589    pub fn set_security_exchange(&mut self, v: String) {
1590        self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
1591    }
1592
1593    /// Gets `SecurityExchange`, Tag 207.
1594    pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
1595        let mut fld = field::SecurityExchangeField::new(String::new());
1596        self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
1597        Ok(fld.value().to_string())
1598    }
1599
1600
1601    /// Returns true if `SecurityExchange` is present, Tag 207.
1602    pub fn has_security_exchange(&self) -> bool {
1603        self.message.body.has(tag::SECURITY_EXCHANGE)
1604    }
1605
1606
1607
1608
1609    /// Sets `SecurityGroup`, Tag 1151.
1610    pub fn set_security_group(&mut self, v: String) {
1611        self.message.body.set_field(tag::SECURITY_GROUP, FIXString::from(v));
1612    }
1613
1614    /// Gets `SecurityGroup`, Tag 1151.
1615    pub fn get_security_group(&self) -> Result<String, MessageRejectErrorEnum> {
1616        let mut fld = field::SecurityGroupField::new(String::new());
1617        self.message.body.get_field(tag::SECURITY_GROUP, &mut fld.0)?;
1618        Ok(fld.value().to_string())
1619    }
1620
1621
1622    /// Returns true if `SecurityGroup` is present, Tag 1151.
1623    pub fn has_security_group(&self) -> bool {
1624        self.message.body.has(tag::SECURITY_GROUP)
1625    }
1626
1627
1628
1629
1630    /// Sets `SecurityID`, Tag 48.
1631    pub fn set_security_id(&mut self, v: String) {
1632        self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
1633    }
1634
1635    /// Gets `SecurityID`, Tag 48.
1636    pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
1637        let mut fld = field::SecurityIDField::new(String::new());
1638        self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
1639        Ok(fld.value().to_string())
1640    }
1641
1642
1643    /// Returns true if `SecurityID` is present, Tag 48.
1644    pub fn has_security_id(&self) -> bool {
1645        self.message.body.has(tag::SECURITY_ID)
1646    }
1647
1648
1649
1650
1651    /// Sets `SecurityIDSource`, Tag 22.
1652    pub fn set_security_id_source(&mut self, v: String) {
1653        self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
1654    }
1655
1656    /// Gets `SecurityIDSource`, Tag 22.
1657    pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
1658        let mut fld = field::SecurityIDSourceField::new(String::new());
1659        self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
1660        Ok(fld.value().to_string())
1661    }
1662
1663
1664    /// Returns true if `SecurityIDSource` is present, Tag 22.
1665    pub fn has_security_id_source(&self) -> bool {
1666        self.message.body.has(tag::SECURITY_ID_SOURCE)
1667    }
1668
1669
1670
1671
1672    /// Sets `SecurityStatus`, Tag 965.
1673    pub fn set_security_status(&mut self, v: String) {
1674        self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
1675    }
1676
1677    /// Gets `SecurityStatus`, Tag 965.
1678    pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
1679        let mut fld = field::SecurityStatusField::new(String::new());
1680        self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
1681        Ok(fld.value().to_string())
1682    }
1683
1684
1685    /// Returns true if `SecurityStatus` is present, Tag 965.
1686    pub fn has_security_status(&self) -> bool {
1687        self.message.body.has(tag::SECURITY_STATUS)
1688    }
1689
1690
1691
1692
1693    /// Sets `SecuritySubType`, Tag 762.
1694    pub fn set_security_sub_type(&mut self, v: String) {
1695        self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
1696    }
1697
1698    /// Gets `SecuritySubType`, Tag 762.
1699    pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
1700        let mut fld = field::SecuritySubTypeField::new(String::new());
1701        self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
1702        Ok(fld.value().to_string())
1703    }
1704
1705
1706    /// Returns true if `SecuritySubType` is present, Tag 762.
1707    pub fn has_security_sub_type(&self) -> bool {
1708        self.message.body.has(tag::SECURITY_SUB_TYPE)
1709    }
1710
1711
1712
1713
1714    /// Sets `SecurityType`, Tag 167.
1715    pub fn set_security_type(&mut self, v: String) {
1716        self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
1717    }
1718
1719    /// Gets `SecurityType`, Tag 167.
1720    pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
1721        let mut fld = field::SecurityTypeField::new(String::new());
1722        self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
1723        Ok(fld.value().to_string())
1724    }
1725
1726
1727    /// Returns true if `SecurityType` is present, Tag 167.
1728    pub fn has_security_type(&self) -> bool {
1729        self.message.body.has(tag::SECURITY_TYPE)
1730    }
1731
1732
1733
1734
1735    /// Sets `SecurityXML`, Tag 1185.
1736    pub fn set_security_xml(&mut self, v: String) {
1737        self.message.body.set_field(tag::SECURITY_XML, FIXString::from(v));
1738    }
1739
1740    /// Gets `SecurityXML`, Tag 1185.
1741    pub fn get_security_xml(&self) -> Result<String, MessageRejectErrorEnum> {
1742        let mut fld = field::SecurityXMLField::new(String::new());
1743        self.message.body.get_field(tag::SECURITY_XML, &mut fld.0)?;
1744        Ok(fld.value().to_string())
1745    }
1746
1747
1748    /// Returns true if `SecurityXML` is present, Tag 1185.
1749    pub fn has_security_xml(&self) -> bool {
1750        self.message.body.has(tag::SECURITY_XML)
1751    }
1752
1753
1754
1755
1756    /// Sets `SecurityXMLLen`, Tag 1184.
1757    pub fn set_security_xml_len(&mut self, v: isize) {
1758        self.message.body.set_field(tag::SECURITY_XML_LEN, fixer::fix_int::FIXInt::from(v));
1759    }
1760
1761    /// Gets `SecurityXMLLen`, Tag 1184.
1762    pub fn get_security_xml_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1763        let mut fld = field::SecurityXMLLenField::new(0);
1764        self.message.body.get_field(tag::SECURITY_XML_LEN, &mut fld.0)?;
1765        Ok(fld.value())
1766    }
1767
1768
1769    /// Returns true if `SecurityXMLLen` is present, Tag 1184.
1770    pub fn has_security_xml_len(&self) -> bool {
1771        self.message.body.has(tag::SECURITY_XML_LEN)
1772    }
1773
1774
1775
1776
1777    /// Sets `SecurityXMLSchema`, Tag 1186.
1778    pub fn set_security_xml_schema(&mut self, v: String) {
1779        self.message.body.set_field(tag::SECURITY_XML_SCHEMA, FIXString::from(v));
1780    }
1781
1782    /// Gets `SecurityXMLSchema`, Tag 1186.
1783    pub fn get_security_xml_schema(&self) -> Result<String, MessageRejectErrorEnum> {
1784        let mut fld = field::SecurityXMLSchemaField::new(String::new());
1785        self.message.body.get_field(tag::SECURITY_XML_SCHEMA, &mut fld.0)?;
1786        Ok(fld.value().to_string())
1787    }
1788
1789
1790    /// Returns true if `SecurityXMLSchema` is present, Tag 1186.
1791    pub fn has_security_xml_schema(&self) -> bool {
1792        self.message.body.has(tag::SECURITY_XML_SCHEMA)
1793    }
1794
1795
1796
1797
1798    /// Sets `Seniority`, Tag 1450.
1799    pub fn set_seniority(&mut self, v: String) {
1800        self.message.body.set_field(tag::SENIORITY, FIXString::from(v));
1801    }
1802
1803    /// Gets `Seniority`, Tag 1450.
1804    pub fn get_seniority(&self) -> Result<String, MessageRejectErrorEnum> {
1805        let mut fld = field::SeniorityField::new(String::new());
1806        self.message.body.get_field(tag::SENIORITY, &mut fld.0)?;
1807        Ok(fld.value().to_string())
1808    }
1809
1810
1811    /// Returns true if `Seniority` is present, Tag 1450.
1812    pub fn has_seniority(&self) -> bool {
1813        self.message.body.has(tag::SENIORITY)
1814    }
1815
1816
1817
1818
1819    /// Sets `SettlMethod`, Tag 1193.
1820    pub fn set_settl_method(&mut self, v: String) {
1821        self.message.body.set_field(tag::SETTL_METHOD, FIXString::from(v));
1822    }
1823
1824    /// Gets `SettlMethod`, Tag 1193.
1825    pub fn get_settl_method(&self) -> Result<String, MessageRejectErrorEnum> {
1826        let mut fld = field::SettlMethodField::new(String::new());
1827        self.message.body.get_field(tag::SETTL_METHOD, &mut fld.0)?;
1828        Ok(fld.value().to_string())
1829    }
1830
1831
1832    /// Returns true if `SettlMethod` is present, Tag 1193.
1833    pub fn has_settl_method(&self) -> bool {
1834        self.message.body.has(tag::SETTL_METHOD)
1835    }
1836
1837
1838
1839
1840    /// Sets `SettleOnOpenFlag`, Tag 966.
1841    pub fn set_settle_on_open_flag(&mut self, v: String) {
1842        self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
1843    }
1844
1845    /// Gets `SettleOnOpenFlag`, Tag 966.
1846    pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
1847        let mut fld = field::SettleOnOpenFlagField::new(String::new());
1848        self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
1849        Ok(fld.value().to_string())
1850    }
1851
1852
1853    /// Returns true if `SettleOnOpenFlag` is present, Tag 966.
1854    pub fn has_settle_on_open_flag(&self) -> bool {
1855        self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
1856    }
1857
1858
1859
1860
1861    /// Sets `StateOrProvinceOfIssue`, Tag 471.
1862    pub fn set_state_or_province_of_issue(&mut self, v: String) {
1863        self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
1864    }
1865
1866    /// Gets `StateOrProvinceOfIssue`, Tag 471.
1867    pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1868        let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
1869        self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
1870        Ok(fld.value().to_string())
1871    }
1872
1873
1874    /// Returns true if `StateOrProvinceOfIssue` is present, Tag 471.
1875    pub fn has_state_or_province_of_issue(&self) -> bool {
1876        self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
1877    }
1878
1879
1880
1881
1882    /// Sets `StrikeCurrency`, Tag 947.
1883    pub fn set_strike_currency(&mut self, v: String) {
1884        self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
1885    }
1886
1887    /// Gets `StrikeCurrency`, Tag 947.
1888    pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
1889        let mut fld = field::StrikeCurrencyField::new(String::new());
1890        self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
1891        Ok(fld.value().to_string())
1892    }
1893
1894
1895    /// Returns true if `StrikeCurrency` is present, Tag 947.
1896    pub fn has_strike_currency(&self) -> bool {
1897        self.message.body.has(tag::STRIKE_CURRENCY)
1898    }
1899
1900
1901
1902
1903    /// Sets `StrikeMultiplier`, Tag 967.
1904    pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
1905        self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1906    }
1907
1908    /// Gets `StrikeMultiplier`, Tag 967.
1909    pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1910        let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
1911        self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
1912        Ok(fld.value())
1913    }
1914
1915
1916    /// Returns true if `StrikeMultiplier` is present, Tag 967.
1917    pub fn has_strike_multiplier(&self) -> bool {
1918        self.message.body.has(tag::STRIKE_MULTIPLIER)
1919    }
1920
1921
1922
1923
1924    /// Sets `StrikePrice`, Tag 202.
1925    pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
1926        self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1927    }
1928
1929    /// Gets `StrikePrice`, Tag 202.
1930    pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1931        let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
1932        self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
1933        Ok(fld.value())
1934    }
1935
1936
1937    /// Returns true if `StrikePrice` is present, Tag 202.
1938    pub fn has_strike_price(&self) -> bool {
1939        self.message.body.has(tag::STRIKE_PRICE)
1940    }
1941
1942
1943
1944
1945    /// Sets `StrikePriceBoundaryMethod`, Tag 1479.
1946    pub fn set_strike_price_boundary_method(&mut self, v: isize) {
1947        self.message.body.set_field(tag::STRIKE_PRICE_BOUNDARY_METHOD, fixer::fix_int::FIXInt::from(v));
1948    }
1949
1950    /// Gets `StrikePriceBoundaryMethod`, Tag 1479.
1951    pub fn get_strike_price_boundary_method(&self) -> Result<isize, MessageRejectErrorEnum> {
1952        let mut fld = field::StrikePriceBoundaryMethodField::new(0);
1953        self.message.body.get_field(tag::STRIKE_PRICE_BOUNDARY_METHOD, &mut fld.0)?;
1954        Ok(fld.value())
1955    }
1956
1957
1958    /// Returns true if `StrikePriceBoundaryMethod` is present, Tag 1479.
1959    pub fn has_strike_price_boundary_method(&self) -> bool {
1960        self.message.body.has(tag::STRIKE_PRICE_BOUNDARY_METHOD)
1961    }
1962
1963
1964
1965
1966    /// Sets `StrikePriceBoundaryPrecision`, Tag 1480.
1967    pub fn set_strike_price_boundary_precision(&mut self, val: Decimal, scale: i32) {
1968        self.message.body.set_field(tag::STRIKE_PRICE_BOUNDARY_PRECISION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1969    }
1970
1971    /// Gets `StrikePriceBoundaryPrecision`, Tag 1480.
1972    pub fn get_strike_price_boundary_precision(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1973        let mut fld = field::StrikePriceBoundaryPrecisionField::new(Decimal::ZERO, 0);
1974        self.message.body.get_field(tag::STRIKE_PRICE_BOUNDARY_PRECISION, &mut fld.0)?;
1975        Ok(fld.value())
1976    }
1977
1978
1979    /// Returns true if `StrikePriceBoundaryPrecision` is present, Tag 1480.
1980    pub fn has_strike_price_boundary_precision(&self) -> bool {
1981        self.message.body.has(tag::STRIKE_PRICE_BOUNDARY_PRECISION)
1982    }
1983
1984
1985
1986
1987    /// Sets `StrikePriceDeterminationMethod`, Tag 1478.
1988    pub fn set_strike_price_determination_method(&mut self, v: isize) {
1989        self.message.body.set_field(tag::STRIKE_PRICE_DETERMINATION_METHOD, fixer::fix_int::FIXInt::from(v));
1990    }
1991
1992    /// Gets `StrikePriceDeterminationMethod`, Tag 1478.
1993    pub fn get_strike_price_determination_method(&self) -> Result<isize, MessageRejectErrorEnum> {
1994        let mut fld = field::StrikePriceDeterminationMethodField::new(0);
1995        self.message.body.get_field(tag::STRIKE_PRICE_DETERMINATION_METHOD, &mut fld.0)?;
1996        Ok(fld.value())
1997    }
1998
1999
2000    /// Returns true if `StrikePriceDeterminationMethod` is present, Tag 1478.
2001    pub fn has_strike_price_determination_method(&self) -> bool {
2002        self.message.body.has(tag::STRIKE_PRICE_DETERMINATION_METHOD)
2003    }
2004
2005
2006
2007
2008    /// Sets `StrikeValue`, Tag 968.
2009    pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2010        self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2011    }
2012
2013    /// Gets `StrikeValue`, Tag 968.
2014    pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2015        let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2016        self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2017        Ok(fld.value())
2018    }
2019
2020
2021    /// Returns true if `StrikeValue` is present, Tag 968.
2022    pub fn has_strike_value(&self) -> bool {
2023        self.message.body.has(tag::STRIKE_VALUE)
2024    }
2025
2026
2027
2028
2029    /// Sets `Symbol`, Tag 55.
2030    pub fn set_symbol(&mut self, v: String) {
2031        self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2032    }
2033
2034    /// Gets `Symbol`, Tag 55.
2035    pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2036        let mut fld = field::SymbolField::new(String::new());
2037        self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2038        Ok(fld.value().to_string())
2039    }
2040
2041
2042    /// Returns true if `Symbol` is present, Tag 55.
2043    pub fn has_symbol(&self) -> bool {
2044        self.message.body.has(tag::SYMBOL)
2045    }
2046
2047
2048
2049
2050    /// Sets `SymbolSfx`, Tag 65.
2051    pub fn set_symbol_sfx(&mut self, v: String) {
2052        self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2053    }
2054
2055    /// Gets `SymbolSfx`, Tag 65.
2056    pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2057        let mut fld = field::SymbolSfxField::new(String::new());
2058        self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2059        Ok(fld.value().to_string())
2060    }
2061
2062
2063    /// Returns true if `SymbolSfx` is present, Tag 65.
2064    pub fn has_symbol_sfx(&self) -> bool {
2065        self.message.body.has(tag::SYMBOL_SFX)
2066    }
2067
2068
2069
2070
2071    /// Sets `Text`, Tag 58.
2072    pub fn set_text(&mut self, v: String) {
2073        self.message.body.set_field(tag::TEXT, FIXString::from(v));
2074    }
2075
2076    /// Gets `Text`, Tag 58.
2077    pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2078        let mut fld = field::TextField::new(String::new());
2079        self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2080        Ok(fld.value().to_string())
2081    }
2082
2083
2084    /// Returns true if `Text` is present, Tag 58.
2085    pub fn has_text(&self) -> bool {
2086        self.message.body.has(tag::TEXT)
2087    }
2088
2089
2090
2091
2092    /// Sets `TimeUnit`, Tag 997.
2093    pub fn set_time_unit(&mut self, v: String) {
2094        self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
2095    }
2096
2097    /// Gets `TimeUnit`, Tag 997.
2098    pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
2099        let mut fld = field::TimeUnitField::new(String::new());
2100        self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
2101        Ok(fld.value().to_string())
2102    }
2103
2104
2105    /// Returns true if `TimeUnit` is present, Tag 997.
2106    pub fn has_time_unit(&self) -> bool {
2107        self.message.body.has(tag::TIME_UNIT)
2108    }
2109
2110
2111
2112
2113    /// Sets `TradeDate`, Tag 75.
2114    pub fn set_trade_date(&mut self, v: String) {
2115        self.message.body.set_field(tag::TRADE_DATE, FIXString::from(v));
2116    }
2117
2118    /// Gets `TradeDate`, Tag 75.
2119    pub fn get_trade_date(&self) -> Result<String, MessageRejectErrorEnum> {
2120        let mut fld = field::TradeDateField::new(String::new());
2121        self.message.body.get_field(tag::TRADE_DATE, &mut fld.0)?;
2122        Ok(fld.value().to_string())
2123    }
2124
2125
2126    /// Returns true if `TradeDate` is present, Tag 75.
2127    pub fn has_trade_date(&self) -> bool {
2128        self.message.body.has(tag::TRADE_DATE)
2129    }
2130
2131
2132
2133
2134    /// Sets `TradingSessionID`, Tag 336.
2135    pub fn set_trading_session_id(&mut self, v: String) {
2136        self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
2137    }
2138
2139    /// Gets `TradingSessionID`, Tag 336.
2140    pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
2141        let mut fld = field::TradingSessionIDField::new(String::new());
2142        self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
2143        Ok(fld.value().to_string())
2144    }
2145
2146
2147    /// Returns true if `TradingSessionID` is present, Tag 336.
2148    pub fn has_trading_session_id(&self) -> bool {
2149        self.message.body.has(tag::TRADING_SESSION_ID)
2150    }
2151
2152
2153
2154
2155    /// Sets `TradingSessionSubID`, Tag 625.
2156    pub fn set_trading_session_sub_id(&mut self, v: String) {
2157        self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
2158    }
2159
2160    /// Gets `TradingSessionSubID`, Tag 625.
2161    pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2162        let mut fld = field::TradingSessionSubIDField::new(String::new());
2163        self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
2164        Ok(fld.value().to_string())
2165    }
2166
2167
2168    /// Returns true if `TradingSessionSubID` is present, Tag 625.
2169    pub fn has_trading_session_sub_id(&self) -> bool {
2170        self.message.body.has(tag::TRADING_SESSION_SUB_ID)
2171    }
2172
2173
2174
2175
2176    /// Sets `TransactTime`, Tag 60.
2177    pub fn set_transact_time(&mut self, v: Timestamp) {
2178        self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2179            time: v,
2180            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2181        });
2182    }
2183
2184    /// Gets `TransactTime`, Tag 60.
2185    pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2186        let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
2187        self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
2188        Ok(fld.value())
2189    }
2190
2191
2192    /// Returns true if `TransactTime` is present, Tag 60.
2193    pub fn has_transact_time(&self) -> bool {
2194        self.message.body.has(tag::TRANSACT_TIME)
2195    }
2196
2197
2198
2199
2200    /// Sets `URLLink`, Tag 149.
2201    pub fn set_url_link(&mut self, v: String) {
2202        self.message.body.set_field(tag::URL_LINK, FIXString::from(v));
2203    }
2204
2205    /// Gets `URLLink`, Tag 149.
2206    pub fn get_url_link(&self) -> Result<String, MessageRejectErrorEnum> {
2207        let mut fld = field::URLLinkField::new(String::new());
2208        self.message.body.get_field(tag::URL_LINK, &mut fld.0)?;
2209        Ok(fld.value().to_string())
2210    }
2211
2212
2213    /// Returns true if `URLLink` is present, Tag 149.
2214    pub fn has_url_link(&self) -> bool {
2215        self.message.body.has(tag::URL_LINK)
2216    }
2217
2218
2219
2220
2221    /// Sets `UnderlyingPriceDeterminationMethod`, Tag 1481.
2222    pub fn set_underlying_price_determination_method(&mut self, v: isize) {
2223        self.message.body.set_field(tag::UNDERLYING_PRICE_DETERMINATION_METHOD, fixer::fix_int::FIXInt::from(v));
2224    }
2225
2226    /// Gets `UnderlyingPriceDeterminationMethod`, Tag 1481.
2227    pub fn get_underlying_price_determination_method(&self) -> Result<isize, MessageRejectErrorEnum> {
2228        let mut fld = field::UnderlyingPriceDeterminationMethodField::new(0);
2229        self.message.body.get_field(tag::UNDERLYING_PRICE_DETERMINATION_METHOD, &mut fld.0)?;
2230        Ok(fld.value())
2231    }
2232
2233
2234    /// Returns true if `UnderlyingPriceDeterminationMethod` is present, Tag 1481.
2235    pub fn has_underlying_price_determination_method(&self) -> bool {
2236        self.message.body.has(tag::UNDERLYING_PRICE_DETERMINATION_METHOD)
2237    }
2238
2239
2240
2241
2242    /// Sets `UnitOfMeasure`, Tag 996.
2243    pub fn set_unit_of_measure(&mut self, v: String) {
2244        self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
2245    }
2246
2247    /// Gets `UnitOfMeasure`, Tag 996.
2248    pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
2249        let mut fld = field::UnitOfMeasureField::new(String::new());
2250        self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
2251        Ok(fld.value().to_string())
2252    }
2253
2254
2255    /// Returns true if `UnitOfMeasure` is present, Tag 996.
2256    pub fn has_unit_of_measure(&self) -> bool {
2257        self.message.body.has(tag::UNIT_OF_MEASURE)
2258    }
2259
2260
2261
2262
2263    /// Sets `UnitOfMeasureQty`, Tag 1147.
2264    pub fn set_unit_of_measure_qty(&mut self, val: Decimal, scale: i32) {
2265        self.message.body.set_field(tag::UNIT_OF_MEASURE_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2266    }
2267
2268    /// Gets `UnitOfMeasureQty`, Tag 1147.
2269    pub fn get_unit_of_measure_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2270        let mut fld = field::UnitOfMeasureQtyField::new(Decimal::ZERO, 0);
2271        self.message.body.get_field(tag::UNIT_OF_MEASURE_QTY, &mut fld.0)?;
2272        Ok(fld.value())
2273    }
2274
2275
2276    /// Returns true if `UnitOfMeasureQty` is present, Tag 1147.
2277    pub fn has_unit_of_measure_qty(&self) -> bool {
2278        self.message.body.has(tag::UNIT_OF_MEASURE_QTY)
2279    }
2280
2281
2282
2283
2284    /// Sets `ValuationMethod`, Tag 1197.
2285    pub fn set_valuation_method(&mut self, v: String) {
2286        self.message.body.set_field(tag::VALUATION_METHOD, FIXString::from(v));
2287    }
2288
2289    /// Gets `ValuationMethod`, Tag 1197.
2290    pub fn get_valuation_method(&self) -> Result<String, MessageRejectErrorEnum> {
2291        let mut fld = field::ValuationMethodField::new(String::new());
2292        self.message.body.get_field(tag::VALUATION_METHOD, &mut fld.0)?;
2293        Ok(fld.value().to_string())
2294    }
2295
2296
2297    /// Returns true if `ValuationMethod` is present, Tag 1197.
2298    pub fn has_valuation_method(&self) -> bool {
2299        self.message.body.has(tag::VALUATION_METHOD)
2300    }
2301
2302
2303}
2304
2305/// `RouteOut` is the callback type for routing `Advertisement` messages.
2306pub type RouteOut = fn(msg: Advertisement, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
2307
2308/// Route type returned by the `route` function.
2309pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
2310
2311/// Returns the begin string, message type, and route function for `Advertisement`.
2312pub fn route(router: RouteOut) -> Route {
2313    let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
2314        router(Advertisement::from_message(msg.clone()), session_id)
2315    };
2316    ("9", "7", Box::new(r))
2317}