// @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>,
}