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>>) -> 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>;
    fn sample() -> Self
       where Self: Sized;
    fn sample_minimal() -> Self
       where Self: Sized;
    fn sample_full() -> Self
       where Self: Sized;
    fn sample_with_config(config: &MessageConfig) -> Self
       where Self: Sized;
}
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>>) -> SwiftResult<Self>
where Self: Sized,

Create from field map

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

Source

fn sample() -> Self
where Self: Sized,

Generate a sample message with only mandatory fields

Source

fn sample_minimal() -> Self
where Self: Sized,

Generate a minimal sample (only mandatory fields)

Source

fn sample_full() -> Self
where Self: Sized,

Generate a full sample (all fields populated)

Source

fn sample_with_config(config: &MessageConfig) -> Self
where Self: Sized,

Generate a sample with configuration

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§