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 (`P_BMM_PACKAGE`) — DO NOT EDIT.

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

use crate::bmm::core::bmm_package::BmmPackage;

/// Persisted form of a package as a tree structure whose nodes can contain more packages and/or classes.
#[doc(alias = "P_BMM_PACKAGE")]
#[derive(Debug, Clone, PartialEq)]
pub struct PBmmPackage {
    // inherited: P_BMM_PACKAGE_CONTAINER
    /// Package structure as a hierarchy of packages each potentially containing names of classes in that package in the original model.
    pub packages: std::collections::BTreeMap<String, PBmmPackage>,

    // inherited: P_BMM_MODEL_ELEMENT
    /// Optional documentation of this element.
    pub documentation: Option<String>,
    /// Name of the package from schema; this name may be qualified if it is a top-level package within the schema, or unqualified. Persistent attribute.
    pub name: String,
    /// List of classes in this package. Persistent attribute.
    pub classes: Option<Vec<String>>,
    /// `BMM_PACKAGE` created by `_create_bmm_package_definition_`.
    pub bmm_package_definition: Option<BmmPackage>,
}