cimstructs/
ProprietaryParameterDynamics.rs1#[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize)]
3pub struct ProprietaryParameterDynamics {
4 pub id: String,
5 #[serde(skip_serializing_if = "Option::is_none")]
7 pub asynchronous_machine_user_defined: Option<super::base::MridRef>,
8 #[serde(skip_serializing_if = "Option::is_none")]
10 pub csc_user_defined: Option<super::base::MridRef>,
11 #[serde(skip_serializing_if = "Option::is_none")]
13 pub discontinuous_excitation_control_user_defined: Option<super::base::MridRef>,
14 #[serde(skip_serializing_if = "Option::is_none")]
16 pub excitation_system_user_defined: Option<super::base::MridRef>,
17 #[serde(skip_serializing_if = "Option::is_none")]
19 pub load_user_defined: Option<super::base::MridRef>,
20 #[serde(skip_serializing_if = "Option::is_none")]
22 pub mechanical_load_user_defined: Option<super::base::MridRef>,
23 #[serde(skip_serializing_if = "Option::is_none")]
25 pub overexcitation_limiter_user_defined: Option<super::base::MridRef>,
26 #[serde(skip_serializing_if = "Option::is_none")]
28 pub pfv_ar_controller_type1user_defined: Option<super::base::MridRef>,
29 #[serde(skip_serializing_if = "Option::is_none")]
31 pub pfv_ar_controller_type2user_defined: Option<super::base::MridRef>,
32 #[serde(skip_serializing_if = "Option::is_none")]
34 pub power_system_stabilizer_user_defined: Option<super::base::MridRef>,
35 #[serde(skip_serializing_if = "Option::is_none")]
37 pub svc_user_defined: Option<super::base::MridRef>,
38 #[serde(skip_serializing_if = "Option::is_none")]
40 pub synchronous_machine_user_defined: Option<super::base::MridRef>,
41 #[serde(skip_serializing_if = "Option::is_none")]
43 pub turbine_governor_user_defined: Option<super::base::MridRef>,
44 #[serde(skip_serializing_if = "Option::is_none")]
46 pub turbine_load_controller_user_defined: Option<super::base::MridRef>,
47 #[serde(skip_serializing_if = "Option::is_none")]
49 pub underexcitation_limiter_user_defined: Option<super::base::MridRef>,
50 #[serde(skip_serializing_if = "Option::is_none")]
52 pub vsc_user_defined: Option<super::base::MridRef>,
53 #[serde(skip_serializing_if = "Option::is_none")]
55 pub voltage_adjuster_user_defined: Option<super::base::MridRef>,
56 #[serde(skip_serializing_if = "Option::is_none")]
58 pub voltage_compensator_user_defined: Option<super::base::MridRef>,
59 #[serde(skip_serializing_if = "Option::is_none")]
61 pub wind_plant_user_defined: Option<super::base::MridRef>,
62 #[serde(skip_serializing_if = "Option::is_none")]
64 pub wind_type1or2user_defined: Option<super::base::MridRef>,
65 #[serde(skip_serializing_if = "Option::is_none")]
67 pub wind_type3or4user_defined: Option<super::base::MridRef>,
68 #[serde(skip_serializing_if = "Option::is_none")]
70 pub boolean_parameter_value: Option<bool>,
71 #[serde(skip_serializing_if = "Option::is_none")]
73 pub float_parameter_value: Option<f64>,
74 #[serde(skip_serializing_if = "Option::is_none")]
76 pub integer_parameter_value: Option<i64>,
77 #[serde(skip_serializing_if = "Option::is_none")]
79 pub parameter_number: Option<i64>,
80}
81impl crate::base::CimElement for ProprietaryParameterDynamics {
82 fn mrid(&self) -> &str { &self.id }
83 fn type_name(&self) -> &'static str { "ProprietaryParameterDynamics" }
84 fn as_any(&self) -> &dyn std::any::Any { self }
85 fn to_json_value(&self) -> serde_json::Value {
86 serde_json::to_value(self).unwrap_or(serde_json::Value::Null)
87 }
88 fn to_block(&self) -> crate::base::RdfBlock {
89 let mut block = crate::base::RdfBlock {
90 type_name: "ProprietaryParameterDynamics".to_string(),
91 mrid: self.id.clone(),
92 fields: std::collections::HashMap::new(),
93 duplicate_fields: std::collections::HashSet::new(),
94 };
95 if let Some(ref v) = self.asynchronous_machine_user_defined {
96 block.fields.insert("ProprietaryParameterDynamics.AsynchronousMachineUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
97 }
98 if let Some(ref v) = self.csc_user_defined {
99 block.fields.insert("ProprietaryParameterDynamics.CSCUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
100 }
101 if let Some(ref v) = self.discontinuous_excitation_control_user_defined {
102 block.fields.insert("ProprietaryParameterDynamics.DiscontinuousExcitationControlUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
103 }
104 if let Some(ref v) = self.excitation_system_user_defined {
105 block.fields.insert("ProprietaryParameterDynamics.ExcitationSystemUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
106 }
107 if let Some(ref v) = self.load_user_defined {
108 block.fields.insert("ProprietaryParameterDynamics.LoadUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
109 }
110 if let Some(ref v) = self.mechanical_load_user_defined {
111 block.fields.insert("ProprietaryParameterDynamics.MechanicalLoadUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
112 }
113 if let Some(ref v) = self.overexcitation_limiter_user_defined {
114 block.fields.insert("ProprietaryParameterDynamics.OverexcitationLimiterUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
115 }
116 if let Some(ref v) = self.pfv_ar_controller_type1user_defined {
117 block.fields.insert("ProprietaryParameterDynamics.PFVArControllerType1UserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
118 }
119 if let Some(ref v) = self.pfv_ar_controller_type2user_defined {
120 block.fields.insert("ProprietaryParameterDynamics.PFVArControllerType2UserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
121 }
122 if let Some(ref v) = self.power_system_stabilizer_user_defined {
123 block.fields.insert("ProprietaryParameterDynamics.PowerSystemStabilizerUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
124 }
125 if let Some(ref v) = self.svc_user_defined {
126 block.fields.insert("ProprietaryParameterDynamics.SVCUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
127 }
128 if let Some(ref v) = self.synchronous_machine_user_defined {
129 block.fields.insert("ProprietaryParameterDynamics.SynchronousMachineUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
130 }
131 if let Some(ref v) = self.turbine_governor_user_defined {
132 block.fields.insert("ProprietaryParameterDynamics.TurbineGovernorUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
133 }
134 if let Some(ref v) = self.turbine_load_controller_user_defined {
135 block.fields.insert("ProprietaryParameterDynamics.TurbineLoadControllerUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
136 }
137 if let Some(ref v) = self.underexcitation_limiter_user_defined {
138 block.fields.insert("ProprietaryParameterDynamics.UnderexcitationLimiterUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
139 }
140 if let Some(ref v) = self.vsc_user_defined {
141 block.fields.insert("ProprietaryParameterDynamics.VSCUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
142 }
143 if let Some(ref v) = self.voltage_adjuster_user_defined {
144 block.fields.insert("ProprietaryParameterDynamics.VoltageAdjusterUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
145 }
146 if let Some(ref v) = self.voltage_compensator_user_defined {
147 block.fields.insert("ProprietaryParameterDynamics.VoltageCompensatorUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
148 }
149 if let Some(ref v) = self.wind_plant_user_defined {
150 block.fields.insert("ProprietaryParameterDynamics.WindPlantUserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
151 }
152 if let Some(ref v) = self.wind_type1or2user_defined {
153 block.fields.insert("ProprietaryParameterDynamics.WindType1or2UserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
154 }
155 if let Some(ref v) = self.wind_type3or4user_defined {
156 block.fields.insert("ProprietaryParameterDynamics.WindType3or4UserDefined".into(), crate::base::FieldValue::Resource(v.mrid.clone()));
157 }
158 if let Some(v) = self.boolean_parameter_value {
159 block.fields.insert("ProprietaryParameterDynamics.booleanParameterValue".into(), crate::base::FieldValue::Text(v.to_string()));
160 }
161 if let Some(v) = self.float_parameter_value {
162 block.fields.insert("ProprietaryParameterDynamics.floatParameterValue".into(), crate::base::FieldValue::Text(v.to_string()));
163 }
164 if let Some(v) = self.integer_parameter_value {
165 block.fields.insert("ProprietaryParameterDynamics.integerParameterValue".into(), crate::base::FieldValue::Text(v.to_string()));
166 }
167 if let Some(v) = self.parameter_number {
168 block.fields.insert("ProprietaryParameterDynamics.parameterNumber".into(), crate::base::FieldValue::Text(v.to_string()));
169 }
170 block
171 }
172}
173
174impl ProprietaryParameterDynamics {
175 pub fn from_block(b: &crate::base::RdfBlock) -> Self {
176 let mut obj = Self::default();
177 obj.id.clone_from(&b.mrid);
178 for (key, val) in &b.fields {
179 match key.as_str() {
180 "ProprietaryParameterDynamics.AsynchronousMachineUserDefined" => {
181 if let crate::base::FieldValue::Resource(sv) = val {
182 obj.asynchronous_machine_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
183 }
184 }
185 "ProprietaryParameterDynamics.CSCUserDefined" => {
186 if let crate::base::FieldValue::Resource(sv) = val {
187 obj.csc_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
188 }
189 }
190 "ProprietaryParameterDynamics.DiscontinuousExcitationControlUserDefined" => {
191 if let crate::base::FieldValue::Resource(sv) = val {
192 obj.discontinuous_excitation_control_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
193 }
194 }
195 "ProprietaryParameterDynamics.ExcitationSystemUserDefined" => {
196 if let crate::base::FieldValue::Resource(sv) = val {
197 obj.excitation_system_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
198 }
199 }
200 "ProprietaryParameterDynamics.LoadUserDefined" => {
201 if let crate::base::FieldValue::Resource(sv) = val {
202 obj.load_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
203 }
204 }
205 "ProprietaryParameterDynamics.MechanicalLoadUserDefined" => {
206 if let crate::base::FieldValue::Resource(sv) = val {
207 obj.mechanical_load_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
208 }
209 }
210 "ProprietaryParameterDynamics.OverexcitationLimiterUserDefined" => {
211 if let crate::base::FieldValue::Resource(sv) = val {
212 obj.overexcitation_limiter_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
213 }
214 }
215 "ProprietaryParameterDynamics.PFVArControllerType1UserDefined" => {
216 if let crate::base::FieldValue::Resource(sv) = val {
217 obj.pfv_ar_controller_type1user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
218 }
219 }
220 "ProprietaryParameterDynamics.PFVArControllerType2UserDefined" => {
221 if let crate::base::FieldValue::Resource(sv) = val {
222 obj.pfv_ar_controller_type2user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
223 }
224 }
225 "ProprietaryParameterDynamics.PowerSystemStabilizerUserDefined" => {
226 if let crate::base::FieldValue::Resource(sv) = val {
227 obj.power_system_stabilizer_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
228 }
229 }
230 "ProprietaryParameterDynamics.SVCUserDefined" => {
231 if let crate::base::FieldValue::Resource(sv) = val {
232 obj.svc_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
233 }
234 }
235 "ProprietaryParameterDynamics.SynchronousMachineUserDefined" => {
236 if let crate::base::FieldValue::Resource(sv) = val {
237 obj.synchronous_machine_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
238 }
239 }
240 "ProprietaryParameterDynamics.TurbineGovernorUserDefined" => {
241 if let crate::base::FieldValue::Resource(sv) = val {
242 obj.turbine_governor_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
243 }
244 }
245 "ProprietaryParameterDynamics.TurbineLoadControllerUserDefined" => {
246 if let crate::base::FieldValue::Resource(sv) = val {
247 obj.turbine_load_controller_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
248 }
249 }
250 "ProprietaryParameterDynamics.UnderexcitationLimiterUserDefined" => {
251 if let crate::base::FieldValue::Resource(sv) = val {
252 obj.underexcitation_limiter_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
253 }
254 }
255 "ProprietaryParameterDynamics.VSCUserDefined" => {
256 if let crate::base::FieldValue::Resource(sv) = val {
257 obj.vsc_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
258 }
259 }
260 "ProprietaryParameterDynamics.VoltageAdjusterUserDefined" => {
261 if let crate::base::FieldValue::Resource(sv) = val {
262 obj.voltage_adjuster_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
263 }
264 }
265 "ProprietaryParameterDynamics.VoltageCompensatorUserDefined" => {
266 if let crate::base::FieldValue::Resource(sv) = val {
267 obj.voltage_compensator_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
268 }
269 }
270 "ProprietaryParameterDynamics.WindPlantUserDefined" => {
271 if let crate::base::FieldValue::Resource(sv) = val {
272 obj.wind_plant_user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
273 }
274 }
275 "ProprietaryParameterDynamics.WindType1or2UserDefined" => {
276 if let crate::base::FieldValue::Resource(sv) = val {
277 obj.wind_type1or2user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
278 }
279 }
280 "ProprietaryParameterDynamics.WindType3or4UserDefined" => {
281 if let crate::base::FieldValue::Resource(sv) = val {
282 obj.wind_type3or4user_defined = Some(crate::base::MridRef { mrid: sv.clone() });
283 }
284 }
285 "ProprietaryParameterDynamics.booleanParameterValue" => {
286 match val {
287 crate::base::FieldValue::Text(sv) => { obj.boolean_parameter_value = Some(sv.trim() == "true"); }
288 crate::base::FieldValue::TextList(svs) => {
289 if let Some(sv) = svs.last() { obj.boolean_parameter_value = Some(sv.trim() == "true"); }
290 }
291 _ => {}
292 }
293 }
294 "ProprietaryParameterDynamics.floatParameterValue" => {
295 match val {
296 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.float_parameter_value = Some(v); } }
297 crate::base::FieldValue::TextList(svs) => {
298 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.float_parameter_value = Some(v); } }
299 }
300 _ => {}
301 }
302 }
303 "ProprietaryParameterDynamics.integerParameterValue" => {
304 match val {
305 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.integer_parameter_value = Some(v); } }
306 crate::base::FieldValue::TextList(svs) => {
307 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.integer_parameter_value = Some(v); } }
308 }
309 _ => {}
310 }
311 }
312 "ProprietaryParameterDynamics.parameterNumber" => {
313 match val {
314 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.parameter_number = Some(v); } }
315 crate::base::FieldValue::TextList(svs) => {
316 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.parameter_number = Some(v); } }
317 }
318 _ => {}
319 }
320 }
321 _ => {}
322 }
323 }
324 obj
325 }
326}