public class NodeManagerTable extends Object implements UaAddressSpace
getNodeManager(com.prosysopc.ua.stack.builtintypes.ExpandedNodeId).| Constructor and Description |
|---|
NodeManagerTable(UaServer server)
Creates new NodeManagerTable for the server.
|
| Modifier and Type | Method and Description |
|---|---|
protected NodeId |
addNode(ServiceContext serviceContext,
AddNodesItem nodeToAdd) |
protected NodeId |
addNode(ServiceContext serviceContext,
NodeId nodeId,
NodeId parentNodeId,
QualifiedName browseName,
NodeClass nodeClass,
ExpandedNodeId typeDefinitionId,
NodeAttributes attributes,
NodeId referenceTypeId) |
void |
addNode(UaNode node)
Add a (@link UaNode) to the address space.
|
int |
addNodeManager(int namespaceIndex,
NodeManager nodeManager)
Add a node manager to the table.
|
protected void |
addReference(ServiceContext serviceContext,
AddReferencesItem addReferencesItem) |
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 view,
int startIndex) |
protected Variant[] |
callMethod(ServiceContext serviceContext,
NodeId objectId,
NodeId methodId,
Variant[] inputArguments,
StatusCode[] inputArgumentResults,
DiagnosticInfo[] inputArgumentDiagnosticInfos) |
protected void |
checkNodeManagementEnabled() |
void |
close()
Closes this
NodeManagerTable and all NodeManager that have been added to it. |
protected ModelParser |
createModelParser()
Create
ModelParser that is used for loadModel(...) methods, overriding this method can
be used to return a custom subtype of ModelParser. |
protected void |
createMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
NodeId nodeId,
UnsignedInteger attributeId,
NumericRange indexRange,
MonitoringParameters params,
MonitoringFilter filter,
AggregateFilterResult filterResult,
MonitoringMode monitoringMode) |
protected void |
createMonitoredEventItem(ServiceContext serviceContext,
Subscription subscription,
NodeId nodeId,
EventFilter eventFilter,
EventFilterResult filterResult) |
protected void |
createNewNodeManager(ServiceContext serviceContext,
String namespaceUri) |
protected void |
deleteMonitoredItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredItem monitoredItem) |
protected void |
deleteNode(ServiceContext serviceContext,
ExpandedNodeId expandedNodeId,
boolean deleteTargetReferences) |
protected void |
deleteNode(ServiceContext serviceContext,
NodeId nodeId,
Boolean deleteTargetReferences) |
protected void |
deleteReference(ServiceContext serviceContext,
NodeId sourceNodeId,
ExpandedNodeId targetNodeId,
NodeId referenceTypeId,
Boolean isForward,
Boolean deleteBidirectional) |
UaNode |
findNode(NodeId nodeId)
Find a (@link UaNode) corresponding to the given (@link NodeId).
|
UaDataType |
getDataType(NodeId dataTypeId)
Convenience method for
getNode(NodeId) and casting the result to UaDataType. |
DataTypeConverter |
getDataTypeConverter()
Returns the
DataTypeConverter. |
EncoderContext |
getEncoderContext()
Returns the
EncoderContext. |
UaNode |
getExternalNode(NodeId nodeId) |
ExternalNodeManager |
getExternalNodeManager() |
HistoryManager |
getHistoryManager(NodeId nodeId) |
InstanceDeclarationHierarchyCache |
getInstanceDeclarationHierarchyCache() |
IoManager |
getIoManager(NodeId nodeId) |
NodeManagerTableListener |
getListener() |
NamespaceTable |
getNamespaceTable()
Return the (@link NamespaceTable) associated with the (@link UaAddressSpace).
|
UaNode |
getNode(ExpandedNodeId nodeId)
Convenience method for
UaAddressSpace.getNode(NodeId) that accepts ExpandedNodeId. |
<T extends UaNode> |
getNode(ExpandedNodeId nodeId,
Class<T> clazz)
Convenience method for
UaAddressSpace.getNode(ExpandedNodeId) that converts the results to given
class. |
UaNode |
getNode(NodeId nodeId)
Find a node from the NodeManagers managed by the NodeManagerTable.
|
<T extends UaNode> |
getNode(NodeId nodeId,
Class<T> clazz)
Convinience method for
getNode(NodeId) that casts the result to given class |
UaNode |
getNode(UaNodeId nodeId)
Convenience method for
UaAddressSpace.getNode(NodeId) that accepts UaNodeId. |
<T extends UaNode> |
getNode(UaNodeId nodeId,
Class<T> clazz)
Convenience method for
UaAddressSpace.getNode(UaNodeId) that converts the results to given class. |
UaNodeBuilderConfiguration |
getNodeBuilderConfiguration()
Get
UaNodeBuilderConfiguration that NodeManagerUaNode uses if it does not have
it's own configuration. |
NodeClass |
getNodeClass(ExpandedNodeId nodeId,
UaNode node)
Return the node class of a node.
|
NodeClass |
getNodeClass(NodeId nodeId,
UaNode node)
Return the node class of a node.
|
boolean |
getNodeManagementEnabled()
Are node management operations enabled in the server? That is AddNodes, AddReferences,
DeleteNodes and DeleteReferences service calls.
|
NodeManager |
getNodeManager(ExpandedNodeId expandedNodeId)
Get a NodeManager that handles the specified node.
|
NodeManager |
getNodeManager(int namespaceIndex)
Get a certain NodeManager from the table.
|
NodeManager |
getNodeManager(NodeId nodeId)
Get a NodeManager that handles the specified node.
|
NodeManager |
getNodeManager(String namespaceUri)
Find the node manager for the defined namespaceUri
The method equals to
getNodeManager(getNamespaceTable().getIndex(namespaceUri))
|
NodeManagerRoot |
getNodeManagerRoot() |
UaNode |
getNodeOrExternal(NodeId nodeId)
Mostly for internal use.
|
UaNode |
getNodeOrExternalIfExist(NodeId nodeId)
Mostly for internal use.
|
FolderTypeNode |
getObjectsFolder()
Returns the UaNode for
UaObjectIds.ObjectsFolder. |
FolderTypeNode |
getRoot()
Returns the UaNode for
UaObjectIds.RootFolder. |
UaServer |
getServer() |
ServerTable |
getServerTable() |
UaType |
getType(NodeId typeId)
Find the type node with a specific Id.
|
boolean |
hasNode(NodeId nodeId) |
boolean |
hasNodeManager(String uri) |
protected HistoryResult |
historyRead(ServiceContext serviceContext,
Object operationContext,
TimestampsToReturn timestampsToReturn,
NodeId nodeId,
NumericRange indexRange,
HistoryContinuationPoint continuationPoint,
HistoryReadDetails details,
int aggregateIndex) |
protected void |
historyUpdate(ServiceContext serviceContext,
Object operationContext,
HistoryUpdateDetails details,
HistoryUpdateResult historyUpdateResult) |
protected void |
init() |
protected void |
initializeMonitoredDataItem(ServiceContext serviceContext,
MonitoredDataItem monitoredItem,
DataValue dataValue) |
void |
invalidatePreviousNodeCaches()
Calls
NodeManager.invalidatePreviousNodeCache() for all NodeManagers. |
boolean |
isTypeOf(NodeId typeDefinitionId,
UaType typeDefinition,
NodeId expectedTypeId,
UaType expectedType) |
void |
loadModel(InputStream inputStream)
Load an Information Model into the client.
|
void |
loadModel(InputStream inputStream,
Collection<ExpandedNodeId> ignoredNodes,
boolean failOnFirstError)
Load an Information Model into the server.
|
void |
loadModel(UaNodeSet... nodesets)
Resolves and adds the given
UaNodeSets to the address space using
UaNodeSetLoadOptions.defaults() options. |
void |
loadModel(UaNodeSetLoadOptions options,
UaNodeSet... nodesets)
Resolves and adds the given
UaNodeSets to the address space using the given options. |
void |
loadModel(URI path)
Load an Information Model into the server.
|
void |
loadModel(URI path,
Collection<ExpandedNodeId> ignoredNodes,
boolean failOnFirstError)
Load an Information Model into the server.
|
protected void |
modifyMonitoredDataItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredDataItem item,
MonitoringParameters params,
MonitoringFilter filter,
AggregateFilterResult filterResult) |
protected void |
modifyMonitoredEventItem(ServiceContext serviceContext,
Subscription subscription,
MonitoredEventItem item,
EventFilter eventFilter,
EventFilterResult filterResult) |
protected void |
queryFirst(ServiceContext serviceContext,
QueryFirstRequest request,
QueryFirstResponse response) |
protected void |
queryNext(ServiceContext serviceContext,
QueryNextRequest request,
QueryNextResponse response) |
protected void |
readAttribute(ServiceContext serviceContext,
Object operationContext,
NodeId nodeId,
UnsignedInteger attributeId,
NumericRange indexRange,
TimestampsToReturn timestampsToReturn,
DateTime minTimestamp,
DataValue dataValue)
Read the value of a single node attribute.
|
protected NodeId |
registerNode(ServiceContext serviceContext,
NodeId nodeId) |
protected void |
releaseHistoryContinuationPoint(ServiceContext serviceContext,
NodeId nodeId,
ByteString continuationPoint) |
NodeManager |
removeNodeManager(int namespaceIndex)
Removes the NodeManager with the given NamespaceIndex.
|
NodeManager |
removeNodeManager(int namespaceIndex,
boolean removeNamespace)
Removes the NodeManager with the given NamespaceIndex.
|
void |
setListener(NodeManagerTableListener listener) |
void |
setNodeBuilderConfiguration(UaNodeBuilderConfiguration configuration)
Set new
NodeBuilder configuration. |
void |
setNodeManagementEnabled(boolean nodeManagementEnabled)
Enable node management operations in the server.
|
protected void |
start()
Start all node managers.
|
protected BrowsePathTarget[] |
translateBrowsePath(ServiceContext serviceContext,
NodeId startingNode,
RelativePath relativePath) |
BrowsePathTarget[] |
translateBrowsePathToNodeIds(NodeId startingNode,
RelativePath relativePath)
Request the NodeIds for the nodes that are references from the startingNode using paths.
|
protected void |
unregisterNode(ServiceContext serviceContext,
NodeId nodeId) |
protected boolean |
writeAttribute(ServiceContext serviceContext,
Object operationContext,
NodeId nodeId,
UnsignedInteger attributeId,
NumericRange indexRange,
DataValue value)
Write the value of a single node attribute.
|
public NodeManagerTable(UaServer server)
public void addNode(UaNode node)
NodeManagerUaNode.addNode(UaNode) of
the correct manager.addNode in interface UaAddressSpacenode - that is addedIllegalStateException - if the node cannot be added.public int addNodeManager(int namespaceIndex,
NodeManager nodeManager)
namespaceIndex - the desired namespaceIndex or -1 to use the next available. Indexes 0 and
1 are reserved for the standard OPCUA namespacesnodeManager - The node manager to add to the tablepublic void close()
NodeManagerTable and all NodeManager that have been added to it.public UaNode findNode(NodeId nodeId)
findNode in interface UaAddressSpacenodeId - of the (@link UaNode) that is searched forpublic UaDataType getDataType(NodeId dataTypeId) throws StatusException
getNode(NodeId) and casting the result to UaDataType.StatusExceptionpublic DataTypeConverter getDataTypeConverter()
UaAddressSpaceDataTypeConverter.getDataTypeConverter in interface UaAddressSpacepublic EncoderContext getEncoderContext()
UaAddressSpaceEncoderContext.getEncoderContext in interface UaAddressSpacepublic UaNode getExternalNode(NodeId nodeId) throws StatusException
StatusExceptionpublic ExternalNodeManager getExternalNodeManager()
public HistoryManager getHistoryManager(NodeId nodeId) throws StatusException
nodeId - StatusExceptionpublic InstanceDeclarationHierarchyCache getInstanceDeclarationHierarchyCache()
public IoManager getIoManager(NodeId nodeId) throws StatusException
nodeId - StatusExceptionpublic NodeManagerTableListener getListener()
public NamespaceTable getNamespaceTable()
UaAddressSpacegetNamespaceTable in interface UaAddressSpacepublic UaNode getNode(ExpandedNodeId nodeId) throws StatusException
UaAddressSpaceUaAddressSpace.getNode(NodeId) that accepts ExpandedNodeId.getNode in interface UaAddressSpaceStatusExceptionpublic <T extends UaNode> T getNode(ExpandedNodeId nodeId, Class<T> clazz) throws StatusException
UaAddressSpaceUaAddressSpace.getNode(ExpandedNodeId) that converts the results to given
class.getNode in interface UaAddressSpaceStatusExceptionpublic UaNode getNode(NodeId nodeId) throws StatusException
getNode in interface UaAddressSpacenodeId - the Node to look forServiceManagerBase.requireUaNode() but the NodeId is valid.StatusException - if the node is not foundpublic <T extends UaNode> T getNode(NodeId nodeId, Class<T> clazz) throws StatusException
getNode(NodeId) that casts the result to given classgetNode in interface UaAddressSpacenodeId - clazz - StatusException - if the node is not foundClassCastException - if cast failspublic UaNode getNode(UaNodeId nodeId) throws StatusException
UaAddressSpaceUaAddressSpace.getNode(NodeId) that accepts UaNodeId.getNode in interface UaAddressSpaceStatusExceptionpublic <T extends UaNode> T getNode(UaNodeId nodeId, Class<T> clazz) throws StatusException
UaAddressSpaceUaAddressSpace.getNode(UaNodeId) that converts the results to given class.getNode in interface UaAddressSpaceStatusExceptionpublic UaNodeBuilderConfiguration getNodeBuilderConfiguration()
UaNodeBuilderConfiguration that NodeManagerUaNode uses if it does not have
it's own configuration.NodeBuilderpublic NodeClass getNodeClass(ExpandedNodeId nodeId, UaNode node)
nodeId - The ID of the node.node - The UaNode object, if the node manager supports them, or nullpublic NodeClass getNodeClass(NodeId nodeId, UaNode node)
nodeId - The ID of the node.node - The UaNode object, if the node manager supports them, or nullpublic boolean getNodeManagementEnabled()
setNodeManagementEnabled(boolean)public NodeManager getNodeManager(ExpandedNodeId expandedNodeId) throws StatusException
expandedNodeId - the node id that defines the namespaceStatusException - if the re is no node manager for the namespacepublic NodeManager getNodeManager(int namespaceIndex) throws StatusException
namespaceIndex - the namespaceIndex of the nodemanager to look forStatusException - with StatusCodes.Bad_NodeIdUnknown if the nodeManager is not foundpublic NodeManager getNodeManager(NodeId nodeId) throws StatusException
nodeId - the node id that defines the namespaceStatusException - if there is no node manager for the namespacepublic NodeManager getNodeManager(String namespaceUri) throws StatusException
getNodeManager(getNamespaceTable().getIndex(namespaceUri))
namespaceUri - the URI of teh namespace to look forStatusException - if the nodeManager is not availablepublic NodeManagerRoot getNodeManagerRoot()
public UaNode getNodeOrExternal(NodeId nodeId) throws StatusException
StatusExceptionpublic UaNode getNodeOrExternalIfExist(NodeId nodeId) throws StatusException
StatusExceptionpublic FolderTypeNode getObjectsFolder()
UaAddressSpaceUaObjectIds.ObjectsFolder.getObjectsFolder in interface UaAddressSpacepublic FolderTypeNode getRoot()
UaAddressSpaceUaObjectIds.RootFolder.getRoot in interface UaAddressSpacepublic UaServer getServer()
public ServerTable getServerTable()
public UaType getType(NodeId typeId) throws StatusException
typeId - the NodeId of the typeStatusException - if the node is not foundpublic boolean hasNode(NodeId nodeId)
public boolean hasNodeManager(String uri)
uri - public void invalidatePreviousNodeCaches()
NodeManager.invalidatePreviousNodeCache() for all NodeManagers. Normally there is
no need to call this manually, but if you delete an UaNode outside of methods like
NodeManagerUaNode.deleteNode(NodeId, boolean, boolean), calling this will clean-up
internal caches, which might still hold references to the (deleted) nodes.public boolean isTypeOf(NodeId typeDefinitionId, UaType typeDefinition, NodeId expectedTypeId, UaType expectedType) throws StatusException
typeDefinitionId - typeDefinition - expectedTypeId - expectedType - StatusExceptionpublic void loadModel(InputStream inputStream) throws SAXException, IOException, ModelException
loadModel in interface UaAddressSpaceinputStream - The stream that contains the XML node set.ModelException - if there is a problem with the model and it cannot be fully created. The
exception is thrown with and errorList of all errors found in the stream.SAXException - if the required XMLReaded cannot be created.IOException - if the model file cannot be read.public void loadModel(InputStream inputStream, Collection<ExpandedNodeId> ignoredNodes, boolean failOnFirstError) throws SAXException, ModelException, IOException
inputStream - The stream that contains the XML node set.ModelException - if there is a problem with the model and it cannot be fully created. The
exception is thrown with and errorList of all errors found in the stream.SAXException - if the required XMLReaded cannot be created.IOException - if the model stream cannot be readpublic void loadModel(UaNodeSet... nodesets) throws UaException
UaNodeSets to the address space using
UaNodeSetLoadOptions.defaults() options. Throws if any of the given model(s) contained
errors (in UaNodeSet.getLog()).UaExceptionpublic void loadModel(UaNodeSetLoadOptions options, UaNodeSet... nodesets) throws UaException
UaNodeSets to the address space using the given options.
Throws depending on the given optionsUaExceptionpublic void loadModel(URI path) throws SAXException, IOException, ModelException
loadModel in interface UaAddressSpacepath - The path to the XML file. You can create an URI from a File name with
java.io.File#toUri()ModelException - if there is a problem with the model and it cannot be fully created. The
exception is thrown with and errorList of all errors found in the file.SAXException - if the required XMLReaded cannot be created.IOException - if the model file cannot be read.public void loadModel(URI path, Collection<ExpandedNodeId> ignoredNodes, boolean failOnFirstError) throws SAXException, IOException, ModelException
path - The path to the XML file. You can create an URI from a File name with
java.io.File#toUri()ignoredNodes - Nodes to leave out of import. Use this if you are creating the nodes
explicitly in the server and do not want them to be imported from the XML. The related
references will be imported though.failOnFirstError - make the model creation fail for the first error encountered. If false,
the model is parsed fully and possible errors are raised only at the end.ModelException - if there is a problem with the model and it cannot be fully created. The
exception is thrown for individual nodes only if #isFailOnFirstError() is true.
Otherwise, it will be filled with and errorList.SAXException - if the required XMLReaded cannot be created.IOException - if the model file cannot be read.public NodeManager removeNodeManager(int namespaceIndex)
namespaceIndex - the NamespaceIndex of the NodeManager to removepublic NodeManager removeNodeManager(int namespaceIndex, boolean removeNamespace)
namespaceIndex - the NamespaceIndex of the NodeManager to removeremoveNamespace - true when the Namespace corresponding to the NamespaceIndex should be
removed from the NamespaceTable, false otherwisepublic void setListener(NodeManagerTableListener listener)
public void setNodeBuilderConfiguration(UaNodeBuilderConfiguration configuration)
NodeBuilder configuration.configuration - the new configurationgetNodeBuilderConfiguration()public void setNodeManagementEnabled(boolean nodeManagementEnabled)
NodeManagerListener of
each.
It will also enable new node managers to be created on the fly as necessary, if clients
addNodes for a new namespace. You may modify this behaviour using the UaServerListener
of the server.
Default value: falsenodeManagementEnabled - the allowNewNodeManagers to setUaServer.setListener(UaServerListener)public BrowsePathTarget[] translateBrowsePathToNodeIds(NodeId startingNode, RelativePath relativePath) throws StatusException, ServiceException
translateBrowsePathToNodeIds in interface UaAddressSpacebrowsePaths - the browse paths, i.e. combinations of StartingNode & RelativePathUnsignedInteger.MAX_VALUE.ServiceException - if call failedStatusException - if call failedprotected NodeId addNode(ServiceContext serviceContext, AddNodesItem nodeToAdd) throws StatusException
StatusExceptionprotected NodeId addNode(ServiceContext serviceContext, NodeId nodeId, NodeId parentNodeId, QualifiedName browseName, NodeClass nodeClass, ExpandedNodeId typeDefinitionId, NodeAttributes attributes, NodeId referenceTypeId) throws StatusException
serviceContext - nodeId - parentNodeId - browseName - nodeClass - typeDefinitionId - attributes - referenceTypeId - StatusExceptionprotected void addReference(ServiceContext serviceContext, AddReferencesItem addReferencesItem) throws StatusException
StatusExceptionprotected void afterCreateMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item) throws StatusException
serviceContext - subscription - item - StatusExceptionprotected void afterCreateMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, MonitoredEventItem item) throws StatusException
serviceContext - subscription - item - StatusExceptionprotected void afterDeleteMonitoredItem(ServiceContext serviceContext, Subscription subscription, MonitoredItem item) throws StatusException
serviceContext - subscription - item - StatusExceptionprotected void afterModifyMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item) throws StatusException
serviceContext - subscription - item - StatusExceptionprotected void afterModifyMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, MonitoredEventItem item) throws StatusException
serviceContext - subscription - item - StatusExceptionprotected 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 view, int startIndex) throws ServiceException, StatusException
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 checkNodeManagementEnabled()
throws ServiceException
ServiceExceptionprotected ModelParser createModelParser()
ModelParser that is used for loadModel(...) methods, overriding this method can
be used to return a custom subtype of ModelParser.protected void createMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, NodeId nodeId, UnsignedInteger attributeId, NumericRange indexRange, MonitoringParameters params, MonitoringFilter filter, AggregateFilterResult filterResult, MonitoringMode monitoringMode) throws StatusException
serviceContext - subscription - nodeId - attributeId - indexRange - params - filterResult - filter - filterResult - monitoringMode - StatusException - if the mointoredItem is not acceptedprotected void createMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, NodeId nodeId, EventFilter eventFilter, EventFilterResult filterResult) throws StatusException
serviceContext - nodeId - eventFilter - filterResult - StatusException - if the node is not validprotected void createNewNodeManager(ServiceContext serviceContext, String namespaceUri) throws StatusException
serviceContext - namespaceUri - StatusExceptionprotected void deleteMonitoredItem(ServiceContext serviceContext, Subscription subscription, MonitoredItem monitoredItem) throws StatusException
serviceContext - subscription - monitoredItem - StatusExceptionprotected void deleteNode(ServiceContext serviceContext, ExpandedNodeId expandedNodeId, boolean deleteTargetReferences) throws StatusException
serviceContext - expandedNodeId - deleteTargetReferences - StatusExceptionprotected void deleteNode(ServiceContext serviceContext, NodeId nodeId, Boolean deleteTargetReferences) throws StatusException
serviceContext - nodeId - deleteTargetReferences - StatusExceptionprotected void deleteReference(ServiceContext serviceContext, NodeId sourceNodeId, ExpandedNodeId targetNodeId, NodeId referenceTypeId, Boolean isForward, Boolean deleteBidirectional) throws StatusException
serviceContext - sourceNodeId - targetNodeId - referenceTypeId - isForward - deleteBidirectional - StatusExceptionprotected HistoryResult historyRead(ServiceContext serviceContext, Object operationContext, TimestampsToReturn timestampsToReturn, NodeId nodeId, NumericRange indexRange, HistoryContinuationPoint continuationPoint, HistoryReadDetails details, int aggregateIndex) throws StatusException
serviceContext - timestampsToReturn - nodeId - indexRange - continuationPoint - details - aggregateIndex - operationContext - StatusExceptionprotected void historyUpdate(ServiceContext serviceContext, Object operationContext, HistoryUpdateDetails details, HistoryUpdateResult historyUpdateResult) throws StatusException
serviceContext - operationContext - details - historyUpdateResult - StatusExceptionprotected void init()
throws StatusException,
UaNodeFactoryException
protected void initializeMonitoredDataItem(ServiceContext serviceContext, MonitoredDataItem monitoredItem, DataValue dataValue) throws StatusException
StatusExceptionprotected void modifyMonitoredDataItem(ServiceContext serviceContext, Subscription subscription, MonitoredDataItem item, MonitoringParameters params, MonitoringFilter filter, AggregateFilterResult filterResult) throws StatusException
serviceContext - subscription - item - params - filter - filterResult - StatusExceptionprotected void modifyMonitoredEventItem(ServiceContext serviceContext, Subscription subscription, MonitoredEventItem item, EventFilter eventFilter, EventFilterResult filterResult) throws StatusException
serviceContext - subscription - item - eventFilter - filterResult - StatusExceptionprotected void queryFirst(ServiceContext serviceContext, QueryFirstRequest request, QueryFirstResponse response) throws ServiceException
serviceContext - request - response - StatusExceptionServiceExceptionprotected void queryNext(ServiceContext serviceContext, QueryNextRequest request, QueryNextResponse response) throws ServiceException
serviceContext - request - response - StatusExceptionServiceExceptionprotected void readAttribute(ServiceContext serviceContext, Object operationContext, NodeId nodeId, UnsignedInteger attributeId, NumericRange indexRange, TimestampsToReturn timestampsToReturn, DateTime minTimestamp, DataValue dataValue) throws StatusException
serviceContext - The serviceContext of the client connection used to call this service.operationContext - the possible operationContext prepared in #beginReadnodeId - The node to read.attributeId - The attribute to read.indexRange - The requested index range for an array value. May be null.timestampsToReturn - Which timestamps were requested by the client.minTimestamp - Minimum value of the ServerTimestamp of the value to be read. If there is
no value available that is new enough already available (in the server cache), the
server should attempt to read a new value from the actual data source, instead of using
the cached value. If a new value cannot be read, the best value available is returned.
If minTimestamp == DateTime.MAX_VALUE a new value should be read from the source.dataValue - The data value to return. Set Value, and for Value attribute also StatusCode
and the Timestamps.StatusException - If the read fails. Expected result codes: Bad_NodeIdInvalid,
Bad_NodeIdUnknown, Bad_AttributeIdInvalid, Bad_IndexRangeInvalid, Bad_IndexRangeNoData,
Bad_DataEncodingInvalid, Bad_DataEncodingUnsupported, Bad_NotReadable,
Bad_UserAccessDeniedprotected NodeId registerNode(ServiceContext serviceContext, NodeId nodeId) throws StatusException
serviceContext - nodeId - StatusExceptionprotected void releaseHistoryContinuationPoint(ServiceContext serviceContext, NodeId nodeId, ByteString continuationPoint) throws StatusException
serviceContext - nodeId - continuationPoint - StatusExceptionprotected void start()
throws StatusException,
UaNodeFactoryException
protected BrowsePathTarget[] translateBrowsePath(ServiceContext serviceContext, NodeId startingNode, RelativePath relativePath) throws StatusException, ServiceException
StatusExceptionServiceExceptionprotected void unregisterNode(ServiceContext serviceContext, NodeId nodeId) throws StatusException
serviceContext - nodeId - StatusExceptionprotected boolean writeAttribute(ServiceContext serviceContext, Object operationContext, NodeId nodeId, UnsignedInteger attributeId, NumericRange indexRange, DataValue value) throws StatusException
serviceContext - The serviceContext of the client connection used to call this service.operationContext - The possible operationContext prepared in #beginWrite.nodeId - The node to write.attributeId - The attribute to write.indexRange - The index range to set for an array value. May be null.value - The data value to write.StatusException - If the write fails. Expected result codes: Bad_NodeIdInvalid,
Bad_NodeIdUnknown, Bad_AttributeIdInvalid, Bad_IndexRangeInvalid, Bad_IndexRangeNoData,
Bad_DataEncodingInvalid, Bad_DataEncodingUnsupported, Bad_NotWriteable,
Bad_UserAccessDenied, Bad_OutOfRange, Bad_TypeMismatch, Bad_WriteNotSupportedCopyright © 2026. All rights reserved.