pub struct StructuredFieldMapping {
pub target: String,
pub transform: Option<String>,
pub when: Option<String>,
pub default: Option<String>,
pub enum_map: Option<BTreeMap<String, String>>,
pub when_filled: Option<Vec<String>>,
pub also_target: Option<String>,
pub also_enum_map: Option<BTreeMap<String, String>>,
}Expand description
A structured field mapping with optional transform and condition.
Fields§
§target: String§transform: Option<String>§when: Option<String>§default: Option<String>§enum_map: Option<BTreeMap<String, String>>Bidirectional enum translation map (EDIFACT value → BO4E value). Forward: looks up extracted EDIFACT value to produce BO4E value. Reverse: reverse-looks up BO4E value to produce EDIFACT value. Uses BTreeMap for deterministic reverse lookup (first key alphabetically wins).
when_filled: Option<Vec<String>>Conditional injection: only inject the default on reverse when ANY of these target field names has a value in the BO4E JSON (checked in both core and companion objects). Used for transport metadata (qualifiers, codelist codes) that should only appear when associated domain data exists.
also_target: Option<String>Second target for dual decomposition: one EDIFACT value → two companion fields.
Used when a code encodes two concepts (e.g., NAD qualifier = partnerrolle + datenqualitaet).
Forward: map raw value via also_enum_map, store as also_target.
Reverse: joint lookup — find code where both enum_map and also_enum_map match.
also_enum_map: Option<BTreeMap<String, String>>Enum map for the also_target field. Same code keys as enum_map.
Trait Implementations§
Source§impl Clone for StructuredFieldMapping
impl Clone for StructuredFieldMapping
Source§fn clone(&self) -> StructuredFieldMapping
fn clone(&self) -> StructuredFieldMapping
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more