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 (`BMM_CLASSIFIER`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
// 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::v1_1::bmm::core::bmm_class::BmmClass;
use crate::v1_1::bmm::core::bmm_container_type::BmmContainerType;
use crate::v1_1::bmm::core::bmm_generic_parameter::BmmGenericParameter;
use crate::v1_1::bmm::core::bmm_generic_type::BmmGenericType;
use crate::v1_1::bmm::core::bmm_open_type::BmmOpenType;
use crate::v1_1::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),
}