pub struct Property {
pub extensions: Option<Vec<Extension>>,
pub category: Option<String>,
pub id_short: Option<String>,
pub display_name: Option<Vec<LangString>>,
pub description: Option<Vec<LangString>>,
pub semantic_id: Option<Reference>,
pub supplemental_semantic_ids: Option<Vec<Reference>>,
pub qualifiers: Option<Vec<Qualifier>>,
pub embedded_data_specifications: Option<Vec<EmbeddedDataSpecification>>,
pub value: Option<String>,
pub value_id: Option<Reference>,
pub value_type: DataTypeDefXsd,
}Fields§
§extensions: Option<Vec<Extension>>§category: Option<String>§id_short: Option<String>§display_name: Option<Vec<LangString>>§description: Option<Vec<LangString>>§semantic_id: Option<Reference>§supplemental_semantic_ids: Option<Vec<Reference>>§qualifiers: Option<Vec<Qualifier>>§embedded_data_specifications: Option<Vec<EmbeddedDataSpecification>>§value: Option<String>§value_id: Option<Reference>§value_type: DataTypeDefXsdImplementations§
Source§impl Property
impl Property
Sourcepub fn new(value_type: DataTypeDefXsd) -> Self
pub fn new(value_type: DataTypeDefXsd) -> Self
Examples found in repository?
examples/generate.rs (line 27)
14fn main() -> Result<()> {
15 let mut technical_data =
16 Submodel::new("http://i40.customer.com/type/1/1/7A7104BDAB57E184".into());
17
18 technical_data.semantic_id = Some(Reference::new(
19 ReferenceTypes::ExternalReference,
20 Key::new(KeyTypes::GlobalReference, "0173-1#01-AFZ615#016".into()),
21 ));
22
23 if let Some(id_short) = id_short_from_str("my_submodel1").ok() {
24 technical_data.id_short = Some(id_short);
25 }
26
27 let mut property = Property::new(DataTypeDefXsd::XsBoolean);
28 property.category = Some(format!("{}", Category::CONSTANT));
29
30 if let Some(id_short) = id_short_from_str("my_property1").ok() {
31 property.id_short = Some(id_short);
32 }
33
34 property.value = Some("true".to_string());
35
36 let sme = SubmodelElement::Property(property);
37
38 let mut sm = Submodel::new("https://example.com/ids/1234567890".to_string());
39
40 if let Some(id_short) = id_short_from_str("my_submodel1").ok() {
41 sm.id_short = Some(id_short);
42 }
43
44 sm.add_submodel_element(sme.clone());
45
46 let mut aas = AssetAdministrationShell::new(
47 "https://example.com/ids/0987654321".to_string(),
48 AssetInformation::new(AssetKind::Instance),
49 );
50
51 if let Some(id_short) = id_short_from_str("my_aas1").ok() {
52 aas.id_short = Some(id_short);
53 }
54 // unfortunately, aascheck won't notice, if the id_short is malformed.
55 //aas.id_short = Some("_id_short".to_string());
56
57 aas.add_reference_to_submodel(&sm, ReferenceTypes::ModelReference, true);
58
59 serialize("submodel1.json", &sm).ok();
60 serialize("aas1.json", &aas)
61}Trait Implementations§
Source§impl<'de> Deserialize<'de> for Property
impl<'de> Deserialize<'de> for Property
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Property
Auto Trait Implementations§
impl Freeze for Property
impl RefUnwindSafe for Property
impl Send for Property
impl Sync for Property
impl Unpin for Property
impl UnwindSafe for Property
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more