openehr-am 0.0.78

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_C_OBJECT`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Vernum Projecten B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
// Hand-written spec functions/invariants live in the sibling `*_impl.rs`.

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

use crate::v2_4::aom2::persistence::constraint_model::p_archetype_slot::PArchetypeSlot;
use crate::v2_4::aom2::persistence::constraint_model::p_c_complex_object::PCComplexObject;
use crate::v2_4::aom2::persistence::constraint_model::p_c_complex_object_proxy::PCComplexObjectProxy;
use crate::v2_4::aom2::persistence::primitive::p_c_boolean::PCBoolean;
use crate::v2_4::aom2::persistence::primitive::p_c_string::PCString;
use crate::v2_4::aom2::persistence::primitive::p_c_terminology_code::PCTerminologyCode;

/// Closed subtype set of `P_C_OBJECT`, dispatched on each payload's `_type`.
///
/// Abstract model of constraint on any kind of object node.
#[doc(alias = "P_C_OBJECT")]
#[derive(Debug, Clone, PartialEq)]
pub enum PCObject {
    /// The `P_ARCHETYPE_SLOT` subtype of `P_C_OBJECT`.
    PArchetypeSlot(PArchetypeSlot),
    /// The `P_C_BOOLEAN` subtype of `P_C_OBJECT`.
    PCBoolean(PCBoolean),
    /// The `P_C_COMPLEX_OBJECT` subtype of `P_C_OBJECT`.
    PCComplexObject(PCComplexObject),
    /// The `P_C_COMPLEX_OBJECT_PROXY` subtype of `P_C_OBJECT`.
    PCComplexObjectProxy(PCComplexObjectProxy),
    /// The `P_C_STRING` subtype of `P_C_OBJECT`.
    PCString(PCString),
    /// The `P_C_TERMINOLOGY_CODE` subtype of `P_C_OBJECT`.
    PCTerminologyCode(PCTerminologyCode),
}