SwiftMessageBody

Trait SwiftMessageBody 

Source
pub trait SwiftMessageBody:
    Debug
    + Clone
    + Send
    + Sync
    + Serialize
    + Any {
    // Required methods
    fn message_type() -> &'static str;
    fn from_fields(
        fields: HashMap<String, Vec<(String, usize)>>,
    ) -> SwiftResult<Self>
       where Self: Sized;
    fn to_fields(&self) -> HashMap<String, Vec<String>>;
    fn required_fields() -> Vec<&'static str>;
    fn optional_fields() -> Vec<&'static str>;

    // Provided methods
    fn from_fields_with_config(
        fields: HashMap<String, Vec<(String, usize)>>,
        config: &ParserConfig,
    ) -> Result<ParseResult<Self>, ParseError>
       where Self: Sized { ... }
    fn to_ordered_fields(&self) -> Vec<(String, String)> { ... }
}
Expand description

Core trait for Swift message types

Required Methods§

Source

fn message_type() -> &'static str

Get the message type identifier (e.g., “103”, “202”)

Source

fn from_fields( fields: HashMap<String, Vec<(String, usize)>>, ) -> SwiftResult<Self>
where Self: Sized,

Create from field map with sequential consumption tracking

Source

fn to_fields(&self) -> HashMap<String, Vec<String>>

Convert to field map

Source

fn required_fields() -> Vec<&'static str>

Get required field tags for this message type

Source

fn optional_fields() -> Vec<&'static str>

Get optional field tags for this message type

Provided Methods§

Source

fn from_fields_with_config( fields: HashMap<String, Vec<(String, usize)>>, config: &ParserConfig, ) -> Result<ParseResult<Self>, ParseError>
where Self: Sized,

Create from field map with configuration for error collection

Source

fn to_ordered_fields(&self) -> Vec<(String, String)>

Convert to ordered field list for MT serialization Returns fields in the correct sequence order for multi-sequence messages

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl SwiftMessageBody for MT101

Source§

impl SwiftMessageBody for MT101Transaction

Source§

impl SwiftMessageBody for MT103

Source§

impl SwiftMessageBody for MT104

Source§

impl SwiftMessageBody for MT104Transaction

Source§

impl SwiftMessageBody for MT107

Source§

impl SwiftMessageBody for MT107Transaction

Source§

impl SwiftMessageBody for MT110

Source§

impl SwiftMessageBody for MT110Cheque

Source§

impl SwiftMessageBody for MT111

Source§

impl SwiftMessageBody for MT112

Source§

impl SwiftMessageBody for MT190

Source§

impl SwiftMessageBody for MT191

Source§

impl SwiftMessageBody for MT192

Source§

impl SwiftMessageBody for MT196

Source§

impl SwiftMessageBody for MT199

Source§

impl SwiftMessageBody for MT200

Source§

impl SwiftMessageBody for MT202

Source§

impl SwiftMessageBody for MT204

Source§

impl SwiftMessageBody for MT204Transaction

Source§

impl SwiftMessageBody for MT205

Source§

impl SwiftMessageBody for MT210

Source§

impl SwiftMessageBody for MT210Sequence

Source§

impl SwiftMessageBody for MT290

Source§

impl SwiftMessageBody for MT291

Source§

impl SwiftMessageBody for MT292

Source§

impl SwiftMessageBody for MT296

Source§

impl SwiftMessageBody for MT299

Source§

impl SwiftMessageBody for MT900

Source§

impl SwiftMessageBody for MT910

Source§

impl SwiftMessageBody for MT920

Source§

impl SwiftMessageBody for MT920Sequence

Source§

impl SwiftMessageBody for MT935

Source§

impl SwiftMessageBody for MT935RateChange

Source§

impl SwiftMessageBody for MT940

Source§

impl SwiftMessageBody for MT940StatementLine

Source§

impl SwiftMessageBody for MT941

Source§

impl SwiftMessageBody for MT942

Source§

impl SwiftMessageBody for MT942StatementLine

Source§

impl SwiftMessageBody for MT950