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_CLASSIFIER`) — DO NOT EDIT.
// Hand-written spec functions/invariants live in the sibling `*_impl.rs`.

//! The openEHR `BMM_CLASSIFIER` 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_simple_type::BmmSimpleType;

/// Closed subtype set of `BMM_CLASSIFIER`, dispatched on each payload's `_type`.
///
/// Abstract idea of specifying a type either by definition or by reference.
#[doc(alias = "BMM_CLASSIFIER")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmClassifier {
    /// The `BMM_CLASS` subtype of `BMM_CLASSIFIER`.
    BmmClass(BmmClass),
    /// The `BMM_CONTAINER_TYPE` subtype of `BMM_CLASSIFIER`.
    BmmContainerType(BmmContainerType),
    /// The `BMM_GENERIC_PARAMETER` subtype of `BMM_CLASSIFIER`.
    BmmGenericParameter(BmmGenericParameter),
    /// The `BMM_GENERIC_TYPE` subtype of `BMM_CLASSIFIER`.
    BmmGenericType(BmmGenericType),
    /// The `BMM_OPEN_TYPE` subtype of `BMM_CLASSIFIER`.
    BmmOpenType(BmmOpenType),
    /// The `BMM_SIMPLE_TYPE` subtype of `BMM_CLASSIFIER`.
    BmmSimpleType(BmmSimpleType),
}