openehr-lang 0.0.128

openEHR LANG BMM/P_BMM object model, generated from BMM: generations v1_0 (LANG 1.0.0) and v1_1 (LANG 1.1.0, current; the stable BMM v2.x unit beside the paused BMM3 unit), plus hand-written ODIN/BEL/EL readers
Documentation
// @generated by openehr-codegen from BMM (`EL_TERMINAL`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

//! The openEHR `EL_TERMINAL` spec class, generated from the vendored BMM
//! meta-model.

use crate::v1_1::bmm3::expression::el_attached::ElAttached;
use crate::v1_1::bmm3::expression::el_case_table::ElCaseTable;
use crate::v1_1::bmm3::expression::el_condition_chain::ElConditionChain;
use crate::v1_1::bmm3::expression::el_defined::ElDefined;
use crate::v1_1::bmm3::expression::el_function_agent::ElFunctionAgent;
use crate::v1_1::bmm3::expression::el_function_call::ElFunctionCall;
use crate::v1_1::bmm3::expression::el_literal::ElLiteral;
use crate::v1_1::bmm3::expression::el_procedure_agent::ElProcedureAgent;
use crate::v1_1::bmm3::expression::el_property_ref::ElPropertyRef;
use crate::v1_1::bmm3::expression::el_readonly_variable::ElReadonlyVariable;
use crate::v1_1::bmm3::expression::el_static_ref::ElStaticRef;
use crate::v1_1::bmm3::expression::el_type_ref::ElTypeRef;
use crate::v1_1::bmm3::expression::el_writable_variable::ElWritableVariable;

/// Closed subtype set of `EL_TERMINAL`, dispatched on each payload's `_type`.
///
/// Expression entities that are terminals (i.e. leaves) within operator expressions or tuples.
#[doc(alias = "EL_TERMINAL")]
#[derive(Debug, Clone, PartialEq)]
pub enum ElTerminal {
    /// The `EL_ATTACHED` subtype of `EL_TERMINAL`.
    ElAttached(ElAttached),
    /// The `EL_CASE_TABLE` subtype of `EL_TERMINAL`.
    ElCaseTable(Box<ElCaseTable<ElTerminal>>),
    /// The `EL_CONDITION_CHAIN` subtype of `EL_TERMINAL`.
    ElConditionChain(Box<ElConditionChain<ElTerminal>>),
    /// The `EL_DEFINED` subtype of `EL_TERMINAL`.
    ElDefined(ElDefined),
    /// The `EL_FUNCTION_AGENT` subtype of `EL_TERMINAL`.
    ElFunctionAgent(ElFunctionAgent),
    /// The `EL_FUNCTION_CALL` subtype of `EL_TERMINAL`.
    ElFunctionCall(ElFunctionCall),
    /// The `EL_LITERAL` subtype of `EL_TERMINAL`.
    ElLiteral(ElLiteral),
    /// The `EL_PROCEDURE_AGENT` subtype of `EL_TERMINAL`.
    ElProcedureAgent(ElProcedureAgent),
    /// The `EL_PROPERTY_REF` subtype of `EL_TERMINAL`.
    ElPropertyRef(ElPropertyRef),
    /// The `EL_READONLY_VARIABLE` subtype of `EL_TERMINAL`.
    ElReadonlyVariable(ElReadonlyVariable),
    /// The `EL_STATIC_REF` subtype of `EL_TERMINAL`.
    ElStaticRef(ElStaticRef),
    /// The `EL_TYPE_REF` subtype of `EL_TERMINAL`.
    ElTypeRef(ElTypeRef),
    /// The `EL_WRITABLE_VARIABLE` subtype of `EL_TERMINAL`.
    ElWritableVariable(ElWritableVariable),
}