pub struct Key {
pub type_: KeyTypes,
pub value: String,
}Expand description
A key is a reference to an element by its ID.
Fields§
§type_: KeyTypesDenotes which kind of entity is referenced
value: StringThe key value, for example an IRDI or an URI
Implementations§
Source§impl Key
impl Key
Sourcepub fn new(type_: KeyTypes, value: String) -> Self
pub fn new(type_: KeyTypes, value: String) -> Self
Examples found in repository?
examples/generate.rs (line 20)
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 Key
impl<'de> Deserialize<'de> for Key
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 Key
Auto Trait Implementations§
impl Freeze for Key
impl RefUnwindSafe for Key
impl Send for Key
impl Sync for Key
impl Unpin for Key
impl UnwindSafe for Key
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