openehr-lang 0.0.128

openEHR LANG BMM/P_BMM object model, generated from BMM: generations v1_0 (LANG 1.0.0) and v1_1 (LANG 1.1.0, current; the stable BMM v2.x unit beside the paused BMM3 unit), plus hand-written ODIN/BEL/EL readers
Documentation
// @generated by openehr-codegen from BMM (`P_BMM_FUNCTION`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v1_1::bmm_persistence::p_bmm_function_parameter::PBmmFunctionParameter;
use crate::v1_1::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>,
}