openehr-lang 0.0.2

openEHR LANG 1.0.0: BMM/P_BMM object model (generated from BMM) plus a hand-written ODIN instance parser (the `odin` module — deliberately off the codegen path).
Documentation
// @generated by openehr-codegen from BMM (`BMM_FORMAL_ELEMENT`) — DO NOT EDIT.

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

use crate::bmm3::core::feature::bmm_constant::BmmConstant;
use crate::bmm3::core::feature::bmm_container_property::BmmContainerProperty;
use crate::bmm3::core::feature::bmm_function::BmmFunction;
use crate::bmm3::core::feature::bmm_local::BmmLocal;
use crate::bmm3::core::feature::bmm_parameter::BmmParameter;
use crate::bmm3::core::feature::bmm_procedure::BmmProcedure;
use crate::bmm3::core::feature::bmm_result::BmmResult;
use crate::bmm3::core::feature::bmm_self::BmmSelf;
use crate::bmm3::core::feature::bmm_singleton::BmmSingleton;
use crate::bmm3::core::feature::bmm_unitary_property::BmmUnitaryProperty;

/// Closed subtype set of `BMM_FORMAL_ELEMENT`, dispatched on each payload's `_type`.
///
/// A formal element having a name, type and a type-based signature.
#[doc(alias = "BMM_FORMAL_ELEMENT")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmFormalElement {
    /// The `BMM_CONSTANT` subtype of `BMM_FORMAL_ELEMENT`.
    BmmConstant(BmmConstant),
    /// The `BMM_CONTAINER_PROPERTY` subtype of `BMM_FORMAL_ELEMENT`.
    BmmContainerProperty(BmmContainerProperty),
    /// The `BMM_FUNCTION` subtype of `BMM_FORMAL_ELEMENT`.
    BmmFunction(BmmFunction),
    /// The `BMM_LOCAL` subtype of `BMM_FORMAL_ELEMENT`.
    BmmLocal(BmmLocal),
    /// The `BMM_PARAMETER` subtype of `BMM_FORMAL_ELEMENT`.
    BmmParameter(BmmParameter),
    /// The `BMM_PROCEDURE` subtype of `BMM_FORMAL_ELEMENT`.
    BmmProcedure(BmmProcedure),
    /// The `BMM_RESULT` subtype of `BMM_FORMAL_ELEMENT`.
    BmmResult(BmmResult),
    /// The `BMM_SELF` subtype of `BMM_FORMAL_ELEMENT`.
    BmmSelf(BmmSelf),
    /// The `BMM_SINGLETON` subtype of `BMM_FORMAL_ELEMENT`.
    BmmSingleton(BmmSingleton),
    /// The `BMM_UNITARY_PROPERTY` subtype of `BMM_FORMAL_ELEMENT`.
    BmmUnitaryProperty(BmmUnitaryProperty),
}