Skip to main content

fixer_fix/fix41/
settlement_instructions.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
12
13use jiff::Timestamp;
14
15use crate::field;
16use crate::tag;
17
18/// `SettlementInstructions` is the `fix41` `SettlementInstructions` type, `MsgType` = T.
19pub struct SettlementInstructions {
20    pub message: Message,
21}
22
23impl SettlementInstructions {
24    /// Creates a new `SettlementInstructions` with required fields.
25    pub fn new(settl_inst_id: field::SettlInstIDField, settl_inst_trans_type: field::SettlInstTransTypeField, settl_inst_mode: field::SettlInstModeField, settl_inst_source: field::SettlInstSourceField, alloc_account: field::AllocAccountField, transact_time: field::TransactTimeField) -> Self {
26        let mut msg = Message::new();
27        msg.header.set_field(tag::MSG_TYPE, FIXString::from("T".to_string()));
28
29        msg.body.set_field(tag::SETTL_INST_ID, settl_inst_id.0);
30
31        msg.body.set_field(tag::SETTL_INST_TRANS_TYPE, settl_inst_trans_type.0);
32
33        msg.body.set_field(tag::SETTL_INST_MODE, settl_inst_mode.0);
34
35        msg.body.set_field(tag::SETTL_INST_SOURCE, settl_inst_source.0);
36
37        msg.body.set_field(tag::ALLOC_ACCOUNT, alloc_account.0);
38
39        msg.body.set_field(tag::TRANSACT_TIME, transact_time.0);
40
41        Self { message: msg }
42    }
43
44    /// Creates a `SettlementInstructions` from an existing `Message`.
45    pub fn from_message(msg: Message) -> Self {
46        Self { message: msg }
47    }
48
49    /// Returns the underlying `Message`.
50    pub fn to_message(self) -> Message {
51        self.message
52    }
53
54
55
56
57    /// Sets `AllocAccount`, Tag 79.
58    pub fn set_alloc_account(&mut self, v: String) {
59        self.message.body.set_field(tag::ALLOC_ACCOUNT, FIXString::from(v));
60    }
61
62    /// Gets `AllocAccount`, Tag 79.
63    pub fn get_alloc_account(&self) -> Result<String, MessageRejectErrorEnum> {
64        let mut fld = field::AllocAccountField::new(String::new());
65        self.message.body.get_field(tag::ALLOC_ACCOUNT, &mut fld.0)?;
66        Ok(fld.value().to_string())
67    }
68
69
70    /// Returns true if `AllocAccount` is present, Tag 79.
71    pub fn has_alloc_account(&self) -> bool {
72        self.message.body.has(tag::ALLOC_ACCOUNT)
73    }
74
75
76
77
78    /// Sets `AllocID`, Tag 70.
79    pub fn set_alloc_id(&mut self, v: String) {
80        self.message.body.set_field(tag::ALLOC_ID, FIXString::from(v));
81    }
82
83    /// Gets `AllocID`, Tag 70.
84    pub fn get_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
85        let mut fld = field::AllocIDField::new(String::new());
86        self.message.body.get_field(tag::ALLOC_ID, &mut fld.0)?;
87        Ok(fld.value().to_string())
88    }
89
90
91    /// Returns true if `AllocID` is present, Tag 70.
92    pub fn has_alloc_id(&self) -> bool {
93        self.message.body.has(tag::ALLOC_ID)
94    }
95
96
97
98
99    /// Sets `CashSettlAgentAcctName`, Tag 185.
100    pub fn set_cash_settl_agent_acct_name(&mut self, v: String) {
101        self.message.body.set_field(tag::CASH_SETTL_AGENT_ACCT_NAME, FIXString::from(v));
102    }
103
104    /// Gets `CashSettlAgentAcctName`, Tag 185.
105    pub fn get_cash_settl_agent_acct_name(&self) -> Result<String, MessageRejectErrorEnum> {
106        let mut fld = field::CashSettlAgentAcctNameField::new(String::new());
107        self.message.body.get_field(tag::CASH_SETTL_AGENT_ACCT_NAME, &mut fld.0)?;
108        Ok(fld.value().to_string())
109    }
110
111
112    /// Returns true if `CashSettlAgentAcctName` is present, Tag 185.
113    pub fn has_cash_settl_agent_acct_name(&self) -> bool {
114        self.message.body.has(tag::CASH_SETTL_AGENT_ACCT_NAME)
115    }
116
117
118
119
120    /// Sets `CashSettlAgentAcctNum`, Tag 184.
121    pub fn set_cash_settl_agent_acct_num(&mut self, v: String) {
122        self.message.body.set_field(tag::CASH_SETTL_AGENT_ACCT_NUM, FIXString::from(v));
123    }
124
125    /// Gets `CashSettlAgentAcctNum`, Tag 184.
126    pub fn get_cash_settl_agent_acct_num(&self) -> Result<String, MessageRejectErrorEnum> {
127        let mut fld = field::CashSettlAgentAcctNumField::new(String::new());
128        self.message.body.get_field(tag::CASH_SETTL_AGENT_ACCT_NUM, &mut fld.0)?;
129        Ok(fld.value().to_string())
130    }
131
132
133    /// Returns true if `CashSettlAgentAcctNum` is present, Tag 184.
134    pub fn has_cash_settl_agent_acct_num(&self) -> bool {
135        self.message.body.has(tag::CASH_SETTL_AGENT_ACCT_NUM)
136    }
137
138
139
140
141    /// Sets `CashSettlAgentCode`, Tag 183.
142    pub fn set_cash_settl_agent_code(&mut self, v: String) {
143        self.message.body.set_field(tag::CASH_SETTL_AGENT_CODE, FIXString::from(v));
144    }
145
146    /// Gets `CashSettlAgentCode`, Tag 183.
147    pub fn get_cash_settl_agent_code(&self) -> Result<String, MessageRejectErrorEnum> {
148        let mut fld = field::CashSettlAgentCodeField::new(String::new());
149        self.message.body.get_field(tag::CASH_SETTL_AGENT_CODE, &mut fld.0)?;
150        Ok(fld.value().to_string())
151    }
152
153
154    /// Returns true if `CashSettlAgentCode` is present, Tag 183.
155    pub fn has_cash_settl_agent_code(&self) -> bool {
156        self.message.body.has(tag::CASH_SETTL_AGENT_CODE)
157    }
158
159
160
161
162    /// Sets `CashSettlAgentContactName`, Tag 186.
163    pub fn set_cash_settl_agent_contact_name(&mut self, v: String) {
164        self.message.body.set_field(tag::CASH_SETTL_AGENT_CONTACT_NAME, FIXString::from(v));
165    }
166
167    /// Gets `CashSettlAgentContactName`, Tag 186.
168    pub fn get_cash_settl_agent_contact_name(&self) -> Result<String, MessageRejectErrorEnum> {
169        let mut fld = field::CashSettlAgentContactNameField::new(String::new());
170        self.message.body.get_field(tag::CASH_SETTL_AGENT_CONTACT_NAME, &mut fld.0)?;
171        Ok(fld.value().to_string())
172    }
173
174
175    /// Returns true if `CashSettlAgentContactName` is present, Tag 186.
176    pub fn has_cash_settl_agent_contact_name(&self) -> bool {
177        self.message.body.has(tag::CASH_SETTL_AGENT_CONTACT_NAME)
178    }
179
180
181
182
183    /// Sets `CashSettlAgentContactPhone`, Tag 187.
184    pub fn set_cash_settl_agent_contact_phone(&mut self, v: String) {
185        self.message.body.set_field(tag::CASH_SETTL_AGENT_CONTACT_PHONE, FIXString::from(v));
186    }
187
188    /// Gets `CashSettlAgentContactPhone`, Tag 187.
189    pub fn get_cash_settl_agent_contact_phone(&self) -> Result<String, MessageRejectErrorEnum> {
190        let mut fld = field::CashSettlAgentContactPhoneField::new(String::new());
191        self.message.body.get_field(tag::CASH_SETTL_AGENT_CONTACT_PHONE, &mut fld.0)?;
192        Ok(fld.value().to_string())
193    }
194
195
196    /// Returns true if `CashSettlAgentContactPhone` is present, Tag 187.
197    pub fn has_cash_settl_agent_contact_phone(&self) -> bool {
198        self.message.body.has(tag::CASH_SETTL_AGENT_CONTACT_PHONE)
199    }
200
201
202
203
204    /// Sets `CashSettlAgentName`, Tag 182.
205    pub fn set_cash_settl_agent_name(&mut self, v: String) {
206        self.message.body.set_field(tag::CASH_SETTL_AGENT_NAME, FIXString::from(v));
207    }
208
209    /// Gets `CashSettlAgentName`, Tag 182.
210    pub fn get_cash_settl_agent_name(&self) -> Result<String, MessageRejectErrorEnum> {
211        let mut fld = field::CashSettlAgentNameField::new(String::new());
212        self.message.body.get_field(tag::CASH_SETTL_AGENT_NAME, &mut fld.0)?;
213        Ok(fld.value().to_string())
214    }
215
216
217    /// Returns true if `CashSettlAgentName` is present, Tag 182.
218    pub fn has_cash_settl_agent_name(&self) -> bool {
219        self.message.body.has(tag::CASH_SETTL_AGENT_NAME)
220    }
221
222
223
224
225    /// Sets `ClientID`, Tag 109.
226    pub fn set_client_id(&mut self, v: String) {
227        self.message.body.set_field(tag::CLIENT_ID, FIXString::from(v));
228    }
229
230    /// Gets `ClientID`, Tag 109.
231    pub fn get_client_id(&self) -> Result<String, MessageRejectErrorEnum> {
232        let mut fld = field::ClientIDField::new(String::new());
233        self.message.body.get_field(tag::CLIENT_ID, &mut fld.0)?;
234        Ok(fld.value().to_string())
235    }
236
237
238    /// Returns true if `ClientID` is present, Tag 109.
239    pub fn has_client_id(&self) -> bool {
240        self.message.body.has(tag::CLIENT_ID)
241    }
242
243
244
245
246    /// Sets `EffectiveTime`, Tag 168.
247    pub fn set_effective_time(&mut self, v: Timestamp) {
248        self.message.body.set_field(tag::EFFECTIVE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
249            time: v,
250            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
251        });
252    }
253
254    /// Gets `EffectiveTime`, Tag 168.
255    pub fn get_effective_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
256        let mut fld = field::EffectiveTimeField::new(Timestamp::UNIX_EPOCH);
257        self.message.body.get_field(tag::EFFECTIVE_TIME, &mut fld.0)?;
258        Ok(fld.value())
259    }
260
261
262    /// Returns true if `EffectiveTime` is present, Tag 168.
263    pub fn has_effective_time(&self) -> bool {
264        self.message.body.has(tag::EFFECTIVE_TIME)
265    }
266
267
268
269
270    /// Sets `ExecBroker`, Tag 76.
271    pub fn set_exec_broker(&mut self, v: String) {
272        self.message.body.set_field(tag::EXEC_BROKER, FIXString::from(v));
273    }
274
275    /// Gets `ExecBroker`, Tag 76.
276    pub fn get_exec_broker(&self) -> Result<String, MessageRejectErrorEnum> {
277        let mut fld = field::ExecBrokerField::new(String::new());
278        self.message.body.get_field(tag::EXEC_BROKER, &mut fld.0)?;
279        Ok(fld.value().to_string())
280    }
281
282
283    /// Returns true if `ExecBroker` is present, Tag 76.
284    pub fn has_exec_broker(&self) -> bool {
285        self.message.body.has(tag::EXEC_BROKER)
286    }
287
288
289
290
291    /// Sets `LastMkt`, Tag 30.
292    pub fn set_last_mkt(&mut self, v: String) {
293        self.message.body.set_field(tag::LAST_MKT, FIXString::from(v));
294    }
295
296    /// Gets `LastMkt`, Tag 30.
297    pub fn get_last_mkt(&self) -> Result<String, MessageRejectErrorEnum> {
298        let mut fld = field::LastMktField::new(String::new());
299        self.message.body.get_field(tag::LAST_MKT, &mut fld.0)?;
300        Ok(fld.value().to_string())
301    }
302
303
304    /// Returns true if `LastMkt` is present, Tag 30.
305    pub fn has_last_mkt(&self) -> bool {
306        self.message.body.has(tag::LAST_MKT)
307    }
308
309
310
311
312    /// Sets `SecuritySettlAgentAcctName`, Tag 179.
313    pub fn set_security_settl_agent_acct_name(&mut self, v: String) {
314        self.message.body.set_field(tag::SECURITY_SETTL_AGENT_ACCT_NAME, FIXString::from(v));
315    }
316
317    /// Gets `SecuritySettlAgentAcctName`, Tag 179.
318    pub fn get_security_settl_agent_acct_name(&self) -> Result<String, MessageRejectErrorEnum> {
319        let mut fld = field::SecuritySettlAgentAcctNameField::new(String::new());
320        self.message.body.get_field(tag::SECURITY_SETTL_AGENT_ACCT_NAME, &mut fld.0)?;
321        Ok(fld.value().to_string())
322    }
323
324
325    /// Returns true if `SecuritySettlAgentAcctName` is present, Tag 179.
326    pub fn has_security_settl_agent_acct_name(&self) -> bool {
327        self.message.body.has(tag::SECURITY_SETTL_AGENT_ACCT_NAME)
328    }
329
330
331
332
333    /// Sets `SecuritySettlAgentAcctNum`, Tag 178.
334    pub fn set_security_settl_agent_acct_num(&mut self, v: String) {
335        self.message.body.set_field(tag::SECURITY_SETTL_AGENT_ACCT_NUM, FIXString::from(v));
336    }
337
338    /// Gets `SecuritySettlAgentAcctNum`, Tag 178.
339    pub fn get_security_settl_agent_acct_num(&self) -> Result<String, MessageRejectErrorEnum> {
340        let mut fld = field::SecuritySettlAgentAcctNumField::new(String::new());
341        self.message.body.get_field(tag::SECURITY_SETTL_AGENT_ACCT_NUM, &mut fld.0)?;
342        Ok(fld.value().to_string())
343    }
344
345
346    /// Returns true if `SecuritySettlAgentAcctNum` is present, Tag 178.
347    pub fn has_security_settl_agent_acct_num(&self) -> bool {
348        self.message.body.has(tag::SECURITY_SETTL_AGENT_ACCT_NUM)
349    }
350
351
352
353
354    /// Sets `SecuritySettlAgentCode`, Tag 177.
355    pub fn set_security_settl_agent_code(&mut self, v: String) {
356        self.message.body.set_field(tag::SECURITY_SETTL_AGENT_CODE, FIXString::from(v));
357    }
358
359    /// Gets `SecuritySettlAgentCode`, Tag 177.
360    pub fn get_security_settl_agent_code(&self) -> Result<String, MessageRejectErrorEnum> {
361        let mut fld = field::SecuritySettlAgentCodeField::new(String::new());
362        self.message.body.get_field(tag::SECURITY_SETTL_AGENT_CODE, &mut fld.0)?;
363        Ok(fld.value().to_string())
364    }
365
366
367    /// Returns true if `SecuritySettlAgentCode` is present, Tag 177.
368    pub fn has_security_settl_agent_code(&self) -> bool {
369        self.message.body.has(tag::SECURITY_SETTL_AGENT_CODE)
370    }
371
372
373
374
375    /// Sets `SecuritySettlAgentContactName`, Tag 180.
376    pub fn set_security_settl_agent_contact_name(&mut self, v: String) {
377        self.message.body.set_field(tag::SECURITY_SETTL_AGENT_CONTACT_NAME, FIXString::from(v));
378    }
379
380    /// Gets `SecuritySettlAgentContactName`, Tag 180.
381    pub fn get_security_settl_agent_contact_name(&self) -> Result<String, MessageRejectErrorEnum> {
382        let mut fld = field::SecuritySettlAgentContactNameField::new(String::new());
383        self.message.body.get_field(tag::SECURITY_SETTL_AGENT_CONTACT_NAME, &mut fld.0)?;
384        Ok(fld.value().to_string())
385    }
386
387
388    /// Returns true if `SecuritySettlAgentContactName` is present, Tag 180.
389    pub fn has_security_settl_agent_contact_name(&self) -> bool {
390        self.message.body.has(tag::SECURITY_SETTL_AGENT_CONTACT_NAME)
391    }
392
393
394
395
396    /// Sets `SecuritySettlAgentContactPhone`, Tag 181.
397    pub fn set_security_settl_agent_contact_phone(&mut self, v: String) {
398        self.message.body.set_field(tag::SECURITY_SETTL_AGENT_CONTACT_PHONE, FIXString::from(v));
399    }
400
401    /// Gets `SecuritySettlAgentContactPhone`, Tag 181.
402    pub fn get_security_settl_agent_contact_phone(&self) -> Result<String, MessageRejectErrorEnum> {
403        let mut fld = field::SecuritySettlAgentContactPhoneField::new(String::new());
404        self.message.body.get_field(tag::SECURITY_SETTL_AGENT_CONTACT_PHONE, &mut fld.0)?;
405        Ok(fld.value().to_string())
406    }
407
408
409    /// Returns true if `SecuritySettlAgentContactPhone` is present, Tag 181.
410    pub fn has_security_settl_agent_contact_phone(&self) -> bool {
411        self.message.body.has(tag::SECURITY_SETTL_AGENT_CONTACT_PHONE)
412    }
413
414
415
416
417    /// Sets `SecuritySettlAgentName`, Tag 176.
418    pub fn set_security_settl_agent_name(&mut self, v: String) {
419        self.message.body.set_field(tag::SECURITY_SETTL_AGENT_NAME, FIXString::from(v));
420    }
421
422    /// Gets `SecuritySettlAgentName`, Tag 176.
423    pub fn get_security_settl_agent_name(&self) -> Result<String, MessageRejectErrorEnum> {
424        let mut fld = field::SecuritySettlAgentNameField::new(String::new());
425        self.message.body.get_field(tag::SECURITY_SETTL_AGENT_NAME, &mut fld.0)?;
426        Ok(fld.value().to_string())
427    }
428
429
430    /// Returns true if `SecuritySettlAgentName` is present, Tag 176.
431    pub fn has_security_settl_agent_name(&self) -> bool {
432        self.message.body.has(tag::SECURITY_SETTL_AGENT_NAME)
433    }
434
435
436
437
438    /// Sets `SecurityType`, Tag 167.
439    pub fn set_security_type(&mut self, v: String) {
440        self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
441    }
442
443    /// Gets `SecurityType`, Tag 167.
444    pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
445        let mut fld = field::SecurityTypeField::new(String::new());
446        self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
447        Ok(fld.value().to_string())
448    }
449
450
451    /// Returns true if `SecurityType` is present, Tag 167.
452    pub fn has_security_type(&self) -> bool {
453        self.message.body.has(tag::SECURITY_TYPE)
454    }
455
456
457
458
459    /// Sets `SettlBrkrCode`, Tag 174.
460    pub fn set_settl_brkr_code(&mut self, v: String) {
461        self.message.body.set_field(tag::SETTL_BRKR_CODE, FIXString::from(v));
462    }
463
464    /// Gets `SettlBrkrCode`, Tag 174.
465    pub fn get_settl_brkr_code(&self) -> Result<String, MessageRejectErrorEnum> {
466        let mut fld = field::SettlBrkrCodeField::new(String::new());
467        self.message.body.get_field(tag::SETTL_BRKR_CODE, &mut fld.0)?;
468        Ok(fld.value().to_string())
469    }
470
471
472    /// Returns true if `SettlBrkrCode` is present, Tag 174.
473    pub fn has_settl_brkr_code(&self) -> bool {
474        self.message.body.has(tag::SETTL_BRKR_CODE)
475    }
476
477
478
479
480    /// Sets `SettlDeliveryType`, Tag 172.
481    pub fn set_settl_delivery_type(&mut self, v: isize) {
482        self.message.body.set_field(tag::SETTL_DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
483    }
484
485    /// Gets `SettlDeliveryType`, Tag 172.
486    pub fn get_settl_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
487        let mut fld = field::SettlDeliveryTypeField::new(0);
488        self.message.body.get_field(tag::SETTL_DELIVERY_TYPE, &mut fld.0)?;
489        Ok(fld.value())
490    }
491
492
493    /// Returns true if `SettlDeliveryType` is present, Tag 172.
494    pub fn has_settl_delivery_type(&self) -> bool {
495        self.message.body.has(tag::SETTL_DELIVERY_TYPE)
496    }
497
498
499
500
501    /// Sets `SettlDepositoryCode`, Tag 173.
502    pub fn set_settl_depository_code(&mut self, v: String) {
503        self.message.body.set_field(tag::SETTL_DEPOSITORY_CODE, FIXString::from(v));
504    }
505
506    /// Gets `SettlDepositoryCode`, Tag 173.
507    pub fn get_settl_depository_code(&self) -> Result<String, MessageRejectErrorEnum> {
508        let mut fld = field::SettlDepositoryCodeField::new(String::new());
509        self.message.body.get_field(tag::SETTL_DEPOSITORY_CODE, &mut fld.0)?;
510        Ok(fld.value().to_string())
511    }
512
513
514    /// Returns true if `SettlDepositoryCode` is present, Tag 173.
515    pub fn has_settl_depository_code(&self) -> bool {
516        self.message.body.has(tag::SETTL_DEPOSITORY_CODE)
517    }
518
519
520
521
522    /// Sets `SettlInstCode`, Tag 175.
523    pub fn set_settl_inst_code(&mut self, v: String) {
524        self.message.body.set_field(tag::SETTL_INST_CODE, FIXString::from(v));
525    }
526
527    /// Gets `SettlInstCode`, Tag 175.
528    pub fn get_settl_inst_code(&self) -> Result<String, MessageRejectErrorEnum> {
529        let mut fld = field::SettlInstCodeField::new(String::new());
530        self.message.body.get_field(tag::SETTL_INST_CODE, &mut fld.0)?;
531        Ok(fld.value().to_string())
532    }
533
534
535    /// Returns true if `SettlInstCode` is present, Tag 175.
536    pub fn has_settl_inst_code(&self) -> bool {
537        self.message.body.has(tag::SETTL_INST_CODE)
538    }
539
540
541
542
543    /// Sets `SettlInstID`, Tag 162.
544    pub fn set_settl_inst_id(&mut self, v: String) {
545        self.message.body.set_field(tag::SETTL_INST_ID, FIXString::from(v));
546    }
547
548    /// Gets `SettlInstID`, Tag 162.
549    pub fn get_settl_inst_id(&self) -> Result<String, MessageRejectErrorEnum> {
550        let mut fld = field::SettlInstIDField::new(String::new());
551        self.message.body.get_field(tag::SETTL_INST_ID, &mut fld.0)?;
552        Ok(fld.value().to_string())
553    }
554
555
556    /// Returns true if `SettlInstID` is present, Tag 162.
557    pub fn has_settl_inst_id(&self) -> bool {
558        self.message.body.has(tag::SETTL_INST_ID)
559    }
560
561
562
563
564    /// Sets `SettlInstMode`, Tag 160.
565    pub fn set_settl_inst_mode(&mut self, v: String) {
566        self.message.body.set_field(tag::SETTL_INST_MODE, FIXString::from(v));
567    }
568
569    /// Gets `SettlInstMode`, Tag 160.
570    pub fn get_settl_inst_mode(&self) -> Result<String, MessageRejectErrorEnum> {
571        let mut fld = field::SettlInstModeField::new(String::new());
572        self.message.body.get_field(tag::SETTL_INST_MODE, &mut fld.0)?;
573        Ok(fld.value().to_string())
574    }
575
576
577    /// Returns true if `SettlInstMode` is present, Tag 160.
578    pub fn has_settl_inst_mode(&self) -> bool {
579        self.message.body.has(tag::SETTL_INST_MODE)
580    }
581
582
583
584
585    /// Sets `SettlInstSource`, Tag 165.
586    pub fn set_settl_inst_source(&mut self, v: String) {
587        self.message.body.set_field(tag::SETTL_INST_SOURCE, FIXString::from(v));
588    }
589
590    /// Gets `SettlInstSource`, Tag 165.
591    pub fn get_settl_inst_source(&self) -> Result<String, MessageRejectErrorEnum> {
592        let mut fld = field::SettlInstSourceField::new(String::new());
593        self.message.body.get_field(tag::SETTL_INST_SOURCE, &mut fld.0)?;
594        Ok(fld.value().to_string())
595    }
596
597
598    /// Returns true if `SettlInstSource` is present, Tag 165.
599    pub fn has_settl_inst_source(&self) -> bool {
600        self.message.body.has(tag::SETTL_INST_SOURCE)
601    }
602
603
604
605
606    /// Sets `SettlInstTransType`, Tag 163.
607    pub fn set_settl_inst_trans_type(&mut self, v: String) {
608        self.message.body.set_field(tag::SETTL_INST_TRANS_TYPE, FIXString::from(v));
609    }
610
611    /// Gets `SettlInstTransType`, Tag 163.
612    pub fn get_settl_inst_trans_type(&self) -> Result<String, MessageRejectErrorEnum> {
613        let mut fld = field::SettlInstTransTypeField::new(String::new());
614        self.message.body.get_field(tag::SETTL_INST_TRANS_TYPE, &mut fld.0)?;
615        Ok(fld.value().to_string())
616    }
617
618
619    /// Returns true if `SettlInstTransType` is present, Tag 163.
620    pub fn has_settl_inst_trans_type(&self) -> bool {
621        self.message.body.has(tag::SETTL_INST_TRANS_TYPE)
622    }
623
624
625
626
627    /// Sets `SettlLocation`, Tag 166.
628    pub fn set_settl_location(&mut self, v: String) {
629        self.message.body.set_field(tag::SETTL_LOCATION, FIXString::from(v));
630    }
631
632    /// Gets `SettlLocation`, Tag 166.
633    pub fn get_settl_location(&self) -> Result<String, MessageRejectErrorEnum> {
634        let mut fld = field::SettlLocationField::new(String::new());
635        self.message.body.get_field(tag::SETTL_LOCATION, &mut fld.0)?;
636        Ok(fld.value().to_string())
637    }
638
639
640    /// Returns true if `SettlLocation` is present, Tag 166.
641    pub fn has_settl_location(&self) -> bool {
642        self.message.body.has(tag::SETTL_LOCATION)
643    }
644
645
646
647
648    /// Sets `Side`, Tag 54.
649    pub fn set_side(&mut self, v: String) {
650        self.message.body.set_field(tag::SIDE, FIXString::from(v));
651    }
652
653    /// Gets `Side`, Tag 54.
654    pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
655        let mut fld = field::SideField::new(String::new());
656        self.message.body.get_field(tag::SIDE, &mut fld.0)?;
657        Ok(fld.value().to_string())
658    }
659
660
661    /// Returns true if `Side` is present, Tag 54.
662    pub fn has_side(&self) -> bool {
663        self.message.body.has(tag::SIDE)
664    }
665
666
667
668
669    /// Sets `StandInstDbID`, Tag 171.
670    pub fn set_stand_inst_db_id(&mut self, v: String) {
671        self.message.body.set_field(tag::STAND_INST_DB_ID, FIXString::from(v));
672    }
673
674    /// Gets `StandInstDbID`, Tag 171.
675    pub fn get_stand_inst_db_id(&self) -> Result<String, MessageRejectErrorEnum> {
676        let mut fld = field::StandInstDbIDField::new(String::new());
677        self.message.body.get_field(tag::STAND_INST_DB_ID, &mut fld.0)?;
678        Ok(fld.value().to_string())
679    }
680
681
682    /// Returns true if `StandInstDbID` is present, Tag 171.
683    pub fn has_stand_inst_db_id(&self) -> bool {
684        self.message.body.has(tag::STAND_INST_DB_ID)
685    }
686
687
688
689
690    /// Sets `StandInstDbName`, Tag 170.
691    pub fn set_stand_inst_db_name(&mut self, v: String) {
692        self.message.body.set_field(tag::STAND_INST_DB_NAME, FIXString::from(v));
693    }
694
695    /// Gets `StandInstDbName`, Tag 170.
696    pub fn get_stand_inst_db_name(&self) -> Result<String, MessageRejectErrorEnum> {
697        let mut fld = field::StandInstDbNameField::new(String::new());
698        self.message.body.get_field(tag::STAND_INST_DB_NAME, &mut fld.0)?;
699        Ok(fld.value().to_string())
700    }
701
702
703    /// Returns true if `StandInstDbName` is present, Tag 170.
704    pub fn has_stand_inst_db_name(&self) -> bool {
705        self.message.body.has(tag::STAND_INST_DB_NAME)
706    }
707
708
709
710
711    /// Sets `StandInstDbType`, Tag 169.
712    pub fn set_stand_inst_db_type(&mut self, v: isize) {
713        self.message.body.set_field(tag::STAND_INST_DB_TYPE, fixer::fix_int::FIXInt::from(v));
714    }
715
716    /// Gets `StandInstDbType`, Tag 169.
717    pub fn get_stand_inst_db_type(&self) -> Result<isize, MessageRejectErrorEnum> {
718        let mut fld = field::StandInstDbTypeField::new(0);
719        self.message.body.get_field(tag::STAND_INST_DB_TYPE, &mut fld.0)?;
720        Ok(fld.value())
721    }
722
723
724    /// Returns true if `StandInstDbType` is present, Tag 169.
725    pub fn has_stand_inst_db_type(&self) -> bool {
726        self.message.body.has(tag::STAND_INST_DB_TYPE)
727    }
728
729
730
731
732    /// Sets `TradeDate`, Tag 75.
733    pub fn set_trade_date(&mut self, v: String) {
734        self.message.body.set_field(tag::TRADE_DATE, FIXString::from(v));
735    }
736
737    /// Gets `TradeDate`, Tag 75.
738    pub fn get_trade_date(&self) -> Result<String, MessageRejectErrorEnum> {
739        let mut fld = field::TradeDateField::new(String::new());
740        self.message.body.get_field(tag::TRADE_DATE, &mut fld.0)?;
741        Ok(fld.value().to_string())
742    }
743
744
745    /// Returns true if `TradeDate` is present, Tag 75.
746    pub fn has_trade_date(&self) -> bool {
747        self.message.body.has(tag::TRADE_DATE)
748    }
749
750
751
752
753    /// Sets `TransactTime`, Tag 60.
754    pub fn set_transact_time(&mut self, v: Timestamp) {
755        self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
756            time: v,
757            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
758        });
759    }
760
761    /// Gets `TransactTime`, Tag 60.
762    pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
763        let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
764        self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
765        Ok(fld.value())
766    }
767
768
769    /// Returns true if `TransactTime` is present, Tag 60.
770    pub fn has_transact_time(&self) -> bool {
771        self.message.body.has(tag::TRANSACT_TIME)
772    }
773
774
775}
776
777/// `RouteOut` is the callback type for routing `SettlementInstructions` messages.
778pub type RouteOut = fn(msg: SettlementInstructions, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
779
780/// Route type returned by the `route` function.
781pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
782
783/// Returns the begin string, message type, and route function for `SettlementInstructions`.
784pub fn route(router: RouteOut) -> Route {
785    let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
786        router(SettlementInstructions::from_message(msg.clone()), session_id)
787    };
788    ("FIX.4.1", "T", Box::new(r))
789}