pub struct VariableTypeBuilder { /* private fields */ }Expand description
A builder for constructing a node of same name. This can be used as an easy way to create a node and the references it has to another node in a simple fashion.
Implementations§
Source§impl VariableTypeBuilder
impl VariableTypeBuilder
Sourcepub fn new<T, S>(
node_id: &NodeId,
browse_name: T,
display_name: S,
) -> VariableTypeBuilder
pub fn new<T, S>( node_id: &NodeId, browse_name: T, display_name: S, ) -> VariableTypeBuilder
Creates a builder for a node. All nodes are required to su
Sourcepub fn get_node_id(&self) -> &NodeId
pub fn get_node_id(&self) -> &NodeId
Get the node ID of the node being built.
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Tests that the builder is in a valid state to build or insert the node.
Sourcepub fn description<V>(self, description: V) -> VariableTypeBuilderwhere
V: Into<LocalizedText>,
pub fn description<V>(self, description: V) -> VariableTypeBuilderwhere
V: Into<LocalizedText>,
Sets the description of the node
Sourcepub fn reference<T>(
self,
node_id: T,
reference_type_id: ReferenceTypeId,
reference_direction: ReferenceDirection,
) -> VariableTypeBuilder
pub fn reference<T>( self, node_id: T, reference_type_id: ReferenceTypeId, reference_direction: ReferenceDirection, ) -> VariableTypeBuilder
Adds a reference to the node
Sourcepub fn organizes<T>(self, organizes_id: T) -> VariableTypeBuilder
pub fn organizes<T>(self, organizes_id: T) -> VariableTypeBuilder
Indicates this node organizes another node by its id.
Sourcepub fn organized_by<T>(self, organized_by_id: T) -> VariableTypeBuilder
pub fn organized_by<T>(self, organized_by_id: T) -> VariableTypeBuilder
Indicates this node is organised by another node by its id
Sourcepub fn build(self) -> VariableType
pub fn build(self) -> VariableType
Yields a built node. This function will panic if the node is invalid. Note that calling this function discards any references for the node, so there is no purpose in adding references if you intend to call this method.
Sourcepub fn insert(self, address_space: &mut impl NodeInsertTarget) -> bool
pub fn insert(self, address_space: &mut impl NodeInsertTarget) -> bool
Inserts the node into the address space, including references. This function will panic if the node is in an invalid state.
Source§impl VariableTypeBuilder
impl VariableTypeBuilder
Sourcepub fn generates_event<T>(self, event_type: T) -> VariableTypeBuilder
pub fn generates_event<T>(self, event_type: T) -> VariableTypeBuilder
Add a GeneratesEvent reference to the given event type.
Source§impl VariableTypeBuilder
impl VariableTypeBuilder
Sourcepub fn subtype_of<T>(self, type_id: T) -> VariableTypeBuilder
pub fn subtype_of<T>(self, type_id: T) -> VariableTypeBuilder
Add an inverse HasSubtype reference to the given
type.
Sourcepub fn has_subtype<T>(self, subtype_id: T) -> VariableTypeBuilder
pub fn has_subtype<T>(self, subtype_id: T) -> VariableTypeBuilder
Add a HasSubtype reference to the given type.
Source§impl VariableTypeBuilder
impl VariableTypeBuilder
Sourcepub fn is_abstract(self, is_abstract: bool) -> VariableTypeBuilder
pub fn is_abstract(self, is_abstract: bool) -> VariableTypeBuilder
Set whether the variable type is abstract, meaning it cannot be used by nodes in the instance hierarchy.
Sourcepub fn write_mask(self, write_mask: WriteMask) -> VariableTypeBuilder
pub fn write_mask(self, write_mask: WriteMask) -> VariableTypeBuilder
Set the variable type write mask.
Sourcepub fn data_type(self, data_type: impl Into<NodeId>) -> VariableTypeBuilder
pub fn data_type(self, data_type: impl Into<NodeId>) -> VariableTypeBuilder
Set the base data type for instances of this type.
Sourcepub fn value(self, value: impl Into<Variant>) -> VariableTypeBuilder
pub fn value(self, value: impl Into<Variant>) -> VariableTypeBuilder
Set the default value for instances of this type.
Sourcepub fn array_dimensions(self, array_dimensions: &[u32]) -> VariableTypeBuilder
pub fn array_dimensions(self, array_dimensions: &[u32]) -> VariableTypeBuilder
Set the array dimensions of this type.
Sourcepub fn value_rank(self, value_rank: i32) -> VariableTypeBuilder
pub fn value_rank(self, value_rank: i32) -> VariableTypeBuilder
Set the value rank of this type.