Skip to main content

ConditionEvaluator

Trait ConditionEvaluator 

Source
pub trait ConditionEvaluator: Send + Sync {
    // Required methods
    fn evaluate(
        &self,
        condition: u32,
        ctx: &EvaluationContext<'_>,
    ) -> ConditionResult;
    fn is_external(&self, condition: u32) -> bool;
    fn message_type(&self) -> &str;
    fn format_version(&self) -> &str;

    // Provided method
    fn is_known(&self, _condition: u32) -> bool { ... }
}
Expand description

Evaluates individual AHB conditions by number.

Implementations are typically generated from AHB XML schemas (one per message type and format version). Each condition number maps to a specific business rule check.

Required Methods§

Source

fn evaluate( &self, condition: u32, ctx: &EvaluationContext<'_>, ) -> ConditionResult

Evaluate a single condition by number.

Returns ConditionResult::Unknown for unrecognized condition numbers or conditions that require unavailable external context.

Source

fn is_external(&self, condition: u32) -> bool

Returns true if the given condition requires external context (i.e., cannot be determined from the EDIFACT message alone).

Source

fn message_type(&self) -> &str

Returns the message type this evaluator handles (e.g., “UTILMD”).

Source

fn format_version(&self) -> &str

Returns the format version this evaluator handles (e.g., “FV2510”).

Provided Methods§

Source

fn is_known(&self, _condition: u32) -> bool

Returns true if this evaluator has an implementation for the given condition number (whether internal or external). Conditions that fall through to the _ => Unknown wildcard return false.

This allows distinguishing “implemented but returned Unknown because the relevant data isn’t present in the message” from “not implemented at all”.

Implementations on Foreign Types§

Source§

impl<T: ConditionEvaluator + ?Sized> ConditionEvaluator for Arc<T>

Source§

fn evaluate( &self, condition: u32, ctx: &EvaluationContext<'_>, ) -> ConditionResult

Source§

fn is_external(&self, condition: u32) -> bool

Source§

fn is_known(&self, condition: u32) -> bool

Source§

fn message_type(&self) -> &str

Source§

fn format_version(&self) -> &str

Implementors§

Source§

impl ConditionEvaluator for AperakConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for ComdisConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for ContrlConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for IftstaConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for InvoicConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for MsconsConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for OrdchgConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for OrdersConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for OrdrspConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for PartinConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for PricatConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for QuotesConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for RemadvConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for ReqoteConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for UtilmdGasConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for UtilmdStromConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for UtiltsConditionEvaluatorFV2504

Source§

impl ConditionEvaluator for ComdisConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for IftstaConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for InsrptConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for InvoicConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for MsconsConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for OrdersConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for OrdrspConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for PartinConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for PricatConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for QuotesConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for RemadvConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for ReqoteConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for UtilmdStromConditionEvaluatorFV2510

Source§

impl ConditionEvaluator for ComdisConditionEvaluatorFV2604

Source§

impl ConditionEvaluator for MsconsConditionEvaluatorFV2604

Source§

impl ConditionEvaluator for OrdersConditionEvaluatorFV2604

Source§

impl ConditionEvaluator for PartinConditionEvaluatorFV2604

Source§

impl ConditionEvaluator for RemadvConditionEvaluatorFV2604

Source§

impl ConditionEvaluator for UtilmdGasConditionEvaluatorFV2604