public abstract class AbstractUaNodeFactory extends Object implements UaNodeFactory
UaNodeFactory implementations, mostly to be used internally. The current main
purpose is internal to inject UaType#setJavaClass(Class) mappings when the UaType
nodes are created.| Modifier | Constructor and Description |
|---|---|
protected |
AbstractUaNodeFactory(UaAddressSpace context)
Creates a new
AbstractUaNodeFactory that will use the given context and context class. |
| Modifier and Type | Method and Description |
|---|---|
protected UaNode |
createInstance(Function<UaNode.Parameters,? extends UaNode> constructor,
NodeId nodeId,
QualifiedName browseName,
LocalizedText displayName,
ExpandedNodeId typeDefinition)
Constructs the node using the given Constructor and sets given TypeDefinition or known java
class mapping, if applicable.
|
UaNode |
createNode(NodeClass nodeClass,
NodeId nodeId,
QualifiedName browseName,
LocalizedText displayName)
Create a new Node object based on the nodeClass (or typeDefinition).
|
UaNode |
createNode(NodeClass nodeClass,
NodeId nodeId,
QualifiedName browseName,
LocalizedText displayName,
ExpandedNodeId typeDefinition)
Create a new Node object based on the nodeClass (or typeDefinition).
|
UaNode |
createNode(NodeClass nodeClass,
NodeId nodeId,
QualifiedName browseName,
LocalizedText displayName,
NodeId typeDefinition)
Create a new Node object based on the nodeClass (or typeDefinition).
|
UaNode |
createNode(NodeClass nodeClass,
NodeId nodeId,
String name,
Locale locale)
Create a new Node object based on the nodeClass (or typeDefinition).
|
UaNode |
createNode(NodeClass nodeClass,
NodeId nodeId,
String name,
Locale locale,
ExpandedNodeId typeDefinitionId)
Create a new Node object based on the nodeClass (or typeDefinition).
|
UaNode |
createNode(NodeClass nodeClass,
NodeId nodeId,
String name,
Locale locale,
NodeId typeDefinitionId)
Create a new Node object based on the nodeClass (or typeDefinition).
|
protected Function<UaNode.Parameters,? extends UaNode> |
getConstructor(NodeClass nodeClass,
UaNodeId typeId)
Tries to find a suitable constructor based on the given NodeClass or TypeDefinition.
|
protected abstract NamespaceTable |
getNamespaceTable() |
protected abstract RegisteredClasses |
getRegisteredClasses() |
protected abstract UaNodeId |
getSuperType(UaNodeId typeId)
Return super type of the given type, or null if none.
|
<T extends UaNode> |
registerNodeClass(NodeClass nodeClass,
Function<UaNode.Parameters,T> constructor) |
<T extends UaNode> |
registerTypeDefinition(UaNodeId typeDefinition,
Function<UaNode.Parameters,T> constructor) |
protected AbstractUaNodeFactory(UaAddressSpace context)
AbstractUaNodeFactory that will use the given context and context class.
The context is equal to the first constructor parameter of the UaNode implementations
this factory will make. In practice this is either client or server side UaAddressSpace
implementation.public UaNode createNode(NodeClass nodeClass, NodeId nodeId, QualifiedName browseName, LocalizedText displayName) throws UaNodeFactoryException
UaNodeFactoryThe method creates a new UaNode object. The class of the Node is selected depending on the nodeClass - or if typeDefinition is provided, also on that.
You can register new Node classes per nodeClass or typeDefinition using
UaNodeFactory.registerNodeClass(com.prosysopc.ua.stack.core.NodeClass, java.util.function.Function<com.prosysopc.ua.nodes.UaNode.Parameters, T>).
createNode in interface UaNodeFactorynodeClass - The UA NodeClassnodeId - The ID of the new node.browseName - The BrowseName of the new node.displayName - The DisplayName of the new node.UaNodeFactoryException - if the class cannot be created.public UaNode createNode(NodeClass nodeClass, NodeId nodeId, QualifiedName browseName, LocalizedText displayName, ExpandedNodeId typeDefinition) throws UaNodeFactoryException
UaNodeFactoryThe method creates a new UaNode object. The class of the Node is selected depending on the nodeClass - or if typeDefinition is provided, also on that.
You can register new Node classes per nodeClass or typeDefinition using
UaNodeFactory.registerNodeClass(com.prosysopc.ua.stack.core.NodeClass, java.util.function.Function<com.prosysopc.ua.nodes.UaNode.Parameters, T>).
createNode in interface UaNodeFactorynodeClass - The UA NodeClassnodeId - The ID of the new node.browseName - The BrowseName of the new node.displayName - The DisplayName of the new node.typeDefinition - Optional type definition to use for the class selection.UaNodeFactoryException - if the class cannot be created.public UaNode createNode(NodeClass nodeClass, NodeId nodeId, QualifiedName browseName, LocalizedText displayName, NodeId typeDefinition) throws UaNodeFactoryException
UaNodeFactoryThe method creates a new UaNode object. The class of the Node is selected depending on the nodeClass - or if typeDefinition is provided, also on that.
You can register new Node classes per nodeClass or typeDefinition using
UaNodeFactory.registerNodeClass(com.prosysopc.ua.stack.core.NodeClass, java.util.function.Function<com.prosysopc.ua.nodes.UaNode.Parameters, T>).
createNode in interface UaNodeFactorynodeClass - The UA NodeClassnodeId - The ID of the new node.browseName - The BrowseName of the new node.displayName - The DisplayName of the new node.typeDefinition - Optional type definition to use for the class selection.UaNodeFactoryException - if the class cannot be created.public UaNode createNode(NodeClass nodeClass, NodeId nodeId, String name, Locale locale) throws UaNodeFactoryException
UaNodeFactoryThe method creates a new UaNode object. The class of the Node is selected depending on the nodeClass - or if typeDefinition is provided, also on that.
You can register new Node classes per nodeClass or typeDefinition using
UaNodeFactory.registerNodeClass(com.prosysopc.ua.stack.core.NodeClass, java.util.function.Function<com.prosysopc.ua.nodes.UaNode.Parameters, T>).
createNode in interface UaNodeFactorynodeClass - The UA NodeClassnodeId - The ID of the new node.name - The name of the new node. The BrowseName and DisplayName are initialized to this.locale - The locale to use for the DisplayName.UaNodeFactoryException - if the class cannot be created.public UaNode createNode(NodeClass nodeClass, NodeId nodeId, String name, Locale locale, ExpandedNodeId typeDefinitionId) throws UaNodeFactoryException
UaNodeFactoryThe method creates a new UaNode object. The class of the Node is selected depending on the nodeClass - or if typeDefinition is provided, also on that.
You can register new Node classes per nodeClass or typeDefinition using
UaNodeFactory.registerNodeClass(com.prosysopc.ua.stack.core.NodeClass, java.util.function.Function<com.prosysopc.ua.nodes.UaNode.Parameters, T>).
createNode in interface UaNodeFactorynodeClass - The UA NodeClassnodeId - The ID of the new node.name - The name of the new node. The BrowseName and DisplayName are initialized to this.locale - The locale to use for the DisplayName.typeDefinitionId - The type definition of the node to create. If there is a specific class
registered with the type, a node object of that type is created.UaNodeFactoryException - if the class cannot be created.public UaNode createNode(NodeClass nodeClass, NodeId nodeId, String name, Locale locale, NodeId typeDefinitionId) throws UaNodeFactoryException
UaNodeFactorycreateNode in interface UaNodeFactoryUaNodeFactoryExceptionUaNodeFactory.createNode(NodeClass, NodeId, QualifiedName, LocalizedText, ExpandedNodeId)public <T extends UaNode> void registerNodeClass(NodeClass nodeClass, Function<UaNode.Parameters,T> constructor) throws UaNodeFactoryException
registerNodeClass in interface UaNodeFactoryUaNodeFactoryExceptionpublic <T extends UaNode> void registerTypeDefinition(UaNodeId typeDefinition, Function<UaNode.Parameters,T> constructor) throws UaNodeFactoryException
registerTypeDefinition in interface UaNodeFactoryUaNodeFactoryExceptionprotected UaNode createInstance(Function<UaNode.Parameters,? extends UaNode> constructor, NodeId nodeId, QualifiedName browseName, LocalizedText displayName, ExpandedNodeId typeDefinition) throws UaNodeFactoryException
UaNodeFactoryExceptionprotected Function<UaNode.Parameters,? extends UaNode> getConstructor(NodeClass nodeClass, UaNodeId typeId)
protected abstract NamespaceTable getNamespaceTable()
protected abstract RegisteredClasses getRegisteredClasses()
Copyright © 2026. All rights reserved.