pub struct MappedMessage {
pub stammdaten: Value,
pub nachricht_meta: Value,
pub transaktionen: Vec<MappedTransaktion>,
pub nesting_info: HashMap<String, Vec<usize>>,
pub inter_group_segments: BTreeMap<usize, Vec<AssembledSegment>>,
}Expand description
Intermediate result from mapping a single message’s assembled tree.
Contains message-level stammdaten and per-transaction results.
Used by MappingEngine::map_interchange() before wrapping into Nachricht.
Fields§
§stammdaten: ValueMessage-level BO4E entities (e.g. Marktteilnehmer from SG2).
nachricht_meta: ValueThe Nachricht entity, split out of stammdaten on the way out.
Engine-internal: MappedMessage::into_dynamic_nachricht folds it into
Nachrichtendaten, the message’s one metadata slot. Deliberately not
named transaktionsdaten — there is no transaction at message level.
transaktionen: Vec<MappedTransaktion>Per-transaction results (one per SG4 instance).
nesting_info: HashMap<String, Vec<usize>>Nesting distribution info for message-level entities.
Maps entity key (camelCase) -> parent rep index for each child element. Used by the reverse mapper to distribute children among parent group reps. Derived from the tree structure during forward mapping; never serialized.
inter_group_segments: BTreeMap<usize, Vec<AssembledSegment>>Inter-group segments captured by the assembler at message scope.
Contains both schema-recognized root segments emitted between groups
(e.g. UNS+S in MSCONS / ORDERS) and PID-foreign segments preserved by
skip_unknown_segments mode (e.g. IMD in QUOTES 15005). Threaded
through MappedMessage so that map_interchange_reverse can hand
them back to the disassembler for byte-identical roundtrip — without
this, BO4E forward + reverse drops anything not represented in a
TOML mapping definition.
Implementations§
Source§impl MappedMessage
impl MappedMessage
Sourcepub fn into_dynamic_nachricht(
self,
nachrichtendaten: Nachrichtendaten,
) -> Nachricht<Value, Transaktion<Value, Value>>
pub fn into_dynamic_nachricht( self, nachrichtendaten: Nachrichtendaten, ) -> Nachricht<Value, Transaktion<Value, Value>>
Convert this internal engine result into a public DynamicNachricht.
Each MappedTransaktion.stammdaten becomes a transaction entry in the
DynamicNachricht.transaktionen Vec.
Trait Implementations§
Source§impl Clone for MappedMessage
impl Clone for MappedMessage
Source§fn clone(&self) -> MappedMessage
fn clone(&self) -> MappedMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more