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

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

use crate::bmm::core::bmm_container_type::BmmContainerType;
use openehr_base::prelude::MultiplicityInterval;

/// Subtype of BMM_PROPERTY that represents a container type based on one of the inbuilt types List \<\>, Set \<\>, Array \<\>.
#[doc(alias = "BMM_CONTAINER_PROPERTY")]
#[derive(Debug, Clone, PartialEq)]
pub struct BmmContainerProperty {
    // inherited: BMM_MODEL_ELEMENT
    /// Optional documentation of this element.
    pub documentation: Option<String>,

    // inherited: BMM_PROPERTY
    /// Name of this property in the model.
    pub name: String,
    /// True if this property is mandatory in its class.
    pub is_mandatory: Option<bool>,
    /// True if this property is computed rather than stored in objects of this class.
    pub is_computed: Option<bool>,
    /// Redefined to BMM_CONTAINER_TYPE.
    pub r#type: BmmContainerType,

    // inherited: BMM_PROPERTY
    /// True if this property is marked with info model `_im_runtime_` property.
    pub is_im_runtime: Option<bool>,
    /// True if this property was marked with info model `_im_infrastructure_` flag.
    pub is_im_infrastructure: Option<bool>,
    /// Cardinality of this container.
    pub cardinality: Option<MultiplicityInterval>,
}