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_DECLARATION`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v1_0::bmm::core::entity::bmm_generic_class::BmmGenericClass;
use crate::v1_0::bmm::core::entity::bmm_simple_class::BmmSimpleClass;
use crate::v1_0::bmm::core::feature::bmm_constant::BmmConstant;
use crate::v1_0::bmm::core::feature::bmm_container_property::BmmContainerProperty;
use crate::v1_0::bmm::core::feature::bmm_function::BmmFunction;
use crate::v1_0::bmm::core::feature::bmm_local::BmmLocal;
use crate::v1_0::bmm::core::feature::bmm_parameter::BmmParameter;
use crate::v1_0::bmm::core::feature::bmm_procedure::BmmProcedure;
use crate::v1_0::bmm::core::feature::bmm_result::BmmResult;
use crate::v1_0::bmm::core::feature::bmm_unitary_property::BmmUnitaryProperty;
use crate::v1_0::bmm::core::model::bmm_model::BmmModel;
use crate::v1_0::bmm::core::model::bmm_package::BmmPackage;

/// Closed subtype set of `BMM_DECLARATION`, dispatched on each payload's `_type`.
///
/// Meta-type of BMM declared model elements.
///
/// A _declaration_ is a an element of a model _specified by an author within a model definition_ within a context, which defines the _scope_ of the element. Thus, a class definition and its property and routine definitions are model elements, but Types are not, since they are derived from model elements.
#[doc(alias = "BMM_DECLARATION")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmDeclaration {
    /// The `BMM_CONSTANT` subtype of `BMM_DECLARATION`.
    BmmConstant(BmmConstant),
    /// The `BMM_CONTAINER_PROPERTY` subtype of `BMM_DECLARATION`.
    BmmContainerProperty(BmmContainerProperty),
    /// The `BMM_FUNCTION` subtype of `BMM_DECLARATION`.
    BmmFunction(BmmFunction),
    /// The `BMM_GENERIC_CLASS` subtype of `BMM_DECLARATION`.
    BmmGenericClass(BmmGenericClass),
    /// The `BMM_LOCAL` subtype of `BMM_DECLARATION`.
    BmmLocal(BmmLocal),
    /// The `BMM_MODEL` subtype of `BMM_DECLARATION`.
    BmmModel(BmmModel),
    /// The `BMM_PACKAGE` subtype of `BMM_DECLARATION`.
    BmmPackage(BmmPackage),
    /// The `BMM_PARAMETER` subtype of `BMM_DECLARATION`.
    BmmParameter(BmmParameter),
    /// The `BMM_PROCEDURE` subtype of `BMM_DECLARATION`.
    BmmProcedure(BmmProcedure),
    /// The `BMM_RESULT` subtype of `BMM_DECLARATION`.
    BmmResult(BmmResult),
    /// The `BMM_SIMPLE_CLASS` subtype of `BMM_DECLARATION`.
    BmmSimpleClass(BmmSimpleClass),
    /// The `BMM_UNITARY_PROPERTY` subtype of `BMM_DECLARATION`.
    BmmUnitaryProperty(BmmUnitaryProperty),
}