Click or drag to resize

ObjectType Node Class

Home

The ObjectType nodes class provide definitions for objects.

This topic contains the following sections:

The ObjectType node class inherits the base attributes from the Basenode class defined in Base. The additional IsAbstract attribute indicates if the ObjectType node is abstract or not.

The ObjectType node class uses the HasComponent references to define the DataVariable, Object, and Method nodes for it.

The HasProperty reference is used to identify the properties. The property NodeVersion is used to indicate the version of the ObjectType node. The property Icon provides an icon of the ObjectType node. There are no additional properties defined for ObjectTypes node class.

HasSubtype references are used to subtype the ObjectType node class. ObjectType subtypes inherit the general semantics from the parent type. It is not required to provide the HasSubtype reference for the supertype, but it is required that the subtype provides the inverse reference to its supertype.

GeneratesEvent references identify the type of events that instances of the ObjectType may generate. These objects may be the source of an event of the specified type or one of its subtypes. Servers should make GeneratesEvent references bidirectional references. However, it is allowed to be unidirectional when the server is not able to expose the inverse direction pointing from the event type node to each OoObjectType supporting the event type.

Note Note

The EventNotifier attribute of an object and the GeneratesEvent references of its ObjectType node are completely unrelated. Objects that can generate events might not be used as objects to which clients subscribe to get the corresponding Event notifications.

GeneratesEvent references are optional, i.e. objects may generate events of an event type that is not exposed by its ObjectType.

Object types may use any additional references to define relationships to other nodes. No restrictions are placed on the types of references used or on the node classes of the nodes that may be referenced. However, restrictions may be defined by the reference type excluding its use for object types. Standard reference types are described in the section Standard Reference Types.

All nodes referenced with hierarchical references shall have unique browse names in the context of an ObjectType (see Type Definition).

Standard FolderType

The FolderType derived from the ObjectType is described in section Information Model. Its purpose is to provide objects that have no other semantic than organizing of the Address Space. A special ReferenceType is introduced for those Folder nodes, the Organizes reference type. The source node of such a reference should always be an object of the ObjectType FolderType; the target node can be of any node class. Organizes references can be used in any combination with Aggregates references (HasComponent, HasProperty, etc.; see Standard Reference Types ) and do not prevent loops. Thus, they can be used to span multiple hierarchies.

Client-side creation of objects of an ObjectType

Objects are always based on an ObjectType, i.e. they have a HasTypeDefinition reference pointing to its ObjectType.

Clients can create objects using the AddNodes service described in section Services. The service requires specifying the type definition node of the object. An object created by the AddNodes service contains all components defined by its ObjectType dependent on the ModellingRules specified for the components. However, the server may add additional components and references to the object and its components that are not defined by the ObjectType. This behaviour is server dependent. The ObjectType only specifies the minimum set of components that shall exist for each object of an ObjectType.

In addition to the AddNodes service ObjectType nodes class may have a special method with the BrowseNameCreate. This method is used to create an object of this ObjectType. This method may be useful for the creation of objects where the semantic of the creation should differ from the default behaviour expected in the context of the AddNodes service. For example, the values should directly differ from the default values or additional objects should be added, etc. The input and output arguments of this method depend on the ObjectType; the only commonality is the BrowseName identifying that this method will create an object based on the ObjectType. Servers should not provide a Method on an ObjectType with the BrowseNameCreate for any other purpose than creating objects of the ObjectType.

See Also