pub trait EdifactHandler {
// Provided methods
fn on_delimiters(
&mut self,
_delimiters: &EdifactDelimiters,
_explicit_una: bool,
) { ... }
fn on_interchange_start(&mut self, _unb: &RawSegment<'_>) -> Control { ... }
fn on_message_start(&mut self, _unh: &RawSegment<'_>) -> Control { ... }
fn on_segment(&mut self, _segment: &RawSegment<'_>) -> Control { ... }
fn on_message_end(&mut self, _unt: &RawSegment<'_>) { ... }
fn on_interchange_end(&mut self, _unz: &RawSegment<'_>) { ... }
fn on_error(&mut self, _error: ParseError) -> Control { ... }
}Expand description
Trait for handling EDIFACT parsing events.
All methods have default no-op implementations, so implementors only need to override the callbacks they care about.
§Event Order
For a typical EDIFACT interchange:
on_delimiters()— always called firston_interchange_start()— when UNB is encounteredon_message_start()— when UNH is encounteredon_segment()— for EVERY segment (including UNB, UNH, UNT, UNZ)on_message_end()— when UNT is encounteredon_interchange_end()— when UNZ is encountered
Provided Methods§
Sourcefn on_delimiters(
&mut self,
_delimiters: &EdifactDelimiters,
_explicit_una: bool,
)
fn on_delimiters( &mut self, _delimiters: &EdifactDelimiters, _explicit_una: bool, )
Called when delimiters are determined (from UNA or defaults).
Sourcefn on_interchange_start(&mut self, _unb: &RawSegment<'_>) -> Control
fn on_interchange_start(&mut self, _unb: &RawSegment<'_>) -> Control
Called when an interchange begins (UNB segment).
Sourcefn on_message_start(&mut self, _unh: &RawSegment<'_>) -> Control
fn on_message_start(&mut self, _unh: &RawSegment<'_>) -> Control
Called when a message begins (UNH segment).
Sourcefn on_segment(&mut self, _segment: &RawSegment<'_>) -> Control
fn on_segment(&mut self, _segment: &RawSegment<'_>) -> Control
Called for every segment in the interchange.
This is called for ALL segments, including service segments
(UNB, UNH, UNT, UNZ). The specific on_* methods are called
BEFORE on_segment() for service segments.
Sourcefn on_message_end(&mut self, _unt: &RawSegment<'_>)
fn on_message_end(&mut self, _unt: &RawSegment<'_>)
Called when a message ends (UNT segment).
Sourcefn on_interchange_end(&mut self, _unz: &RawSegment<'_>)
fn on_interchange_end(&mut self, _unz: &RawSegment<'_>)
Called when an interchange ends (UNZ segment).
Sourcefn on_error(&mut self, _error: ParseError) -> Control
fn on_error(&mut self, _error: ParseError) -> Control
Called when a parsing error occurs.
Return Control::Continue to attempt recovery, or
Control::Stop to abort parsing.