1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// @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),
}