Skip to content
This repository has been archived by the owner on Jun 22, 2019. It is now read-only.

T_CAEX_ClassModel_SystemUnitClassType

AutomationML edited this page Feb 23, 2017 · 2 revisions

SystemUnitClassType Class

Class SystemUnitClassType.

User extensions to the automatic generated class SystemUnitClassType

Inheritance Hierarchy

System.Object
  TypeBase
    CAEX_ClassModel.CAEXBasicObject
      CAEX_ClassModel.CAEXObject
        CAEX_ClassModel.SystemUnitClassType
          CAEX_ClassModel.InternalElementType
          CAEX_ClassModel.SystemUnitFamilyType
Namespace: CAEX_ClassModel
Assembly: AMLEngine (in AMLEngine.dll) Version: 3.5

Syntax

C#

public class SystemUnitClassType : CAEXObject, 
	IObjectWithAttributes, IObjectWithExternalInterface

C++

public ref class SystemUnitClassType : public CAEXObject, 
	IObjectWithAttributes, IObjectWithExternalInterface

The SystemUnitClassType type exposes the following members.

Constructors

 

Name Description
Public method SystemUnitClassType Initializes a new instance of the SystemUnitClassType class.
  Back to Top

Properties

 

Name Description
Public property Copyright Get the CopyrightType of this header object. (Inherited from CAEXBasicObject.)
Public property Description Get the description of this object. The returned object is null when no description element is found! (Inherited from CAEXBasicObject.)
Public property FrameAttribute Get and set the Frame attribute
Public property RefURIAttribute Gets and sets the GeometryReference defined for this object.
Public propertyStatic member StaticInfo Gets the static information.
Public property Version Get the VersionType of this header object. (Inherited from CAEXBasicObject.)
  Back to Top

Methods

 

Name Description
Public method Ancestors Returns all SystemUnit Classes which are ancestors of this. This SystemUnit Class is included in the enumeration as the first Element, The farthest is the last Element in the enumeration.
Public method Append_InternalElement Inserts the internal element after the defined Predecessor. If the Predecessor is null, the InternalElement is inserted at the first position of any other InternalElements
Public method AssignNewGUIDsAndRedirectExistingInternalLinks **Obsolete. ** Assigns the new GUIds and redirect existing internal links.
Public method AssignNewGUIDsAndRedirectExistingInternalLinksAndMirrorObjects This Method assigns new GUIds to the SystemUnitClass and its subordinate Children, which have an ID. The References to the old IDs in Mirrors and InternalLinks are redirected to the new ID. If a Reference is not found in any of the subordinate Elements, the Reference will not be changed. This Method shall be called, if a Copy of the SystemUnitClass is done or the SystemUnitClass is Copied for Instantiation. When the Class is instantiated, other subordinate Child-SystemUnitClasses should be omitted from the Redirection. This is the default behavior, indicated with the Parameter 'includeSystemUnitClasses'.
Public method Attributes Enumeration Method for direct Children of Type AttributeType
Public method CAEXPath Get the path to this in the object tree. For all objects, it returns the XML full Node Path except for Interface instances, then it returns GUID:InterfaceName. (Inherited from CAEXBasicObject.)
Public method Children(Type) Gets all Children of this instance which are of the specified childrenType. This returns only the direct Children. (Inherited from CAEXBasicObject.)
Public method Children(Type, Func(XmlNode, CAEXBasicObject)) Gets all Children of this instance which are of the specified childrenType. This returns only the direct Children. (Inherited from CAEXBasicObject.)
Public method Children(T)() Gets all Children of this instance which are of Type T. This returns only the direct Children. (Inherited from CAEXBasicObject.)
Public method Children(T)(Func(XmlNode, T)) Gets all Children of this instance which are of Type T. This returns only the direct Children. (Inherited from CAEXBasicObject.)
Public method clone Create a clone of this object via reflection. The underlying XMLNode is normally cloned and a new instance of this class is created via Activator.CreateInstance with the cloned xml node. If an object of type InternalElement should be cloned, the method create_unique copy is called instead of using reflection to automatically get new GUIDs assigned. (Inherited from CAEXBasicObject.)
Public method CloneNode(Boolean) Clones the node. (Inherited from CAEXBasicObject.)
Public method CloneNode(Boolean, Boolean) Clones the node. (Inherited from CAEXBasicObject.)
Public method ConsistencyCheck_ClassReference Check if the given classPath is a valid path to an existent class in the AML file. (Inherited from CAEXBasicObject.)
Public method Descendants(Type) Gets all Descendants of this instance which are of the specified descendantType. This returns all subordinate Children and their Descendants. (Inherited from CAEXBasicObject.)
Public method Descendants(Type, Func(XmlNode, CAEXBasicObject)) Gets all Descendants of this instance which are of the specified descendantType. This returns all subordinate Children and their Descendants. (Inherited from CAEXBasicObject.)
Public method Descendants(T)() Gets all Descendants of this instance which are of Type T. This returns all subordinate Children and their Descendants. (Inherited from CAEXBasicObject.)
Public methodCode example Descendants(T)(Func(XmlNode, T)) Gets all Descendants of this instance which are of Type T. This returns all subordinate Children and their Descendants. (Inherited from CAEXBasicObject.)
Public method Equals Determines, if the specified Object and the current Object are equal. (Inherited from CAEXBasicObject.)
Public method ExternalInterfaces Enumeration Method for direct Children of Type InterfaceClassType
Public method findExternalInterface Searches for an ExternalInterface in this InternalElement
Public method findInternalElement Resolve a reference to an InternalElement and return the referenced element if found. Use FindFastByID for speed optimizations. (Inherited from CAEXBasicObject.)
Public method FirstAncestor(T) Gets the first ancestor of the specified type for this CaexObject (Inherited from CAEXBasicObject.)
Public method GetAttribute Gets the attribute with the specified name.
Public method getAttributeField Get the whole attribute field containing a collection of all attributes of this object.
Public method GetDerivedAttributes Obtain a list of attributes that are derived from base classes. The List will also contain the elements own attributes.
Public method GetDerivedInterfaces Gets the derived interfaces, which include the
Public method GetExternalInterfaces Gets the external interfaces.
Public method getFullNodePath Getting the full path from document root to the specified XmlNode. As name of an XmlNode is the value of the contained attribute "name" taken. Hierarchies are separated via the path separator (slash '/'). The name of the document root element CAEXFile is not contained in the path. (Inherited from CAEXBasicObject.)
Public method GetHashCode Returns a hash code for this instance. (Inherited from CAEXBasicObject.)
Public method getLastAttributeNode **Obsolete. ** Gets the last attribute node. (Inherited from CAEXBasicObject.)
Public method getLastHeaderNode This methods returns the last XmlNode of this CAEX basic object according to the element order given by the CAEX schema. In this context "last" describes the element that is at the end of this header elements. (Inherited from CAEXBasicObject.)
Public method getLinkedObjects Getting a List of LinkedObjects object of this SystemUnitClass containing references to the concrete referenced InternalElements via an InternalLink.
Public method GetParent This method returns the parent CAEXBasicObject of the current CAEXBasicObject. (Inherited from CAEXBasicObject.)
Public method getReferencedClass Getting the XmlNode for a class path. Use FindFastByPath for speed optimizations. (Inherited from CAEXBasicObject.)
Public method getReferencedGUID Parsing a string of form GUID:Interface and returning the GUID (Inherited from CAEXBasicObject.)
Public method getReferencedInterfaceClass Getting a referenced InterfaceClass. Use FindFastByPath for speed optimizations. (Inherited from CAEXBasicObject.)
Public method getReferencedInterfaceName Getting the name of the referenced Interface. Use FindFastByPath for speed optimizations. (Inherited from CAEXBasicObject.)
Public method getReferencedRoleClass Getting a referenced RoleClass. Use FindFastByPath for speed optimizations. (Inherited from CAEXBasicObject.)
Public method getReferencedSystemUnitClass Getting a referenced SystemUnitClass. Use FindFastByPath for speed optimizations. (Inherited from CAEXBasicObject.)
Public method GetReferenceHierarchy(T) Getting the reference hierarchy. hierarchy is build up as a queue. the most specialized class is first one in queue (Inherited from CAEXBasicObject.)
Public method Insert_Attribute Inserting an attribute element to this class
Public method Insert_ExternalInterface Inserting an ExternalInterface to this class. The Element is inserted at the first Element of any existing ExternalInterfaces if nothing else is explicit defined
Public method Insert_InternalElement Adding an InternalElement to this object. Remark: When inserting the same object at different positions, it is only inserted at the last desired position. If you want to insert the same element more than once, you have to create a clone copy of the object.
Public method Insert_InternalLink Inserts the specified InternalLink as the first InternalLink if nothing else if explicit defined.
Public method Insert_NewInstance Inserting a new class instance to this object. This method can be overridden in derived classes. The Instance is inserted as the first instance of any other element with the same type if nothing else is explicit defined.
Public method Insert_SupportedRoleClass Inserts the SupportedRoleClass as the first SupportedRoleClass if nothing else if explicit defined.
Public method Insert_TypeBaseElement Generic method to insert an element of type TypeBase in this object. This method could be declared as abstract, but then all inherited classes have to implement this method but not all inherited classes use this method. (Inherited from CAEXBasicObject.)
Public method InternalElementChildren Enumeration Method for direct Children of Type InternalElementType
Public method LinkedObjects Getting an Enumerable of LinkedObjects object of this SystemUnitClass containing references to the concrete referenced InternalElements via an InternalLink.
Public method New_AdditionalInformation Adding a new AdditionalInformation node to this basic object. It is allowed to insert more than one AdditionalInformation node (Inherited from CAEXBasicObject.)
Public method New_Attribute A new attribute is added to this object
Public method New_Copyright Adding an new Copyright node to this object. If a Copyright node is already existent when calling this method an exception is thrown. (Inherited from CAEXBasicObject.)
Public method New_Description Creating a new description element. An exception is thrown when a description element is already present. (Inherited from CAEXBasicObject.)
Public method New_ExternalInterface Adding a new ExternalInterface instance to this object. The New External Interface is inserted as the first ExternalInterface of any existing Interfaces if nothing else is explicit defined.
Public method New_FrameAttribute Creates a new frame attribute for this object. Position information is internally stored in more than one CAEX attribute.
Public method New_InternalElement Adding a new InternalElement to this object. If not explicit defined, the InternalElement is added as first InternalElement.
Public method New_InternalLink Inserts a new InternalLink as the first InternalLink if nothing else if explicit defined.
Public method New_Revision Creating a new revision element. According to CAEX schema each revision element must contain at least the two sub elements "RevisionDate" and "AuthorName". They are created with this revision object. The sibling order according to the CAEX Schema is preserved in that way, that revision nodes are always inserted nodes of type VersionType (Inherited from CAEXBasicObject.)
Public method New_SupportedRoleClass Inserts a new SupportedRoleClass as the first SupportedRoleClass if nothing else if explicit defined.
Public method New_Version Creating a new version element. An exception is thrown when a version element is already present. The sibling order according to the CAEX Schema is preserved in that way, that version nodes are always inserted after nodes of type DescriptionType (Inherited from CAEXBasicObject.)
Public method RemoveHeader Removing all header elements from this basic object (Inherited from CAEXBasicObject.)
Public method SetDescription This method sets a description. If no description exists, it is created. (Inherited from CAEXObject.)
Public method ToString Returning the name attribute of this element as string representation of the object (Inherited from CAEXObject.)
  Back to Top

Fields

 

Name Description
Public field AdditionalInformation The additional information (Inherited from CAEXBasicObject.)
Public field Attribute The attribute
Public field ChangeMode The change mode (Inherited from CAEXBasicObject.)
Public field ExternalInterface The external interface
Public field ID The identifier (Inherited from CAEXObject.)
Public field InternalElement The internal element
Public field InternalLink The internal link
Public field Name The name (Inherited from CAEXObject.)
Public field Revision The revision (Inherited from CAEXBasicObject.)
Public field SupportedRoleClass The supported role class
  Back to Top

Extension Methods

 

Name Description
Public Extension Method AddDocumentElement Adds a document element to the defined internalElement. A Document Element is semanticaly described with an attached role defined withe the base role class ExternalDataRoleClassPath or a derived role class. If no roleclass path is given as a parameter the default is used. If the specified role class path can not be identified as a dreived role from the ExternalDataRoleClassPath no document element is added (returns null). (Defined by ExternalDataReference.)
Public Extension Method AddNewInternalElement Creates a new InternalElement and inserts it after the last InternalElement of the parent if the elementName is unique among the childs. The ChangeMode is set to the Value 'Create' (Defined by BasicExtensions.)
Public Extension Method All Returns a flat list of all attributes of an object, nested attributes inclusive. (Defined by BasicExtensions.)
Public Extension Method AttributesEquals Compare all Attributes of two Objects with Attributes (Defined by CaexObjectComparer.)
Public Extension Method CaexEquals Compare the CAEXPath of two CaexBasicObjects. (Defined by CaexObjectComparer.)
Public Extension Method Clone_Save(T) Clones a CAEX Object. (Defined by BasicExtensions.)
Public Extension Method CopyAttributesFrom copies all attribute including nested attributes of a given SystemUnitClass to the calling SystemUnitClass to another object (Defined by ExternalizationExtensions.)
Public Extension Method CopyToClipboard Copies the XML node's outer xml text to the clipboard. The Data format string is set to "CAEX". (Defined by AutomationMLClipboard.)
Public Extension Method CreateListAttribute Creates a new list attribute for an element which can have attributes. (Defined by ListAttribute.)
Public Extension Method DocumentElements Gets all Internal Element Children from the specified internal element which are document elements. (Defined by ExternalDataReference.)
Public Extension Method FindAttributeWithPath Tries to find an attribute among the attributes of the specified objectWithAttributes which is uniquely identified with the specified attribute path. The attribute path should be a concatenation of names of nested attributes - don't use the full node path to locate an attribute with this method AttributePath. (Defined by FacetType.)
Public Extension Method FindByID(String) Overloaded.
Searches an object starting from the given CAEXBasicObject that has the given ID, the expected type must be casted in the source code. This search bases on XPath and is slow. (Defined by NavigationExtensions.)
Public Extension Method FindByID(T)(String) Overloaded.
Searches an object starting from the given CAEXBasicObject that has the given ID, the expected type must be given in angle brackets. (Defined by NavigationExtensions.)
Public Extension Method FindByXPath(String) Overloaded.
Searches a CAEXBasicObject from the given xPath, you must cast the returned CAEXBasicObject into the type you expect. The search bases on XPath and is slow. For speed optimization, use FindFastByPath instead. If your CAEX file has changed, update the hash tables before using this function using updateCAEXObjectHashLists before. (Defined by NavigationExtensions.)
Public Extension Method FindByXPath(T)(String) Overloaded.
Searches a CAEXBasicObject from the given xPath, the type must be given in angle brackets. The search bases on XPath and is slow. For speed optimization, use FindFastByPath instead. If your CAEX file has changed, update the hash tables before using this function using updateCAEXObjectHashLists before. (Defined by NavigationExtensions.)
Public Extension Method FindFastByPath Performs a document wide fast search and returns a CAEXObject given by its ID. It is fast due to hash table support. If your CAEX file has changed, update the hash tables before using this function using updateCAEXObjectHashLists before. (Defined by NavigationExtensions.)
Public Extension Method ForEachExternalInterface perform an action on each External Interface in the systemunitClass (Defined by ActionExtensions.)
Public Extension Method ForEachInternalElement perform an action on each InternalElement Child in the systemunitClass (Defined by ActionExtensions.)
Public Extension Method ForEachSupportedRoleClass perform an action on each supported RoleClass in the systemUnitClass (Defined by ActionExtensions.)
Public Extension Method GetAllInternalElementIDs Returns a list of all internal element IDs from all child internal elements (recursive) (Defined by ExternalizationExtensions.)
Public Extension Method GetAllInternalElements Returns an Enumerable of all internal elements below a given system Unit Class element (recursive) (Defined by ExternalizationExtensions.)
Public Extension Method GetAllInternalElementsDeep Gets all Internal Elements of a SystemUnitClass and its SubElements (Defined by MappingExtension.)
Public Extension Method GetAllInternalLinks Get all internal links from an internal element and all child internal elements (recursive) (Defined by ExternalizationExtensions.)
Public Extension Method GetAllLibraryClasses Get all library classes withing a given Library object or CAEX-Class Object (Defined by NavigationExtensions.)
Public Extension Method GetAllParentInternalElements Gets all parents in correct order from root parent element to obj excluding the element itself. (Defined by NavigationExtensions.)
Public Extension Method GetAllPropertySetElementsDeep Get all InternalElements of the SystemUnitClass, which are PropertySets, regardless of there nesting level (Defined by MappingExtension.)
Public Extension Method GetAncestors(T) Gets all Ancestors in the Hierarchy of the specified Caex-Object, which are of Type T (Defined by NavigationExtensions.)
Public Extension Method GetAttribute(String) Overloaded.
Finds an attribute with a given name. (Defined by BasicExtensions.)
Public Extension Method GetAttribute(String) Overloaded.
Gets the attribute with the specified name. (Defined by ObjectWithAttributes.)
Public Extension Method GetAttributeValue Returns an attribute value of a given attribute name. (Defined by BasicExtensions.)
Public Extension Method GetChangeMode Returns the change mode out of the given CAEXBasicObject. (Defined by BasicExtensions.)
Public Extension Method GetClassLibrary(T) Enables every CAEXBasicObject, to get its class Library. You must specify the type of the ClassLibrary-Type that you expect. (Defined by NavigationExtensions.)
Public Extension Method GetInternalElementsAndExternalInterfaces Get all internal elements and interfaces of the given CAEXObject as flat list (Defined by NavigationExtensions.)
Public Extension Method GetLibraryOfCaexObject Gets the library of any caex object. (Defined by NavigationExtensions.)
Public Extension Method GetMetaObjectInformation() Overloaded.
this methods returns the meta information out of an existing AutomationML file for an AutomationML Object (Defined by BasicExtensions.)
Public Extension Method GetMetaObjectInformation(String) Overloaded.
this methods returns the meta information out of an existing AutomationML file for an AutomationML Object and a specific Writer-ID (Defined by BasicExtensions.)
Public Extension Method GetOwnAndDerivedAttributes Get all Attributes of the CAEXObjects, including all own and derived attributes (Defined by MappingExtension.)
Public Extension Method GetParent() Overloaded.
Enables every CAEXBasicObject to get its parent object as a CAEX_ClassModel class. You must cast the result in your own code. (Defined by BasicExtensions.)
Public Extension Method GetParent(T)() Overloaded.
Enables every CAEXBasicObject to get its parent object as a CAEX_ClassModel class. You must specify the type of the CAEX_ClassModel type that you exspect. (Defined by NavigationExtensions.)
Public Extension Method GetParentNodeName Returns the AML node name of the parent (Defined by NavigationExtensions.)
Public Extension Method GetRefBaseClassPath Get the ClassPath of a SystemUnitClassType (Inheritance Relation) (Defined by BasicExtensions.)
Public Extension Method HasColladaInterface Determines whether the specified systemUnitClass has a collada interface. (Defined by BasicExtensions.)
Public Extension Method HasPLCOpenInterface Determines whether the specified systemUnitClass has a PLCOpen interface. (Defined by BasicExtensions.)
Public Extension Method HasRoleReference(String) Overloaded.
Checks, if a role reference is present in the SupportedRoleClasses of the given systemUnitClass. (Defined by BasicExtensions.)
Public Extension Method HasRoleReference(RoleClassType) Overloaded.
Checks, if a role reference to the RoleClass is present in the SupportedRoleClasses of the given systemUnitClass. (Defined by BasicExtensions.)
Public Extension Method Name Get the Name of the specified object. (Defined by BasicExtensions.)
Public Extension Method New_Revision Creates a new Revision object including dataTime and AuthorName (Defined by SpecificExtensions.)
Public Extension Method OwnerDocument returns a CAEXDocument of an XML node (Defined by NavigationExtensions.)
Public Extension Method PropertySetAttributeMapping This Extension Methods performs a search on the systemUnitClass and its elements for any InternalElement with an assigned PropertySet and an assigned MappingObject and AttributeNameMapping, which has a SystemUnitAttributeName, which maps to the Name of the input attribute. It returns the InternalElement Object, if it is found, otherwise the result is null (Defined by MappingExtension.)
Public Extension Method Remove Deletes the object from the AML document. (Defined by BasicExtensions.)
Public Extension Method RemoveSplitPoint Remove a split point defined for this object. (Defined by ExternalizationExtensions.)
Public Extension Method RemoveSubElements(T) Removes all InternalElement and ExternalInterface Elements from a SystemUnit Class. (Defined by BasicExtensions.)
Public Extension Method Replace(T) Replaces a CaexObject by another CaexObject (Defined by BasicExtensions.)
Public Extension Method SetAttributeValue(String, String) Overloaded.
Sets an attribute value (creates attribute if it does not exist) as child of the parent object parameter. (Defined by ObjectWithAttributes.)
Public Extension Method SetAttributeValue(String, Double) Overloaded.
Sets an attribute value (creates attribute if it does not exist) as child of the parent object parameter. Sets the AttributeDataType to xs:double (Defined by ObjectWithAttributes.)
Public Extension Method SetAttributeValue(String, String, String, String) Overloaded.
Sets an attribute value (creates attribute if it does not exist). (Defined by ObjectWithAttributes.)
Public Extension Method SetAttributeValue(String, Double, Double, String, String) Overloaded.
Sets an attribute value (creates attribute if it does not exist). Sets the AttributeDataType to xs:double (Defined by ObjectWithAttributes.)
Public Extension Method SetAttributeValue(String, String, String, String, String, String) Overloaded.
Sets an attribute value (creates attribute if it does not exist). (Defined by ObjectWithAttributes.)
Public Extension Method SetChangeMode Sets or removes the change mode of the given CAEXBasicObject. (Defined by BasicExtensions.)
Public Extension Method SetMetaObjectInformation(MetaObjectInformation) Overloaded.
this method is a short version of the setMetaInformation for any caex object (Defined by BasicExtensions.)
Public Extension Method SetMetaObjectInformation(String, String, String) Overloaded.
this function sets the meta information to store tool specific object-IDs (Defined by BasicExtensions.)
Public Extension Method SetSplitPointIfPossible Record a split point for this object. Returns true if succeeded. Only allowed for objects of type InstanceHierarchy, InternalElement, SystemUnitClassLib, InterfaceClassLib, RoleClassLib. Will be split off and written to file only by SaveSplitModelParts(). (Defined by ExternalizationExtensions.)
  Back to Top

See Also

Reference

CAEX_ClassModel Namespace

  • Introduction
  • [Version History](Version history)
    • [Version 3.5](Version 3.4)
    • [Version 3.1](Version 3.0)
    • [Version 2.1](Version 2.1)
    • [Version 2.0](Version 2.0)
  • [Getting Started](Getting started)
  • Examples
  • AMLEngine API
BEST Practice Content

Extensions

CAEX Elements

AutomationML

Utilities

Interfaceclasses

Exceptions

Objecttables and Document validation

Clone this wiki locally