Class DataSpecificationIec61360
Content of data specification template for concept descriptions for properties, values and value lists conformant to IEC 61360.
Inheritance
Inherited Members
Namespace: AasCore.Aas3_0
Assembly: AasCore.Aas3_0.dll
Syntax
public class DataSpecificationIec61360 : IDataSpecificationIec61360, IDataSpecificationContent, IClass
Remarks
IEC61360 requires also a globally unique identifier for a concept description. This ID is not part of the data specification template. Instead the Id as inherited via IIdentifiable is used. Same holds for administrative information like the version and revision.
IdShort and ShortName are very similar. However, in this case the decision was to add ShortName explicitly to the data specification. Same holds for DisplayName and PreferredName. Same holds for Description and Definition.
Constraints:
-
Constraint AASc-3a-010: If Value is not empty then ValueList shall be empty and vice versa.
It is also possible that both Value and ValueList are empty. This is the case for concept descriptions that define the semantics of a property but do not have an enumeration (ValueList) as data type.
Although it is possible to define a ConceptDescription for a :attr:´value_list`, it is not possible to reuse this ValueList. It is only possible to directly add a ValueList as data type to a specific semantic definition of a property.
- Constraint AASc-3a-009: If DataType one of: IntegerMeasure, RealMeasure, RationalMeasure, IntegerCurrency, RealCurrency, then Unit or UnitId shall be defined.
Constructors
| Improve this Doc View SourceDataSpecificationIec61360(List<ILangStringPreferredNameTypeIec61360>, List<ILangStringShortNameTypeIec61360>, String, IReference, String, String, Nullable<DataTypeIec61360>, List<ILangStringDefinitionTypeIec61360>, String, IValueList, String, ILevelType)
Declaration
public DataSpecificationIec61360(List<ILangStringPreferredNameTypeIec61360> preferredName, List<ILangStringShortNameTypeIec61360> shortName = null, string unit = null, IReference unitId = null, string sourceOfDefinition = null, string symbol = null, DataTypeIec61360? dataType = null, List<ILangStringDefinitionTypeIec61360> definition = null, string valueFormat = null, IValueList valueList = null, string value = null, ILevelType levelType = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.List<ILangStringPreferredNameTypeIec61360> | preferredName | |
System.Collections.Generic.List<ILangStringShortNameTypeIec61360> | shortName | |
System.String | unit | |
IReference | unitId | |
System.String | sourceOfDefinition | |
System.String | symbol | |
System.Nullable<DataTypeIec61360> | dataType | |
System.Collections.Generic.List<ILangStringDefinitionTypeIec61360> | definition | |
System.String | valueFormat | |
IValueList | valueList | |
System.String | value | |
ILevelType | levelType |
Properties
| Improve this Doc View SourceDataType
Data Type
Declaration
public DataTypeIec61360? DataType { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<DataTypeIec61360> |
Definition
Definition in different languages
Declaration
public List<ILangStringDefinitionTypeIec61360> Definition { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringDefinitionTypeIec61360> |
LevelType
Set of levels.
Declaration
public ILevelType LevelType { get; set; }
Property Value
Type | Description |
---|---|
ILevelType |
PreferredName
Preferred name
Declaration
public List<ILangStringPreferredNameTypeIec61360> PreferredName { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringPreferredNameTypeIec61360> |
Remarks
It is advised to keep the length of the name limited to 35 characters.
Constraints:
- Constraint AASc-3a-002: PreferredName shall be provided at least in English.
ShortName
Short name
Declaration
public List<ILangStringShortNameTypeIec61360> ShortName { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringShortNameTypeIec61360> |
SourceOfDefinition
Source of definition
Declaration
public string SourceOfDefinition { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Symbol
Symbol
Declaration
public string Symbol { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Unit
Unit
Declaration
public string Unit { get; set; }
Property Value
Type | Description |
---|---|
System.String |
UnitId
Unique unit id
Declaration
public IReference UnitId { get; set; }
Property Value
Type | Description |
---|---|
IReference |
Remarks
Unit and UnitId need to be consistent if both attributes are set
It is recommended to use an external reference ID.
Value
Value
Declaration
public string Value { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ValueFormat
Value Format
Declaration
public string ValueFormat { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
The value format is based on ISO 13584-42 and IEC 61360-2.
ValueList
List of allowed values
Declaration
public IValueList ValueList { get; set; }
Property Value
Type | Description |
---|---|
IValueList |
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> |
OverDefinitionOrEmpty()
Iterate over Definition, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ILangStringDefinitionTypeIec61360> OverDefinitionOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILangStringDefinitionTypeIec61360> |
OverShortNameOrEmpty()
Iterate over ShortName, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ILangStringShortNameTypeIec61360> OverShortNameOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILangStringShortNameTypeIec61360> |
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 |