ifc_classification/authoring/
builders.rs1#[allow(clippy::wildcard_imports)]
5use super::*;
6
7impl<'a> ClassificationDraft<'a> {
8 #[must_use]
10 pub fn new(name: &'a str) -> Self {
11 Self {
12 source: None,
13 edition: None,
14 edition_date: None,
15 name,
16 description: None,
17 location: None,
18 reference_tokens: None,
19 }
20 }
21
22 #[must_use]
25 pub fn source(mut self, value: &'a str) -> Self {
26 self.source = Some(value);
27 self
28 }
29
30 #[must_use]
33 pub fn edition(mut self, value: &'a str) -> Self {
34 self.edition = Some(value);
35 self
36 }
37
38 #[must_use]
42 pub fn edition_date(mut self, value: &'a str) -> Self {
43 self.edition_date = Some(value);
44 self
45 }
46
47 #[must_use]
50 pub fn description(mut self, value: &'a str) -> Self {
51 self.description = Some(value);
52 self
53 }
54
55 #[must_use]
58 pub fn location(mut self, value: &'a str) -> Self {
59 self.location = Some(value);
60 self
61 }
62
63 #[must_use]
66 pub fn reference_tokens(mut self, value: &'a [&'a str]) -> Self {
67 self.reference_tokens = Some(value);
68 self
69 }
70}
71
72impl<'a> ClassificationReferenceDraft<'a> {
73 #[must_use]
75 pub fn new() -> Self {
76 Self {
77 location: None,
78 identification: None,
79 name: None,
80 referenced_source: None,
81 description: None,
82 sort: None,
83 }
84 }
85
86 #[must_use]
89 pub fn location(mut self, value: &'a str) -> Self {
90 self.location = Some(value);
91 self
92 }
93
94 #[must_use]
97 pub fn identification(mut self, value: &'a str) -> Self {
98 self.identification = Some(value);
99 self
100 }
101
102 #[must_use]
104 pub fn name(mut self, value: &'a str) -> Self {
105 self.name = Some(value);
106 self
107 }
108
109 #[must_use]
113 pub fn referenced_source(mut self, value: EntityId) -> Self {
114 self.referenced_source = Some(value);
115 self
116 }
117
118 #[must_use]
121 pub fn description(mut self, value: &'a str) -> Self {
122 self.description = Some(value);
123 self
124 }
125
126 #[must_use]
128 pub fn sort(mut self, value: &'a str) -> Self {
129 self.sort = Some(value);
130 self
131 }
132}
133
134impl<'a> DocumentDraft<'a> {
135 #[must_use]
137 pub fn new(identification: &'a str, name: &'a str) -> Self {
138 Self {
139 identification,
140 name,
141 description: None,
142 location: None,
143 purpose: None,
144 intended_use: None,
145 scope: None,
146 revision: None,
147 document_owner: None,
148 editors: None,
149 creation_time: None,
150 last_revision_time: None,
151 electronic_format: None,
152 valid_from: None,
153 valid_until: None,
154 confidentiality: None,
155 status: None,
156 }
157 }
158
159 #[must_use]
161 pub fn description(mut self, value: &'a str) -> Self {
162 self.description = Some(value);
163 self
164 }
165
166 #[must_use]
169 pub fn location(mut self, value: &'a str) -> Self {
170 self.location = Some(value);
171 self
172 }
173
174 #[must_use]
176 pub fn purpose(mut self, value: &'a str) -> Self {
177 self.purpose = Some(value);
178 self
179 }
180
181 #[must_use]
183 pub fn intended_use(mut self, value: &'a str) -> Self {
184 self.intended_use = Some(value);
185 self
186 }
187
188 #[must_use]
190 pub fn scope(mut self, value: &'a str) -> Self {
191 self.scope = Some(value);
192 self
193 }
194
195 #[must_use]
197 pub fn revision(mut self, value: &'a str) -> Self {
198 self.revision = Some(value);
199 self
200 }
201
202 #[must_use]
205 pub fn document_owner(mut self, value: EntityId) -> Self {
206 self.document_owner = Some(value);
207 self
208 }
209
210 #[must_use]
213 pub fn editors(mut self, value: &'a [EntityId]) -> Self {
214 self.editors = Some(value);
215 self
216 }
217
218 #[must_use]
222 pub fn creation_time(mut self, value: &'a str) -> Self {
223 self.creation_time = Some(value);
224 self
225 }
226
227 #[must_use]
230 pub fn last_revision_time(mut self, value: &'a str) -> Self {
231 self.last_revision_time = Some(value);
232 self
233 }
234
235 #[must_use]
238 pub fn electronic_format(mut self, value: &'a str) -> Self {
239 self.electronic_format = Some(value);
240 self
241 }
242
243 #[must_use]
246 pub fn valid_from(mut self, value: &'a str) -> Self {
247 self.valid_from = Some(value);
248 self
249 }
250
251 #[must_use]
254 pub fn valid_until(mut self, value: &'a str) -> Self {
255 self.valid_until = Some(value);
256 self
257 }
258
259 #[must_use]
262 pub fn confidentiality(mut self, value: &'a str) -> Self {
263 self.confidentiality = Some(value);
264 self
265 }
266
267 #[must_use]
270 pub fn status(mut self, value: &'a str) -> Self {
271 self.status = Some(value);
272 self
273 }
274}
275
276impl<'a> DocumentReferenceDraft<'a> {
277 #[must_use]
279 pub fn new() -> Self {
280 Self {
281 location: None,
282 identification: None,
283 name: None,
284 description: None,
285 referenced_document: None,
286 }
287 }
288
289 #[must_use]
292 pub fn location(mut self, value: &'a str) -> Self {
293 self.location = Some(value);
294 self
295 }
296
297 #[must_use]
300 pub fn identification(mut self, value: &'a str) -> Self {
301 self.identification = Some(value);
302 self
303 }
304
305 #[must_use]
308 pub fn name(mut self, value: &'a str) -> Self {
309 self.name = Some(value);
310 self
311 }
312
313 #[must_use]
316 pub fn description(mut self, value: &'a str) -> Self {
317 self.description = Some(value);
318 self
319 }
320
321 #[must_use]
325 pub fn referenced_document(mut self, value: EntityId) -> Self {
326 self.referenced_document = Some(value);
327 self
328 }
329}
330
331impl<'a> LibraryDraft<'a> {
332 #[must_use]
334 pub fn new(name: &'a str) -> Self {
335 Self {
336 name,
337 version: None,
338 publisher: None,
339 version_date: None,
340 location: None,
341 description: None,
342 }
343 }
344
345 #[must_use]
347 pub fn version(mut self, value: &'a str) -> Self {
348 self.version = Some(value);
349 self
350 }
351
352 #[must_use]
355 pub fn publisher(mut self, value: EntityId) -> Self {
356 self.publisher = Some(value);
357 self
358 }
359
360 #[must_use]
363 pub fn version_date(mut self, value: &'a str) -> Self {
364 self.version_date = Some(value);
365 self
366 }
367
368 #[must_use]
371 pub fn location(mut self, value: &'a str) -> Self {
372 self.location = Some(value);
373 self
374 }
375
376 #[must_use]
379 pub fn description(mut self, value: &'a str) -> Self {
380 self.description = Some(value);
381 self
382 }
383}
384
385impl<'a> LibraryReferenceDraft<'a> {
386 #[must_use]
388 pub fn new() -> Self {
389 Self {
390 location: None,
391 identification: None,
392 name: None,
393 description: None,
394 language: None,
395 referenced_library: None,
396 }
397 }
398
399 #[must_use]
402 pub fn location(mut self, value: &'a str) -> Self {
403 self.location = Some(value);
404 self
405 }
406
407 #[must_use]
410 pub fn identification(mut self, value: &'a str) -> Self {
411 self.identification = Some(value);
412 self
413 }
414
415 #[must_use]
417 pub fn name(mut self, value: &'a str) -> Self {
418 self.name = Some(value);
419 self
420 }
421
422 #[must_use]
425 pub fn description(mut self, value: &'a str) -> Self {
426 self.description = Some(value);
427 self
428 }
429
430 #[must_use]
433 pub fn language(mut self, value: &'a str) -> Self {
434 self.language = Some(value);
435 self
436 }
437
438 #[must_use]
441 pub fn referenced_library(mut self, value: EntityId) -> Self {
442 self.referenced_library = Some(value);
443 self
444 }
445}
446
447impl<'a> AssociationDraft<'a> {
448 #[must_use]
450 pub fn new(global_id: &'a str, related_objects: &'a [EntityId]) -> Self {
451 Self {
452 global_id,
453 name: None,
454 description: None,
455 related_objects,
456 }
457 }
458
459 #[must_use]
461 pub fn name(mut self, value: &'a str) -> Self {
462 self.name = Some(value);
463 self
464 }
465
466 #[must_use]
468 pub fn description(mut self, value: &'a str) -> Self {
469 self.description = Some(value);
470 self
471 }
472}