dbc_rs/attribute/builder/mod.rs
1//! Builder for attribute definitions.
2//!
3//! Provides a fluent API for constructing attribute definitions programmatically.
4
5mod build;
6mod impls;
7
8use super::{AttributeObjectType, AttributeValueType};
9
10/// Builder for creating [`AttributeDefinition`](super::AttributeDefinition) instances.
11///
12/// # Example
13///
14/// ```rust,no_run
15/// use dbc_rs::AttributeDefinitionBuilder;
16///
17/// let attr_def = AttributeDefinitionBuilder::new()
18/// .name("GenMsgCycleTime")
19/// .object_type_message()
20/// .int_type(0, 10000)
21/// .build()?;
22/// # Ok::<(), dbc_rs::Error>(())
23/// ```
24#[derive(Debug, Default, Clone)]
25pub struct AttributeDefinitionBuilder {
26 pub(crate) name: Option<String>,
27 pub(crate) object_type: AttributeObjectType,
28 pub(crate) value_type: Option<AttributeValueType>,
29}