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

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

use crate::v2_4::bmm_persistence::p_bmm_package::PBmmPackage;
use crate::v2_4::bmm_persistence::p_bmm_schema::PBmmSchema;

/// Persisted form of a model component that contains packages.
#[doc(alias = "P_BMM_PACKAGE_CONTAINER")]
#[derive(Debug, Clone, PartialEq)]
pub struct PBmmPackageContainerData {
    /// 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>,
}

/// Polymorphic slot of `P_BMM_PACKAGE_CONTAINER`, dispatched on each payload's `_type`.
///
/// Persisted form of a model component that contains packages.
#[doc(alias = "P_BMM_PACKAGE_CONTAINER")]
#[derive(Debug, Clone, PartialEq)]
pub enum PBmmPackageContainer {
    /// The `P_BMM_PACKAGE` subtype of `P_BMM_PACKAGE_CONTAINER`.
    PBmmPackage(PBmmPackage),
    /// The `P_BMM_SCHEMA` subtype of `P_BMM_PACKAGE_CONTAINER`.
    PBmmSchema(PBmmSchema),
    /// An instance of `P_BMM_PACKAGE_CONTAINER` itself (its own, least-rich form).
    PBmmPackageContainer(PBmmPackageContainerData),
}