Class SubmodelElementList
A submodel element list is an ordered list of submodel elements.
Inheritance
Implements
Inherited Members
Namespace: AasCore.Aas3_0
Assembly: AasCore.Aas3_0.dll
Syntax
public class SubmodelElementList : ISubmodelElementList, ISubmodelElement, IReferable, IHasExtensions, IHasSemantics, IQualifiable, IHasDataSpecification, IClass
Remarks
The numbering starts with zero (0).
Constraints:
- Constraint AASd-107: If a first level child element in a SubmodelElementList has a SemanticId it shall be identical to SemanticIdListElement.
- Constraint AASd-114: If two first level child elements in a SubmodelElementList have a SemanticId then they shall be identical.
- Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a SemanticId then the value is assumed to be identical to SemanticIdListElement.
- Constraint AASd-120: The IdShort of a ISubmodelElement being a direct child of a SubmodelElementList shall not be specified.
- Constraint AASd-108: All first level child elements in a SubmodelElementList shall have the same submodel element type as specified in TypeValueListElement.
- Constraint AASd-109: If TypeValueListElement is equal to Property or Range ValueTypeListElement shall be set and all first level child elements in the SubmodelElementList shall have the value type as specified in ValueTypeListElement.
Constructors
| Improve this Doc View SourceSubmodelElementList(AasSubmodelElements, List<IExtension>, String, String, List<ILangStringNameType>, List<ILangStringTextType>, IReference, List<IReference>, List<IQualifier>, List<IEmbeddedDataSpecification>, Nullable<Boolean>, IReference, Nullable<DataTypeDefXsd>, List<ISubmodelElement>)
Declaration
public SubmodelElementList(AasSubmodelElements typeValueListElement, List<IExtension> extensions = null, string category = null, string idShort = null, List<ILangStringNameType> displayName = null, List<ILangStringTextType> description = null, IReference semanticId = null, List<IReference> supplementalSemanticIds = null, List<IQualifier> qualifiers = null, List<IEmbeddedDataSpecification> embeddedDataSpecifications = null, bool? orderRelevant = null, IReference semanticIdListElement = null, DataTypeDefXsd? valueTypeListElement = null, List<ISubmodelElement> value = null)
Parameters
Type | Name | Description |
---|---|---|
AasSubmodelElements | typeValueListElement | |
System.Collections.Generic.List<IExtension> | extensions | |
System.String | category | |
System.String | idShort | |
System.Collections.Generic.List<ILangStringNameType> | displayName | |
System.Collections.Generic.List<ILangStringTextType> | description | |
IReference | semanticId | |
System.Collections.Generic.List<IReference> | supplementalSemanticIds | |
System.Collections.Generic.List<IQualifier> | qualifiers | |
System.Collections.Generic.List<IEmbeddedDataSpecification> | embeddedDataSpecifications | |
System.Nullable<System.Boolean> | orderRelevant | |
IReference | semanticIdListElement | |
System.Nullable<DataTypeDefXsd> | valueTypeListElement | |
System.Collections.Generic.List<ISubmodelElement> | value |
Properties
| Improve this Doc View SourceCategory
The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints.
Declaration
public string Category { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
The category is not identical to the semantic definition (IHasSemantics) of an element. The category e.g. could denote that the element is a measurement value whereas the semantic definition of the element would denote that it is the measured temperature.
Description
Description or comments on the element.
Declaration
public List<ILangStringTextType> Description { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringTextType> |
Remarks
The description can be provided in several languages.
If no description is defined, then the definition of the concept description that defines the semantics of the element is used.
Additional information can be provided, e.g., if the element is qualified and which qualifier types can be expected in which context or which additional data specification templates are provided.
DisplayName
Display name. Can be provided in several languages.
Declaration
public List<ILangStringNameType> DisplayName { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringNameType> |
EmbeddedDataSpecifications
Embedded data specification.
Declaration
public List<IEmbeddedDataSpecification> EmbeddedDataSpecifications { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IEmbeddedDataSpecification> |
Extensions
An extension of the element.
Declaration
public List<IExtension> Extensions { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IExtension> |
IdShort
In case of identifiables this attribute is a short name of the element. In case of referable this ID is an identifying string of the element within its name space.
Declaration
public string IdShort { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
In case the element is a property and the property has a semantic definition (SemanticId) conformant to IEC61360 the IdShort is typically identical to the short name in English.
OrderRelevant
Defines whether order in list is relevant. If OrderRelevant = False
then the list is representing a set or a bag.
Declaration
public bool? OrderRelevant { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
Remarks
Default: True
Qualifiers
Additional qualification of a qualifiable element.
Declaration
public List<IQualifier> Qualifiers { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IQualifier> |
Remarks
Constraints:
- Constraint AASd-021: Every qualifiable can only have one qualifier with the same Type.
SemanticId
Identifier of the semantic definition of the element. It is called semantic ID of the element or also main semantic ID of the element.
Declaration
public IReference SemanticId { get; set; }
Property Value
Type | Description |
---|---|
IReference |
Remarks
It is recommended to use a global reference.
SemanticIdListElement
Semantic ID the submodel elements contained in the list match to.
Declaration
public IReference SemanticIdListElement { get; set; }
Property Value
Type | Description |
---|---|
IReference |
Remarks
It is recommended to use a global reference.
SupplementalSemanticIds
Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element.
Declaration
public List<IReference> SupplementalSemanticIds { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IReference> |
Remarks
It is recommended to use a global reference.
TypeValueListElement
The submodel element type of the submodel elements contained in the list.
Declaration
public AasSubmodelElements TypeValueListElement { get; set; }
Property Value
Type | Description |
---|---|
AasSubmodelElements |
Value
Submodel element contained in the list.
Declaration
public List<ISubmodelElement> Value { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ISubmodelElement> |
Remarks
The list is ordered.
ValueTypeListElement
The value type of the submodel element contained in the list.
Declaration
public DataTypeDefXsd? ValueTypeListElement { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<DataTypeDefXsd> |
Methods
| Improve this Doc View SourceAccept(Visitation.IVisitor)
Accept the visitor
to visit this instance
for double dispatch.
Declaration
public void Accept(Visitation.IVisitor visitor)
Parameters
Type | Name | Description |
---|---|---|
Visitation.IVisitor | visitor |
Accept<TContext>(Visitation.IVisitorWithContext<TContext>, TContext)
Accept the visitor to visit this instance for double dispatch
with the context
.
Declaration
public void Accept<TContext>(Visitation.IVisitorWithContext<TContext> visitor, TContext context)
Parameters
Type | Name | Description |
---|---|---|
Visitation.IVisitorWithContext<TContext> | visitor | |
TContext | context |
Type Parameters
Name | Description |
---|---|
TContext |
Descend()
Iterate recursively over all the class instances referenced from this instance.
Declaration
public IEnumerable<IClass> Descend()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IClass> |
DescendOnce()
Iterate over all the class instances referenced from this instance without further recursion.
Declaration
public IEnumerable<IClass> DescendOnce()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IClass> |
OrderRelevantOrDefault()
Return the OrderRelevant or the default value if it has not been set.
Declaration
public bool OrderRelevantOrDefault()
Returns
Type | Description |
---|---|
System.Boolean |
OverDescriptionOrEmpty()
Iterate over Description, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ILangStringTextType> OverDescriptionOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILangStringTextType> |
OverDisplayNameOrEmpty()
Iterate over DisplayName, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ILangStringNameType> OverDisplayNameOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILangStringNameType> |
OverEmbeddedDataSpecificationsOrEmpty()
Iterate over EmbeddedDataSpecifications, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IEmbeddedDataSpecification> OverEmbeddedDataSpecificationsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IEmbeddedDataSpecification> |
OverExtensionsOrEmpty()
Iterate over Extensions, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IExtension> OverExtensionsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IExtension> |
OverQualifiersOrEmpty()
Iterate over Qualifiers, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IQualifier> OverQualifiersOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IQualifier> |
OverSupplementalSemanticIdsOrEmpty()
Iterate over SupplementalSemanticIds, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IReference> OverSupplementalSemanticIdsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IReference> |
OverValueOrEmpty()
Iterate over Value, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ISubmodelElement> OverValueOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ISubmodelElement> |
Transform<T>(Visitation.ITransformer<T>)
Accept the transformer
to transform this instance
for double dispatch.
Declaration
public T Transform<T>(Visitation.ITransformer<T> transformer)
Parameters
Type | Name | Description |
---|---|---|
Visitation.ITransformer<T> | transformer |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
T |
Transform<TContext, T>(Visitation.ITransformerWithContext<TContext, T>, TContext)
Accept the transformer
to visit this instance
for double dispatch with the context
.
Declaration
public T Transform<TContext, T>(Visitation.ITransformerWithContext<TContext, T> transformer, TContext context)
Parameters
Type | Name | Description |
---|---|---|
Visitation.ITransformerWithContext<TContext, T> | transformer | |
TContext | context |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
TContext | |
T |