com.prosysopc.ua.nodes
Interface UaView

All Superinterfaces:
UaNode
All Known Implementing Classes:
UaViewImpl, UaViewNode

public interface UaView
extends UaNode

Each View defines a subset of the Nodes in the AddressSpace. The entire AddressSpace is the default View. Each Node in a View may contain only a subset of its References, as defined by the creator of the View. The View Node acts as the root for the Nodes in the View.

All Nodes contained in a View shall be accessible starting from the View Node when browsing in the context of the View. The browse may take several hops, i.e. it is not necessary that all containing Nodes can be browsed directly from the View Node.

A View Node may not only be used as additional entry point into the AddressSpace but as a construct to organize the AddressSpace and thus as the only entry point into a subset of the AddressSpace. Therefore clients shall not ignore View Nodes when exposing the AddressSpace. Simple clients that do not deal with Views for filtering purposes can for example handle a View Node like an Object of type FolderType.

The mandatory ContainsNoLoops Attribute is set to false if the server is not able to identify if the View contains loops or not.

The mandatory EventNotifier Attribute identifies if the View can be used to subscribe to Events that either occur in the content of the View or as ModelChangeEvents of the content of the View or to read / write the history of the Events. A View that supports Events shall provide all Events that occur in any Object used as EventNotifier that is part of the content of the View. In addition, it shall provide all ModelChangeEvents that occur in the context of the View.

To avoid recursion, i.e. getting all Events of the Server, the Server Object shall never be part of any View since it provides all Events of the Server.

Views are defined by the server. The browsing and querying Services expect the NodeId of a View Node to provide these Services in the context of the View.

(OPC UA Specification, Part 3.)

See Also:
UaObject, UaVariable, UaType, UaClientReference

Method Summary
 Boolean getContainsNoLoops()
          If set to true this Attribute indicates that following References in the context of the View contains no loops, i.e. starting from a Node 'A' contained in the View and following the forward References in the context of the View Node 'A' will not be reached again.
 EnumSet<EventNotifierClass> getEventNotifier()
          Defines whether the node can be used to subscribe to events.
 UaProperty getViewVersion()
          The version number for the View.
 void setContainsNoLoops(Boolean containsNoLoops)
           
 void setEventNotifier(EnumSet<EventNotifierClass> eventNotifier)
           
 
Methods inherited from interface com.prosysopc.ua.nodes.UaNode
addComponent, addProperty, addReference, addReference, addReference, deleteReference, deleteReference, deleteReference, deleteReference, getAddressSpace, getAttributes, getBrowseName, getComponent, getComponents, getDescription, getDisplayName, getForwardReferences, getInverseReferences, getMethod, getNodeClass, getNodeId, getNodeVersion, getProperties, getProperty, getReference, getReferences, getReferences, getSupportedAttributes, getUserWriteMask, getWriteMask, hasUserWriteAccess, hasWriteAccess, readAttribute, readAttribute, removeComponent, removeProperty, setAttribute, setAttributes, setBrowseName, setDescription, setDisplayName, setReferences, setUserWriteMask, setWriteMask, supportsAttribute, writeAttribute
 

Method Detail

getContainsNoLoops

Boolean getContainsNoLoops()
If set to true this Attribute indicates that following References in the context of the View contains no loops, i.e. starting from a Node 'A' contained in the View and following the forward References in the context of the View Node 'A' will not be reached again. It does not specify that there is only one path starting from the View Node to reach a Node contained in the View. If set to false this Attribute indicates that following References in the context of the View may lead to loops. (OPC UA Specification, Part 3.)

Returns:
whether the view contains loops or not.

getEventNotifier

EnumSet<EventNotifierClass> getEventNotifier()
Defines whether the node can be used to subscribe to events. The set can contain one or several of the following values.
Value Description
SubscribeToEvents Indicates if it can be used to subscribe to Events (0 means cannot be used to subscribe to Events, 1 means can be used to subscribe to Events).
HistoryRead Indicates if the history of the Events is readable (0 means not readable, 1 means readable).
HistoryWrite Indicates if the history of the Events is writable (0 means not writable, 1 means writable).
HistoryRead and HistoryWrite also indicate if the history of the Events is available via the OPC UA server.

Returns:
the current value of the EventNotifier attribute

getViewVersion

UaProperty getViewVersion()
The version number for the View. When Nodes are added to or removed from a View, the value of the ViewVersion Property is updated. Clients may detect changes to the composition of a View using this Property. The value of the ViewVersion shall always be greater than 0. (OPC UA Specification, Part 3.)

Returns:
the ViewVersion property. This is an optional property, so it may be null, if the property is not defined.

setContainsNoLoops

void setContainsNoLoops(Boolean containsNoLoops)
Parameters:
containsNoLoops - the value of containsNoLoops to set
See Also:
getContainsNoLoops()

setEventNotifier

void setEventNotifier(EnumSet<EventNotifierClass> eventNotifier)
Parameters:
eventNotifier - the value of Eventnotifier to set
See Also:
getEventNotifier()


Copyright © 2018. All rights reserved.