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

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

use crate::bmm_persistence::p_bmm_function_parameter::PBmmFunctionParameter;
use crate::bmm_persistence::p_bmm_type::PBmmType;

/// Persistent form of a BMM function (routine) definition within a class definition.
#[doc(alias = "P_BMM_FUNCTION")]
#[derive(Debug, Clone, PartialEq)]
pub struct PBmmFunction {
    // inherited: P_BMM_MODEL_ELEMENT
    /// Optional documentation of this element.
    pub documentation: Option<String>,
    /// Name of this function within its class. Persisted attribute.
    pub name: String,
    /// Optional alias names for this function, keyed by alias. Persisted attribute.
    pub aliases: Option<std::collections::BTreeMap<String, String>>,
    /// True if this function is abstract in its class, i.e. has no implementation. Persisted attribute.
    pub is_abstract: Option<bool>,
    /// Formal parameters of the function, keyed by parameter name. Persisted attribute.
    pub parameters: Option<std::collections::BTreeMap<String, PBmmFunctionParameter>>,
    /// Optional pre-condition assertions on this function, keyed by tag. Persisted attribute.
    pub pre_conditions: Option<std::collections::BTreeMap<String, String>>,
    /// Optional post-condition assertions on this function, keyed by tag. Persisted attribute.
    pub post_conditions: Option<std::collections::BTreeMap<String, String>>,
    /// Type definition of the function result, if any (absent for procedures). Persisted attribute.
    pub result: Option<PBmmType>,
    /// True if the result of this function is allowed to be Void (null). Persisted attribute.
    pub is_nullable: Option<bool>,
}