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_MODEL_ELEMENT`) — DO NOT EDIT.

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

use crate::bmm::core::bmm_class::BmmClass;
use crate::bmm::core::bmm_container_type::BmmContainerType;
use crate::bmm::core::bmm_generic_parameter::BmmGenericParameter;
use crate::bmm::core::bmm_generic_type::BmmGenericType;
use crate::bmm::core::bmm_open_type::BmmOpenType;
use crate::bmm::core::bmm_package_container::BmmPackageContainer;
use crate::bmm::core::bmm_property::BmmProperty;
use crate::bmm::core::bmm_simple_type::BmmSimpleType;
use crate::bmm::core::bmm_type::BmmType;

/// Closed subtype set of `BMM_MODEL_ELEMENT`, dispatched on each payload's `_type`.
///
/// Ancestor class of most BMM model elements.
#[doc(alias = "BMM_MODEL_ELEMENT")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmModelElement {
    /// The `BMM_CLASS` subtype of `BMM_MODEL_ELEMENT`.
    BmmClass(BmmClass),
    /// The `BMM_CONTAINER_TYPE` subtype of `BMM_MODEL_ELEMENT`.
    BmmContainerType(BmmContainerType),
    /// The `BMM_GENERIC_PARAMETER` subtype of `BMM_MODEL_ELEMENT`.
    BmmGenericParameter(BmmGenericParameter),
    /// The `BMM_GENERIC_TYPE` subtype of `BMM_MODEL_ELEMENT`.
    BmmGenericType(BmmGenericType),
    /// The `BMM_OPEN_TYPE` subtype of `BMM_MODEL_ELEMENT`.
    BmmOpenType(BmmOpenType),
    /// The `BMM_PACKAGE_CONTAINER` subtype of `BMM_MODEL_ELEMENT`.
    BmmPackageContainer(BmmPackageContainer),
    /// The `BMM_PROPERTY` subtype of `BMM_MODEL_ELEMENT`.
    BmmProperty(BmmProperty<BmmType>),
    /// The `BMM_SIMPLE_TYPE` subtype of `BMM_MODEL_ELEMENT`.
    BmmSimpleType(BmmSimpleType),
}