basyx_rs/submodel_element/
multi_language_property.rs1use super::EmbeddedDataSpecification;
7use crate::LangString as LangStringNameType;
8use crate::LangString as LangStringTextType;
9use crate::{qualifier::Qualifier, reference::Reference, Extension};
10use serde::{Deserialize, Serialize};
11
12#[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
13pub struct MultiLanguageProperty {
14 #[serde(skip_serializing_if = "Option::is_none")]
17 pub extensions: Option<Vec<Extension>>,
18
19 #[serde(skip_serializing_if = "Option::is_none")]
20 pub category: Option<String>,
21
22 #[serde(skip_serializing_if = "Option::is_none")]
23 #[serde(rename = "idShort")]
24 pub id_short: Option<String>,
25
26 #[serde(skip_serializing_if = "Option::is_none")]
27 #[serde(rename = "displayName")]
28 pub display_name: Option<Vec<LangStringNameType>>,
29
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub description: Option<Vec<LangStringTextType>>,
32
33 #[serde(skip_serializing_if = "Option::is_none")]
35 #[serde(rename = "semanticId")]
36 pub semantic_id: Option<Reference>,
37
38 #[serde(skip_serializing_if = "Option::is_none")]
39 #[serde(rename = "supplementalSemanticIds")]
40 pub supplemental_semantic_ids: Option<Vec<Reference>>,
41
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub qualifiers: Option<Vec<Qualifier>>,
45
46 #[serde(skip_serializing_if = "Option::is_none")]
48 #[serde(rename = "embeddedDataSpecifications")]
49 pub embedded_data_specifications: Option<Vec<EmbeddedDataSpecification>>,
50
51 #[serde(skip_serializing_if = "Option::is_none")]
53 pub value: Option<Vec<LangStringTextType>>,
54
55 #[serde(skip_serializing_if = "Option::is_none")]
56 #[serde(rename = "valueId")]
57 pub value_id: Option<Reference>,
58}
59
60impl MultiLanguageProperty {
61 pub fn new() -> Self {
62 Self {
63 extensions: None,
64 category: None,
65 id_short: None,
66 display_name: None,
67 description: None,
68 semantic_id: None,
69 supplemental_semantic_ids: None,
70 qualifiers: None,
71 embedded_data_specifications: None,
72 value: None,
73 value_id: None,
74 }
75 }
76}
77
78impl Default for MultiLanguageProperty {
79 fn default() -> Self {
80 MultiLanguageProperty::new()
81 }
82}