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_PACKAGE`) — 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_PACKAGE` spec class, generated from the vendored BMM
//! meta-model.

use crate::v1_1::bmm::core::bmm_class::BmmClass;

/// Abstraction of a package as a tree structure whose nodes can contain other packages and classes.
#[doc(alias = "BMM_PACKAGE")]
#[derive(Debug, Clone, PartialEq)]
pub struct BmmPackage {
    // inherited: BMM_MODEL_ELEMENT
    /// Optional documentation of this element.
    pub documentation: Option<String>,

    // inherited: BMM_PACKAGE_CONTAINER
    /// Child packages; keys all in upper case for guaranteed matching.
    pub packages: Option<std::collections::BTreeMap<String, BmmPackage>>,
    /// Name of this package. This name may be qualified if it is a top-level package.
    pub name: String,
    /// Classes listed as being in this package.
    pub classes: Option<Vec<BmmClass>>,
}