public abstract class NodeManager extends ServiceManagerBase
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
initialized |
protected boolean |
started |
| Constructor and Description |
|---|
NodeManager(UaServer server,
String namespaceUri)
The default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(NodeManagerListener listener)
Add a listener to get notifications of client actions on this Node Manager.
|
protected NodeId |
addNode(ServiceContext serviceContext,
NodeId nodeId,
NodeId parentNodeId,
QualifiedName browseName,
NodeClass nodeClass,
ExpandedNodeId typeDefinitionId,
NodeAttributes attributes,
NodeId referenceTypeId)
Handle adding a new node.
|
UaNode |
addNode(UaNode node)
Adds a new node - unless it already exists in the node manager.
|
protected void |
addReference(ServiceContext serviceContext,
NodeId sourceNodeId,
ExpandedNodeId targetNodeId,
NodeId referenceTypeId,
boolean isForward,
NodeClass targetNodeClass,
String targetServerUri)
Handle adding a reference.
|
protected void |
afterCreateMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item) |
protected void |
afterCreateMonitoredEventItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredEventItem item) |
protected void |
afterDeleteMonitoredItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredItem item) |
protected void |
afterModifyMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item) |
protected void |
afterModifyMonitoredEventItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredEventItem item) |
protected BrowseContinuationPoint |
browseNode(ServiceContext serviceContext,
List<ReferenceDescription> referenceDescriptions,
NodeId nodeId,
int maxReferences,
BrowseDirection browseDirection,
NodeId referenceTypeId,
Boolean includeSubTypes,
QualifiedName browseName,
EnumSet<NodeClass> nodeClassSet,
EnumSet<BrowseResultMask> resultSet,
ViewDescription viewDescription,
int startIndex)
Browse a single node and filter according to the parameters.
|
protected Variant[] |
callMethod(ServiceContext serviceContext,
NodeId objectId,
NodeId methodId,
Variant[] inputArguments,
StatusCode[] inputArgumentResults,
DiagnosticInfo[] inputArgumentDiagnosticInfos) |
protected void |
close()
Close the node manager, when the serve closes.
|
protected void |
createMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
NodeId nodeId,
UnsignedInteger attributeId,
NumericRange indexRange,
MonitoringParameters params,
MonitoringFilter filter,
AggregateFilterResult filterResult,
MonitoringMode monitoringMode)
Check that the monitored item request is valid.
|
protected void |
createMonitoredEventItem(ServiceContext serviceContext,
Subscription subscription,
NodeId nodeId,
EventFilter eventFilter,
EventFilterResult eventFilterResult) |
protected ReferenceDescription |
createReferenceDescription(NodeId referenceTypeId,
ExpandedNodeId targetId,
UaNode target,
boolean isInverse,
NodeClass nodeClass,
EnumSet<BrowseResultMask> resultSet)
Creates a new reference description to be returned as a browse result.
|
protected void |
deleteMonitoredItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredItem item) |
protected void |
deleteNode(ServiceContext serviceContext,
NodeId nodeId,
Boolean deleteTargetReferences) |
protected void |
deleteReference(ServiceContext serviceContext,
NodeId sourceNodeId,
ExpandedNodeId targetNodeId,
NodeId referenceTypeId,
Boolean isForward,
Boolean deleteBidirectional) |
protected UaNode |
findNode(ExpandedNodeId nodeId)
Find the UaNode corresponding to the nodeId, if the Node Manager
supportsUaNode(). |
UaNode |
findNode(NodeId nodeId)
Find the UaNode corresponding to the nodeId, if the Node Manager
supportsUaNode(). |
protected NodeClass |
findNodeClass(ExpandedNodeId nodeId,
UaNode node)
Find the NodeClass of a node, using the NodeManagerTable to first locate the correct
NodeManager.
|
protected void |
fireAddNode(ServiceContext serviceContext,
NodeId parentNodeId,
UaNode parent,
NodeId nodeId,
NodeClass nodeClass,
QualifiedName browseName,
NodeAttributes attributes,
UaReferenceType referenceType,
ExpandedNodeId typeDefinitionId,
UaNode typeDefinition) |
protected void |
fireAddReference(ServiceContext serviceContext,
NodeId sourceNodeId,
UaNode sourceNode,
ExpandedNodeId targetNodeId,
UaNode targetNode,
NodeId referenceTypeId,
UaReferenceType referenceType,
boolean isForward) |
protected void |
fireAfterAddNode(ServiceContext serviceContext,
NodeId parentNodeId,
UaNode parent,
NodeId nodeId,
UaNode node,
NodeClass nodeClass,
QualifiedName browseName,
NodeAttributes attributes,
UaReferenceType referenceType,
ExpandedNodeId typeDefinitionId,
UaNode typeDefinition) |
protected void |
fireAfterAddReference(ServiceContext serviceContext,
NodeId sourceNodeId,
UaNode sourceNode,
ExpandedNodeId targetNodeId,
UaNode targetNode,
NodeId referenceTypeId,
UaReferenceType referenceType,
boolean isForward) |
protected void |
fireAfterCreateMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item) |
protected void |
fireAfterDeleteMonitoredItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredItem item) |
protected void |
fireAfterModifyMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item) |
protected boolean |
fireBrowseNode(ServiceContext serviceContext,
ViewDescription view,
NodeId nodeId,
UaNode node,
UaReference reference) |
protected void |
fireCreateMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
NodeId nodeId,
UaNode node,
UnsignedInteger attributeId,
NumericRange indexRange,
MonitoringParameters params,
MonitoringFilter filter,
AggregateFilterResult filterResult,
MonitoringMode monitoringMode) |
protected void |
fireDeleteMonitoredItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredItem item) |
protected void |
fireDeleteNode(ServiceContext serviceContext,
NodeId nodeId,
UaNode node,
boolean deleteTargetReferences) |
protected void |
fireDeleteReference(ServiceContext serviceContext,
NodeId sourceNodeId,
UaNode sourceNode,
ExpandedNodeId targetNodeId,
UaNode targetNode,
NodeId referenceTypeId,
UaReferenceType referenceType,
boolean isForward,
boolean deleteBidirectional) |
protected void |
fireModifyMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item,
UaNode node,
MonitoringParameters requestedParameters,
MonitoringFilter filter,
AggregateFilterResult filterResult) |
protected abstract QualifiedName |
getBrowseName(ExpandedNodeId nodeId,
UaNode node)
Get the BrowseName of a node.
|
Locale |
getDefaultLocale() |
protected abstract LocalizedText |
getDisplayName(ExpandedNodeId nodeId,
UaNode targetNode,
Locale locale)
Find the DisplayName of a node.
|
EventManager |
getEventManager() |
protected EventManager |
getEventManager(NodeId nodeId) |
HistoryManager |
getHistoryManager() |
IoManager |
getIoManager() |
protected boolean |
getIsOfType(NodeId typeDefinitionId,
UaType typeDefinition,
NodeId expectedTypeId,
UaType expectedType) |
MethodManager |
getMethodManager() |
int |
getNamespaceIndex() |
NamespaceTable |
getNamespaceTable() |
String |
getNamespaceUri() |
UaNode |
getNode(ExpandedNodeId nodeId)
Gets the node, corresponding to a nodeId, if it exists in the local server.
|
UaNode |
getNode(NodeId nodeId)
Convenience method for getNodeManagerTable().getNode
|
protected NodeClass |
getNodeClass(ExpandedNodeId nodeId,
UaNode node)
Return the node class of a node, owned by this NodeManager.
|
protected abstract NodeClass |
getNodeClass(NodeId nodeId,
UaNode node)
Return the node class of a node, owned by this NodeManager.
|
NodeId |
getNodeId(String namespace,
String id)
Returns NodeId from namespace and id.
|
QualifiedName |
getQualifiedName(String namespace,
String name) |
UaReference[] |
getReferences(NodeId nodeId) |
protected abstract UaReference[] |
getReferences(NodeId nodeId,
UaNode node)
Get all references of a node.
|
protected UaReferenceType |
getReferenceType(NodeId referenceTypeId) |
protected abstract ExpandedNodeId |
getTypeDefinition(ExpandedNodeId nodeId,
UaNode node)
Get the TypeDefinition of a node.
|
abstract NodeId |
getVariableDataType(NodeId nodeId,
UaValueNode valueNode)
Get the data type of a variable node, managed by this node manager.
|
boolean |
hasListener(NodeManagerListener listener)
Check if the manager already has the specified listener.
|
abstract boolean |
hasNode(NodeId nodeId)
Check if the node manager has a certain node.
|
protected void |
init()
Initialize the NodeManager.
|
void |
invalidatePreviousNodeCache()
Forces the invalidation of an internal cache, which stores the last accessed
UaNode, if
applicable for this ServiceManagerBase. |
boolean |
isInitialized() |
boolean |
isOfType(NodeId typeDefinitionId,
UaType typeDefinition,
NodeId expectedTypeId,
UaType expectedType)
Check if the given type is of the expectedType.
|
boolean |
isStarted() |
protected void |
modifyMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item,
MonitoringParameters requestedParameters,
MonitoringFilter filter,
AggregateFilterResult filterResult) |
protected void |
modifyMonitoredEventItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredEventItem item,
EventFilter eventFilter,
EventFilterResult eventFilterResult) |
protected void |
queryFirst(ServiceContext serviceContext,
QueryFirstRequest request,
QueryFirstResponse response) |
protected void |
queryNext(ServiceContext serviceContext,
QueryNextRequest request,
QueryNextResponse response) |
protected boolean |
referenceMatchesRequest(UaReference reference,
BrowseDirection browseDirection,
NodeId referenceTypeId,
UaReferenceType referenceType,
Boolean includeSubTypes,
QualifiedName browseName,
NodeId sourceNodeId) |
protected NodeId |
registerNode(ServiceContext serviceContext,
NodeId nodeId) |
void |
removeListener(NodeManagerListener listener)
Remove a notification listener from the Node Manager.
|
void |
setDefaultLocale(Locale defaultLocale)
Define the default locale to use for messages and other strings, whenever the locale is not
defined or requested.
|
void |
setEventManager(EventManager eventManager)
Define the event manager that handles all event calls to the nodes of the node manager.
|
void |
setHistoryManager(HistoryManager historyManager)
Define the HistoryManager that should handle the history service for the nodes.
|
void |
setIoManager(IoManager ioManager)
Define the IO Manager that is handling attribute services, i.e.
|
void |
setMethodManager(MethodManager methodManager)
Define the MethodManager that is handling method calls for the nodes.
|
protected void |
start()
Start the NodeManager, i.e.
|
boolean |
supportsUaNode()
Whether the NodeManager supports UaNode instances.
|
String |
toString() |
protected BrowsePathTarget[] |
translateBrowsePath(ServiceContext serviceContext,
NodeId startingNodeId,
RelativePath relativePath) |
protected void |
unregisterNode(ServiceContext serviceContext,
NodeId nodeId) |
arrayDimensionsMatch, checkIsMethod, checkIsValueNode, checkIsVariable, checkIsVariableOrVariableType, dataTypeEquals, getNode, getNode, getNodeManagerTable, getServer, getSubscriptionManager, isValueNode, isVariable, listenerError, requireUaNodepublic void addListener(NodeManagerListener listener)
listener - the listener to add. Must not be nullpublic UaNode addNode(UaNode node) throws StatusException
node - the node to add. The NodeId of the node must have the same namepsaceIndex as the
node manager.StatusException - if the NodeId is invalid (i.e. null) or the NodeManager does not
support UaNodespublic UaNode findNode(NodeId nodeId)
supportsUaNode(). You
should use hasNode(com.prosysopc.ua.stack.builtintypes.NodeId) to check if the Node Manager has a nodenodeId - the nodeId to look forgetNode(NodeId)public Locale getDefaultLocale()
public EventManager getEventManager()
public HistoryManager getHistoryManager()
public IoManager getIoManager()
public MethodManager getMethodManager() throws StatusException
StatusExceptionpublic int getNamespaceIndex()
getNamespaceUri()public NamespaceTable getNamespaceTable()
public String getNamespaceUri()
public UaNode getNode(ExpandedNodeId nodeId) throws StatusException
getNode in class ServiceManagerBasenodeId - the ID of the node to getStatusException - if the node is not found (Bad_NodeIdUnknown), is null
(Bad_NodeIdInvalid) or if the node cannot be converted to a local NodeId
(Bad_ServerIndexInvalid)ServiceManagerBase.getNode(NodeId)public UaNode getNode(NodeId nodeId) throws StatusException
ServiceManagerBasegetNode in class ServiceManagerBaseStatusExceptionNodeManagerTable.getNode(NodeId)public NodeId getNodeId(String namespace, String id)
namespace - namespace urlid - identifier part of NodeId, e.g. "i=13"public QualifiedName getQualifiedName(String namespace, String name)
public UaReference[] getReferences(NodeId nodeId)
public abstract NodeId getVariableDataType(NodeId nodeId, UaValueNode valueNode) throws StatusException
nodeId - The NodeId of the variable, whose data type is requested.valueNode - the variable or variableType node, if such existsStatusExceptionpublic boolean hasListener(NodeManagerListener listener)
listener - the listener to checkpublic abstract boolean hasNode(NodeId nodeId)
Override in your own NodeManager to return true for your own nodes.
nodeId - public void invalidatePreviousNodeCache()
ServiceManagerBaseUaNode, if
applicable for this ServiceManagerBase. Note that normally SDK handles and calls this
internally, but if an UaNode is removed without the use of SDK methods (like
NodeManagerUaNode.deleteNode(NodeId, boolean, boolean)), this should be called
manually.invalidatePreviousNodeCache in class ServiceManagerBasepublic boolean isInitialized()
public final boolean isOfType(NodeId typeDefinitionId, UaType typeDefinition, NodeId expectedTypeId, UaType expectedType) throws StatusException
The method will call the internal getIsOfType(NodeId, UaType, NodeId, UaType), if the
node is in this NodeManager (hasNode(NodeId) return true) or will find the respective
NodeManager from NodeManagerTable.
Override getIsOfType() if you want to modify the default behavior.
typeDefinitionId - the ID of the type that is testedtypeDefinition - the type that is tested (or null if not available)expectedTypeId - the ID of type against which the test is doneexpectedType - the type against which the test is done (or null if not available)StatusException - if typeDefinitionId does not refer to an existing nodepublic boolean isStarted()
public void removeListener(NodeManagerListener listener)
listener - the listener to removepublic void setDefaultLocale(Locale defaultLocale)
defaultLocale - public void setEventManager(EventManager eventManager)
eventManager - the eventManager to setpublic void setHistoryManager(HistoryManager historyManager)
historyManager - public void setIoManager(IoManager ioManager)
ioManager - the IO Manager to setpublic void setMethodManager(MethodManager methodManager)
methodManager - the methodManager to setpublic boolean supportsUaNode()
Change in your own node manager, if you want to use UaNode. In that case, also consider inheriting your NodeManager from NodeManagerUaNode instead.
Note: If you define supportsUaNode = true, you must also implement
findNode(ExpandedNodeId)!
UaNode objects are supported.protected NodeId addNode(ServiceContext serviceContext, NodeId nodeId, NodeId parentNodeId, QualifiedName browseName, NodeClass nodeClass, ExpandedNodeId typeDefinitionId, NodeAttributes attributes, NodeId referenceTypeId) throws StatusException
StatusExceptionprotected void addReference(ServiceContext serviceContext, NodeId sourceNodeId, ExpandedNodeId targetNodeId, NodeId referenceTypeId, boolean isForward, NodeClass targetNodeClass, String targetServerUri) throws StatusException
StatusExceptionprotected void afterCreateMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item)
serviceContext - subscription - item - protected void afterCreateMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, MonitoredEventItem item)
serviceContext - subscription - item - protected void afterDeleteMonitoredItem(ServiceContext serviceContext, Subscription subscription, MonitoredItem item)
serviceContext - subscription - item - protected void afterModifyMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item)
serviceContext - subscription - item - protected void afterModifyMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, MonitoredEventItem item)
serviceContext - subscription - item - protected BrowseContinuationPoint browseNode(ServiceContext serviceContext, List<ReferenceDescription> referenceDescriptions, NodeId nodeId, int maxReferences, BrowseDirection browseDirection, NodeId referenceTypeId, Boolean includeSubTypes, QualifiedName browseName, EnumSet<NodeClass> nodeClassSet, EnumSet<BrowseResultMask> resultSet, ViewDescription viewDescription, int startIndex) throws ServiceException, StatusException
serviceContext - referenceDescriptions - nodeId - maxReferences - browseDirection - referenceTypeId - includeSubTypes - browseName - nodeClassSet - resultSet - viewDescription - startIndex - ServiceExceptionStatusExceptionprotected Variant[] callMethod(ServiceContext serviceContext, NodeId objectId, NodeId methodId, Variant[] inputArguments, StatusCode[] inputArgumentResults, DiagnosticInfo[] inputArgumentDiagnosticInfos) throws StatusException
serviceContext - objectId - methodId - inputArguments - inputArgumentResults - inputArgumentDiagnosticInfos - StatusExceptionprotected void close()
protected void createMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, NodeId nodeId, UnsignedInteger attributeId, NumericRange indexRange, MonitoringParameters params, MonitoringFilter filter, AggregateFilterResult filterResult, MonitoringMode monitoringMode) throws StatusException
serviceContext - the client calling contextsubscription - the subscription in which the item is being created.nodeId - the node ID: get the respective node from from the nodeManager.attributeId - the attribute ID: check from the node that it supports the attribute.indexRange - the index range specificationparams - the monitoring parametersfilter - an optional filter for the item. This may be a DataChangeFilter or
AggregateFilterResultfilterResult - results for the aggregateFilter, if such is providedmonitoringMode - the requested MonitoringModeStatusException - if the node is invalid (Bad_NodeIdUnknown) or the attributeId is not
supported by the node (Bad_AttributeIdInvalid).protected void createMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, NodeId nodeId, EventFilter eventFilter, EventFilterResult eventFilterResult) throws StatusException
StatusExceptionprotected ReferenceDescription createReferenceDescription(NodeId referenceTypeId, ExpandedNodeId targetId, UaNode target, boolean isInverse, NodeClass nodeClass, EnumSet<BrowseResultMask> resultSet)
targetId - target - nodeClass - resultSet - r - protected void deleteMonitoredItem(ServiceContext serviceContext, Subscription subscription, MonitoredItem item) throws StatusException
StatusExceptionprotected void deleteNode(ServiceContext serviceContext, NodeId nodeId, Boolean deleteTargetReferences) throws StatusException
StatusExceptionprotected void deleteReference(ServiceContext serviceContext, NodeId sourceNodeId, ExpandedNodeId targetNodeId, NodeId referenceTypeId, Boolean isForward, Boolean deleteBidirectional) throws StatusException
StatusExceptionprotected UaNode findNode(ExpandedNodeId nodeId) throws ServiceResultException
supportsUaNode(). You
should use hasNode(com.prosysopc.ua.stack.builtintypes.NodeId) to check if the Node Manager has a node.
The method simply converts nodeId to a NodeId using getNamespaceTable() and calls
findNode(NodeId).
nodeId - the ID of the node to look for.ServiceResultException - if the nodeId cannot be converted to NodeId using the
NamespaceTable of the server.getNode(ExpandedNodeId)protected NodeClass findNodeClass(ExpandedNodeId nodeId, UaNode node)
nodeId - node - protected void fireAddNode(ServiceContext serviceContext, NodeId parentNodeId, UaNode parent, NodeId nodeId, NodeClass nodeClass, QualifiedName browseName, NodeAttributes attributes, UaReferenceType referenceType, ExpandedNodeId typeDefinitionId, UaNode typeDefinition) throws StatusException
StatusExceptionprotected void fireAddReference(ServiceContext serviceContext, NodeId sourceNodeId, UaNode sourceNode, ExpandedNodeId targetNodeId, UaNode targetNode, NodeId referenceTypeId, UaReferenceType referenceType, boolean isForward) throws StatusException
StatusExceptionprotected void fireAfterAddNode(ServiceContext serviceContext, NodeId parentNodeId, UaNode parent, NodeId nodeId, UaNode node, NodeClass nodeClass, QualifiedName browseName, NodeAttributes attributes, UaReferenceType referenceType, ExpandedNodeId typeDefinitionId, UaNode typeDefinition) throws StatusException
StatusExceptionprotected void fireAfterAddReference(ServiceContext serviceContext, NodeId sourceNodeId, UaNode sourceNode, ExpandedNodeId targetNodeId, UaNode targetNode, NodeId referenceTypeId, UaReferenceType referenceType, boolean isForward) throws StatusException
StatusExceptionprotected void fireAfterCreateMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item)
serviceContext - subscription - item - protected void fireAfterDeleteMonitoredItem(ServiceContext serviceContext, Subscription subscription, MonitoredItem item)
serviceContext - subscription - item - protected void fireAfterModifyMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item)
serviceContext - subscription - item - protected boolean fireBrowseNode(ServiceContext serviceContext, ViewDescription view, NodeId nodeId, UaNode node, UaReference reference)
serviceContext - node - view - nodeId - reference - protected void fireCreateMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, NodeId nodeId, UaNode node, UnsignedInteger attributeId, NumericRange indexRange, MonitoringParameters params, MonitoringFilter filter, AggregateFilterResult filterResult, MonitoringMode monitoringMode) throws StatusException
serviceContext - subscription - nodeId - node - attributeId - indexRange - params - filter - filterResult - monitoringMode - StatusExceptionprotected void fireDeleteMonitoredItem(ServiceContext serviceContext, Subscription subscription, MonitoredItem item)
serviceContext - subscription - item - protected void fireDeleteNode(ServiceContext serviceContext, NodeId nodeId, UaNode node, boolean deleteTargetReferences) throws StatusException
serviceContext - nodeId - node - deleteTargetReferences - StatusExceptionprotected void fireDeleteReference(ServiceContext serviceContext, NodeId sourceNodeId, UaNode sourceNode, ExpandedNodeId targetNodeId, UaNode targetNode, NodeId referenceTypeId, UaReferenceType referenceType, boolean isForward, boolean deleteBidirectional) throws StatusException
serviceContext - sourceNodeId - sourceNode - targetNodeId - targetNode - referenceTypeId - referenceType - isForward - deleteBidirectional - StatusExceptionprotected void fireModifyMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item, UaNode node, MonitoringParameters requestedParameters, MonitoringFilter filter, AggregateFilterResult filterResult) throws StatusException
serviceContext - subscription - item - node - requestedParameters - filter - filterResult - StatusExceptionprotected abstract QualifiedName getBrowseName(ExpandedNodeId nodeId, UaNode node)
NodeManagerUaNode implements the method by getting the BrowseName from the targetNode.
For custom NodeManagers this must be implemented.
nodeId - the ID of the nodenode - the node, if it is a UaNode. May be null.protected abstract LocalizedText getDisplayName(ExpandedNodeId nodeId, UaNode targetNode, Locale locale)
NodeManagerUaNode implements the method by getting the DisplayName from the targetNode
For custom NodeManagers this must be implemented.
nodeId - the ID of the nodenode - the node, if it is a UaNode. May be null.locale - The locale in which the name is requested. May be null.protected EventManager getEventManager(NodeId nodeId)
nodeId - protected boolean getIsOfType(NodeId typeDefinitionId, UaType typeDefinition, NodeId expectedTypeId, UaType expectedType) throws StatusException
typeDefinitionId - typeDefinition - expectedTypeId - expectedType - StatusExceptionprotected NodeClass getNodeClass(ExpandedNodeId nodeId, UaNode node)
findNodeClass(ExpandedNodeId, UaNode) to search for the NodeClass of any node,
possibly owned by some other NodeManager.nodeId - The ID of the node.node - The UaNode object, if the node manager supports them, or nullprotected abstract NodeClass getNodeClass(NodeId nodeId, UaNode node)
findNodeClass(ExpandedNodeId, UaNode) to search for the NodeClass of any node,
possibly owned by some other NodeManager.nodeId - The ID of the node.node - The UaNode object, if the node manager supports them, or nullprotected abstract UaReference[] getReferences(NodeId nodeId, UaNode node)
nodeId - the ID of the nodenode - the node object, if availableprotected UaReferenceType getReferenceType(NodeId referenceTypeId) throws StatusException
referenceTypeId - StatusExceptionprotected abstract ExpandedNodeId getTypeDefinition(ExpandedNodeId nodeId, UaNode node)
NodeManagerUaNode implements the method by getting the TypeDefinitionId from the node.
For custom NodeManagers this must be implemented.
nodeId - the ID of the nodenode - the node, if it is a UaNode. May be null.protected void init()
throws StatusException,
UaNodeFactoryException
protected void modifyMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item, MonitoringParameters requestedParameters, MonitoringFilter filter, AggregateFilterResult filterResult) throws StatusException
StatusExceptionprotected void modifyMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, MonitoredEventItem item, EventFilter eventFilter, EventFilterResult eventFilterResult) throws StatusException
serviceContext - subscription - item - eventFilter - StatusExceptionEventFilterExceptionprotected void queryFirst(ServiceContext serviceContext, QueryFirstRequest request, QueryFirstResponse response) throws ServiceException
serviceContext - request - response - ServiceExceptionprotected void queryNext(ServiceContext serviceContext, QueryNextRequest request, QueryNextResponse response) throws ServiceException
serviceContext - request - response - ServiceExceptionprotected boolean referenceMatchesRequest(UaReference reference, BrowseDirection browseDirection, NodeId referenceTypeId, UaReferenceType referenceType, Boolean includeSubTypes, QualifiedName browseName, NodeId sourceNodeId)
reference - browseDirection - referenceTypeId - referenceType - includeSubTypes - browseName - protected NodeId registerNode(ServiceContext serviceContext, NodeId nodeId) throws StatusException
StatusExceptionprotected void start()
throws StatusException,
UaNodeFactoryException
protected BrowsePathTarget[] translateBrowsePath(ServiceContext serviceContext, NodeId startingNodeId, RelativePath relativePath) throws StatusException, ServiceException
StatusExceptionServiceExceptionprotected void unregisterNode(ServiceContext serviceContext, NodeId nodeId)
Copyright © 2026. All rights reserved.