Skip to main content

VariableBuilder

Struct VariableBuilder 

Source
pub struct VariableBuilder { /* 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 VariableBuilder

Source

pub fn new<T, S>(node_id: &NodeId, browse_name: T, display_name: S) -> Self

Creates a builder for a node. All nodes are required to su

Source

pub fn get_node_id(&self) -> NodeId

Source

pub fn is_valid(&self) -> bool

Tests that the builder is in a valid state to build or insert the node.

Source

pub fn description<V>(self, description: V) -> Self
where V: Into<LocalizedText>,

Sets the description of the node

Source

pub fn reference<T>( self, node_id: T, reference_type_id: ReferenceTypeId, reference_direction: ReferenceDirection, ) -> Self
where T: Into<NodeId>,

Adds a reference to the node

Source

pub fn organizes<T>(self, organizes_id: T) -> Self
where T: Into<NodeId>,

Indicates this node organizes another node by its id.

Source

pub fn organized_by<T>(self, organized_by_id: T) -> Self
where T: Into<NodeId>,

Indicates this node is organised by another node by its id

Source

pub fn build(self) -> Variable

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.

Source

pub fn insert(self, address_space: &mut AddressSpace) -> bool

Inserts the node into the address space, including references. This function will panic if the node is in an invalid state.

Source§

impl VariableBuilder

Source

pub fn component_of<T>(self, component_of_id: T) -> Self
where T: Into<NodeId>,

Source

pub fn has_component<T>(self, has_component_id: T) -> Self
where T: Into<NodeId>,

Source§

impl VariableBuilder

Source

pub fn has_property<T>(self, has_component_id: T) -> Self
where T: Into<NodeId>,

Source

pub fn property_of<T>(self, component_of_id: T) -> Self
where T: Into<NodeId>,

Source§

impl VariableBuilder

Source

pub fn value<V>(self, value: V) -> Self
where V: Into<Variant>,

Sets the value of the variable.

Source

pub fn data_type<T>(self, data_type: T) -> Self
where T: Into<NodeId>,

Sets the data type of the variable.

Source

pub fn historizing(self, historizing: bool) -> Self

Sets the historizing flag for the variable.

Source

pub fn access_level(self, access_level: AccessLevel) -> Self

Sets the access level for the variable.

Source

pub fn user_access_level(self, user_access_level: UserAccessLevel) -> Self

Sets the user access level for the variable.

Source

pub fn value_rank(self, value_rank: i32) -> Self

Sets the value rank for the variable.

Source

pub fn array_dimensions(self, array_dimensions: &[u32]) -> Self

Sets the array dimensions for the variable.

Source

pub fn writable(self) -> Self

Makes the variable writable (by default it isn’t)

Source

pub fn history_readable(self) -> Self

Makes the variable history-readable

Source

pub fn history_updatable(self) -> Self

Makes the variable history-updateable

Source

pub fn minimum_sampling_interval(self, minimum_sampling_interval: f64) -> Self

Sets the minimum sampling interval for the variable.

Source

pub fn value_getter( self, getter: Arc<Mutex<dyn AttributeGetter + Send>>, ) -> Self

Sets a value getter function for the variable. Whenever the value of a variable needs to be fetched (e.g. from a monitored item subscription), this trait will be called to get the value.

Source

pub fn value_setter( self, setter: Arc<Mutex<dyn AttributeSetter + Send>>, ) -> Self

Sets a value setter function for the variable. Whenever the value of a variable is set via a service, this trait will be called to set the value. It is up to the implementation to decide what to do if that happens.

Source

pub fn has_type_definition<T>(self, type_id: T) -> Self
where T: Into<NodeId>,

Add a reference to the variable indicating it has a type of another node.

Source

pub fn has_modelling_rule<T>(self, type_id: T) -> Self
where T: Into<NodeId>,

Add a reference to the variable indicating it has a modelling rule of another node.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.