openehr-am 0.0.128

openEHR AM Archetype Model, generated from BMM: generations v1_4 (AM 1.4.0, ADL 1.4) and v2_4 (AM 2.4.0, ADL 2; current)
Documentation
// @generated by openehr-codegen from BMM (`BMM_CLASS`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v2_4::bmm::core::bmm_generic_class::BmmGenericClass;
use crate::v2_4::bmm3::core::entity::bmm_simple_class::BmmSimpleClass;

/// Closed subtype set of `BMM_CLASS`, dispatched on each payload's `_type`.
///
/// Meta-type corresponding a class definition in an object model.
///
/// Inheritance is specified by the `_ancestors_` attribute, which contains a list of _types_ rather than classes. Inheritance is thus understood in BMM as a stated relationship between classes. The equivalent relationship between types is conformance.
///
/// NOTE: unlike UML, the `_name_` is just the root name, even if the class is generic. Use `_type_name()_` to obtain the qualified type name.
#[doc(alias = "BMM_CLASS")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmClass {
    /// The `BMM_GENERIC_CLASS` subtype of `BMM_CLASS`.
    BmmGenericClass(BmmGenericClass),
    /// The `BMM_SIMPLE_CLASS` subtype of `BMM_CLASS`.
    BmmSimpleClass(BmmSimpleClass),
}