types

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: MIT Imports: 0 Imported by: 7

Documentation

Overview

Package types provides the data structures corresponding to the meta-model.

Provide an implementation of the Asset Administration Shell (AAS) V3.0.

The presented version of the Metamodel is related to the work of aas-core-works, which can be found here: https://github.com/aas-core-works.

The presented content is neither related to the IDTA nor Plattform Industrie 4.0 and does not represent an official publication.

We diverge from the book in the following points.

We did not implement the following constraints as they are too general and can not be formalized as part of the core library, but affects external components such as AAS registry or AAS server:

  • Constraint AASd-022

We did not implement the following constraints since they depend on registry and de-referencing of IReference objects:

  • Constraint AASd-006
  • Constraint AASd-007
  • Constraint AASc-3a-003

Some constraints are not enforceable as they depend on the wider context such as language understanding, so we could not formalize them:

  • Constraint AASd-012: This constraint requires that the texts inside `Multi_language_property` shall have the same meanings in the separate languages. This cannot be tested.

  • Constraint AASd-116: In the book, Constraint AASd-116 imposes a case-insensitive equality against `globalAssetId`. This is culturally-dependent, and depends on the system settings. For example, the case-folding for the letters "i" and "I" is different in Turkish from English.

    We implement the constraint as case-sensitive instead to allow for interoperability across different culture settings.

Furthermore, we diverge from the book in the following points regarding the enumerations. We have to implement subsets of enumerations as sets as common programming languages do not support inheritance of enumerations. The relationship between the properties and the sets is defined through invariants. This causes the following divergences:

  • We decided therefore to remove the enumeration `DataTypeDefRDF` and keep only DataTypeDefXSD as enumeration. Otherwise, we would have to write redundant invariants all over the meta-model because `DataTypeDefRDF` is actually never used in any type definition.

  • The enumeration AASSubmodelElements is used in two different contexts. One context is the definition of key types in a reference. Another context is the definition of element types in a ISubmodelElementList.

    To avoid confusion, we introduce two separate enumerations for the separate contexts. Firstly, a set of KeyTypes, [aasconstants.AASSubmodelElementsAsKeys] to represent the first context (key type in a reference). Secondly, the enumeration AASSubmodelElements is kept as designator for [ISubmodelElementList.TypeValueListElement].

  • The specification introduces several types of `Lang_string_set`. These types differ between the allowed length of their text inside the singular `Lang_string` objects. Since the native representation of `Lang_string_set` as `List` of `Lang_string` is required by specification, it is impossible to introduce separate `Lang_string_set` types. Therefore, the distinction is drawn here between the `Lang_string` types.

    `DefinitionTypeIEC61360` is represented as a `List` of ILangStringDefinitionTypeIEC61360

    `MultiLanguageNameType` is represented as a `List` of ILangStringNameType

    `PreferredNameTypeIEC61360` is represented as a `List` of ILangStringPreferredNameTypeIEC61360

    `ShortNameTypeIEC61360` is represented as a `List` of ILangStringShortNameTypeIEC61360

    `MultiLanguageTextType` is represented as a `List` of ILangStringTextType

    Furthermore, since `Lang_string` is not used anywhere, we rename it to IAbstractLangString.

Concerning the data specifications, we embed them within IHasDataSpecification instead of referencing them via an external reference. The working group decided to change the rules for serialization after the book was published. The data specifications are critical in applications, but there is no possibility to access them through a data channel as they are not part of an environment.

Index

Constants

This section is empty.

Variables

List the literals of AASSubmodelElements.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of AssetKind.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of DataTypeDefXSD.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of DataTypeIEC61360.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

View Source
var LiteralsOfDirection = [...]Direction{
	DirectionInput,
	DirectionOutput,
}

List the literals of Direction.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of EntityType.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of KeyTypes.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

View Source
var LiteralsOfModellingKind = [...]ModellingKind{
	ModellingKindTemplate,
	ModellingKindInstance,
}

List the literals of ModellingKind.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of QualifierKind.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

List the literals of ReferenceTypes.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

View Source
var LiteralsOfStateOfEvent = [...]StateOfEvent{
	StateOfEventOn,
	StateOfEventOff,
}

List the literals of StateOfEvent.

Golang does not provide an elegant way to iterate over the literals, so this array helps you avoid common errors and pitfalls.

Please do not modify the array in the caller's code.

Functions

func IsAbstractLangString

func IsAbstractLangString(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IAbstractLangString] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsAdministrativeInformation

func IsAdministrativeInformation(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IAdministrativeInformation] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsAnnotatedRelationshipElement

func IsAnnotatedRelationshipElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IAnnotatedRelationshipElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsAssetAdministrationShell

func IsAssetAdministrationShell(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IAssetAdministrationShell] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsAssetInformation

func IsAssetInformation(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IAssetInformation] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsBasicEventElement

func IsBasicEventElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IBasicEventElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsBlob

func IsBlob(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IBlob] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsCapability

func IsCapability(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ICapability] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsConceptDescription

func IsConceptDescription(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IConceptDescription] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsDataElement

func IsDataElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IDataElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsDataSpecificationContent

func IsDataSpecificationContent(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IDataSpecificationContent] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsDataSpecificationIEC61360

func IsDataSpecificationIEC61360(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IDataSpecificationIEC61360] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsEmbeddedDataSpecification

func IsEmbeddedDataSpecification(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IEmbeddedDataSpecification] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsEntity

func IsEntity(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IEntity] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsEnvironment

func IsEnvironment(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IEnvironment] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsEventElement

func IsEventElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IEventElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsEventPayload

func IsEventPayload(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IEventPayload] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsExtension

func IsExtension(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IExtension] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsFile

func IsFile(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IFile] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsHasDataSpecification

func IsHasDataSpecification(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IHasDataSpecification] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsHasExtensions

func IsHasExtensions(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IHasExtensions] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsHasKind

func IsHasKind(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IHasKind] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsHasSemantics

func IsHasSemantics(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IHasSemantics] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsIdentifiable

func IsIdentifiable(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IIdentifiable] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsKey

func IsKey(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IKey] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsLangStringDefinitionTypeIEC61360

func IsLangStringDefinitionTypeIEC61360(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ILangStringDefinitionTypeIEC61360] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsLangStringNameType

func IsLangStringNameType(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ILangStringNameType] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsLangStringPreferredNameTypeIEC61360

func IsLangStringPreferredNameTypeIEC61360(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ILangStringPreferredNameTypeIEC61360] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsLangStringShortNameTypeIEC61360

func IsLangStringShortNameTypeIEC61360(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ILangStringShortNameTypeIEC61360] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsLangStringTextType

func IsLangStringTextType(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ILangStringTextType] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsLevelType

func IsLevelType(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ILevelType] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsMultiLanguageProperty

func IsMultiLanguageProperty(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IMultiLanguageProperty] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsOperation

func IsOperation(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IOperation] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsOperationVariable

func IsOperationVariable(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IOperationVariable] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsProperty

func IsProperty(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IProperty] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsQualifiable

func IsQualifiable(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IQualifiable] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsQualifier

func IsQualifier(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IQualifier] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsRange

func IsRange(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IRange] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsReferable

func IsReferable(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IReferable] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsReference

func IsReference(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IReference] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsReferenceElement

func IsReferenceElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IReferenceElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsRelationshipElement

func IsRelationshipElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IRelationshipElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsResource

func IsResource(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IResource] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsSpecificAssetID

func IsSpecificAssetID(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ISpecificAssetID] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsSubmodel

func IsSubmodel(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ISubmodel] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsSubmodelElement

func IsSubmodelElement(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ISubmodelElement] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsSubmodelElementCollection

func IsSubmodelElementCollection(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ISubmodelElementCollection] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsSubmodelElementList

func IsSubmodelElementList(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.ISubmodelElementList] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsValueList

func IsValueList(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IValueList] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

func IsValueReferencePair

func IsValueReferencePair(
	that IClass,
) (ok bool)

Check whether the instance corresponds to [aastypes.IValueReferencePair] based on its run-time model type.

The implementation uses a switch statements which is most probably compiled as an efficient jump table by the compiler.

Types

type AASSubmodelElements

type AASSubmodelElements int

Enumeration of all possible elements of a ISubmodelElementList.

const (
	AASSubmodelElementsAnnotatedRelationshipElement AASSubmodelElements = iota
	AASSubmodelElementsBasicEventElement
	AASSubmodelElementsBlob
	AASSubmodelElementsCapability
	AASSubmodelElementsDataElement
	AASSubmodelElementsEntity
	AASSubmodelElementsEventElement
	AASSubmodelElementsFile
	AASSubmodelElementsMultiLanguageProperty
	AASSubmodelElementsOperation
	AASSubmodelElementsProperty
	AASSubmodelElementsRange
	AASSubmodelElementsReferenceElement
	AASSubmodelElementsRelationshipElement
	AASSubmodelElementsSubmodelElement
	AASSubmodelElementsSubmodelElementList
	AASSubmodelElementsSubmodelElementCollection
)

type AdministrativeInformation

type AdministrativeInformation struct {
	// contains filtered or unexported fields
}

Implements IAdministrativeInformation.

func NewAdministrativeInformation

func NewAdministrativeInformation() *AdministrativeInformation

Create a new instance of AdministrativeInformation with the given properties.

func (*AdministrativeInformation) Creator

func (ai *AdministrativeInformation) Creator() IReference

func (*AdministrativeInformation) Descend

func (ai *AdministrativeInformation) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from ai.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on ai.

func (*AdministrativeInformation) DescendOnce

func (ai *AdministrativeInformation) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from ai.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on ai.

func (*AdministrativeInformation) EmbeddedDataSpecifications

func (ai *AdministrativeInformation) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*AdministrativeInformation) ModelType

func (ai *AdministrativeInformation) ModelType() ModelType

func (*AdministrativeInformation) Revision

func (ai *AdministrativeInformation) Revision() *string

func (*AdministrativeInformation) SetCreator

func (ai *AdministrativeInformation) SetCreator(
	value IReference,
)

func (*AdministrativeInformation) SetEmbeddedDataSpecifications

func (ai *AdministrativeInformation) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*AdministrativeInformation) SetRevision

func (ai *AdministrativeInformation) SetRevision(
	value *string,
)

func (*AdministrativeInformation) SetTemplateID

func (ai *AdministrativeInformation) SetTemplateID(
	value *string,
)

func (*AdministrativeInformation) SetVersion

func (ai *AdministrativeInformation) SetVersion(
	value *string,
)

func (*AdministrativeInformation) TemplateID

func (ai *AdministrativeInformation) TemplateID() *string

func (*AdministrativeInformation) Version

func (ai *AdministrativeInformation) Version() *string

type AnnotatedRelationshipElement

type AnnotatedRelationshipElement struct {
	// contains filtered or unexported fields
}

Implements IAnnotatedRelationshipElement.

func NewAnnotatedRelationshipElement

func NewAnnotatedRelationshipElement(
	first IReference,
	second IReference,
) *AnnotatedRelationshipElement

Create a new instance of AnnotatedRelationshipElement with the given properties.

func (*AnnotatedRelationshipElement) Annotations

func (are *AnnotatedRelationshipElement) Annotations() []IDataElement

func (*AnnotatedRelationshipElement) Category

func (are *AnnotatedRelationshipElement) Category() *string

func (*AnnotatedRelationshipElement) Descend

func (are *AnnotatedRelationshipElement) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from are.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on are.

func (*AnnotatedRelationshipElement) DescendOnce

func (are *AnnotatedRelationshipElement) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from are.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on are.

func (*AnnotatedRelationshipElement) Description

func (*AnnotatedRelationshipElement) DisplayName

func (*AnnotatedRelationshipElement) EmbeddedDataSpecifications

func (are *AnnotatedRelationshipElement) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*AnnotatedRelationshipElement) Extensions

func (are *AnnotatedRelationshipElement) Extensions() []IExtension

func (*AnnotatedRelationshipElement) First

func (*AnnotatedRelationshipElement) IDShort

func (are *AnnotatedRelationshipElement) IDShort() *string

func (*AnnotatedRelationshipElement) ModelType

func (are *AnnotatedRelationshipElement) ModelType() ModelType

func (*AnnotatedRelationshipElement) Qualifiers

func (are *AnnotatedRelationshipElement) Qualifiers() []IQualifier

func (*AnnotatedRelationshipElement) Second

func (*AnnotatedRelationshipElement) SemanticID

func (are *AnnotatedRelationshipElement) SemanticID() IReference

func (*AnnotatedRelationshipElement) SetAnnotations

func (are *AnnotatedRelationshipElement) SetAnnotations(
	value []IDataElement,
)

func (*AnnotatedRelationshipElement) SetCategory

func (are *AnnotatedRelationshipElement) SetCategory(
	value *string,
)

func (*AnnotatedRelationshipElement) SetDescription

func (are *AnnotatedRelationshipElement) SetDescription(
	value []ILangStringTextType,
)

func (*AnnotatedRelationshipElement) SetDisplayName

func (are *AnnotatedRelationshipElement) SetDisplayName(
	value []ILangStringNameType,
)

func (*AnnotatedRelationshipElement) SetEmbeddedDataSpecifications

func (are *AnnotatedRelationshipElement) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*AnnotatedRelationshipElement) SetExtensions

func (are *AnnotatedRelationshipElement) SetExtensions(
	value []IExtension,
)

func (*AnnotatedRelationshipElement) SetFirst

func (are *AnnotatedRelationshipElement) SetFirst(
	value IReference,
)

func (*AnnotatedRelationshipElement) SetIDShort

func (are *AnnotatedRelationshipElement) SetIDShort(
	value *string,
)

func (*AnnotatedRelationshipElement) SetQualifiers

func (are *AnnotatedRelationshipElement) SetQualifiers(
	value []IQualifier,
)

func (*AnnotatedRelationshipElement) SetSecond

func (are *AnnotatedRelationshipElement) SetSecond(
	value IReference,
)

func (*AnnotatedRelationshipElement) SetSemanticID

func (are *AnnotatedRelationshipElement) SetSemanticID(
	value IReference,
)

func (*AnnotatedRelationshipElement) SetSupplementalSemanticIDs

func (are *AnnotatedRelationshipElement) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*AnnotatedRelationshipElement) SupplementalSemanticIDs

func (are *AnnotatedRelationshipElement) SupplementalSemanticIDs() []IReference

type AssetAdministrationShell

type AssetAdministrationShell struct {
	// contains filtered or unexported fields
}

Implements IAssetAdministrationShell.

func NewAssetAdministrationShell

func NewAssetAdministrationShell(
	id string,
	assetInformation IAssetInformation,
) *AssetAdministrationShell

Create a new instance of AssetAdministrationShell with the given properties.

func (*AssetAdministrationShell) Administration

func (*AssetAdministrationShell) AssetInformation

func (aas *AssetAdministrationShell) AssetInformation() IAssetInformation

func (*AssetAdministrationShell) Category

func (aas *AssetAdministrationShell) Category() *string

func (*AssetAdministrationShell) DerivedFrom

func (aas *AssetAdministrationShell) DerivedFrom() IReference

func (*AssetAdministrationShell) Descend

func (aas *AssetAdministrationShell) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from aas.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on aas.

func (*AssetAdministrationShell) DescendOnce

func (aas *AssetAdministrationShell) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from aas.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on aas.

func (*AssetAdministrationShell) Description

func (aas *AssetAdministrationShell) Description() []ILangStringTextType

func (*AssetAdministrationShell) DisplayName

func (aas *AssetAdministrationShell) DisplayName() []ILangStringNameType

func (*AssetAdministrationShell) EmbeddedDataSpecifications

func (aas *AssetAdministrationShell) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*AssetAdministrationShell) Extensions

func (aas *AssetAdministrationShell) Extensions() []IExtension

func (*AssetAdministrationShell) ID

func (aas *AssetAdministrationShell) ID() string

func (*AssetAdministrationShell) IDShort

func (aas *AssetAdministrationShell) IDShort() *string

func (*AssetAdministrationShell) ModelType

func (aas *AssetAdministrationShell) ModelType() ModelType

func (*AssetAdministrationShell) SetAdministration

func (aas *AssetAdministrationShell) SetAdministration(
	value IAdministrativeInformation,
)

func (*AssetAdministrationShell) SetAssetInformation

func (aas *AssetAdministrationShell) SetAssetInformation(
	value IAssetInformation,
)

func (*AssetAdministrationShell) SetCategory

func (aas *AssetAdministrationShell) SetCategory(
	value *string,
)

func (*AssetAdministrationShell) SetDerivedFrom

func (aas *AssetAdministrationShell) SetDerivedFrom(
	value IReference,
)

func (*AssetAdministrationShell) SetDescription

func (aas *AssetAdministrationShell) SetDescription(
	value []ILangStringTextType,
)

func (*AssetAdministrationShell) SetDisplayName

func (aas *AssetAdministrationShell) SetDisplayName(
	value []ILangStringNameType,
)

func (*AssetAdministrationShell) SetEmbeddedDataSpecifications

func (aas *AssetAdministrationShell) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*AssetAdministrationShell) SetExtensions

func (aas *AssetAdministrationShell) SetExtensions(
	value []IExtension,
)

func (*AssetAdministrationShell) SetID

func (aas *AssetAdministrationShell) SetID(
	value string,
)

func (*AssetAdministrationShell) SetIDShort

func (aas *AssetAdministrationShell) SetIDShort(
	value *string,
)

func (*AssetAdministrationShell) SetSubmodels

func (aas *AssetAdministrationShell) SetSubmodels(
	value []IReference,
)

func (*AssetAdministrationShell) Submodels

func (aas *AssetAdministrationShell) Submodels() []IReference

type AssetInformation

type AssetInformation struct {
	// contains filtered or unexported fields
}

Implements IAssetInformation.

func NewAssetInformation

func NewAssetInformation(
	assetKind AssetKind,
) *AssetInformation

Create a new instance of AssetInformation with the given properties.

func (*AssetInformation) AssetKind

func (ai *AssetInformation) AssetKind() AssetKind

func (*AssetInformation) AssetType

func (ai *AssetInformation) AssetType() *string

func (*AssetInformation) DefaultThumbnail

func (ai *AssetInformation) DefaultThumbnail() IResource

func (*AssetInformation) Descend

func (ai *AssetInformation) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from ai.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on ai.

func (*AssetInformation) DescendOnce

func (ai *AssetInformation) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from ai.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on ai.

func (*AssetInformation) GlobalAssetID

func (ai *AssetInformation) GlobalAssetID() *string

func (*AssetInformation) ModelType

func (ai *AssetInformation) ModelType() ModelType

func (*AssetInformation) SetAssetKind

func (ai *AssetInformation) SetAssetKind(
	value AssetKind,
)

func (*AssetInformation) SetAssetType

func (ai *AssetInformation) SetAssetType(
	value *string,
)

func (*AssetInformation) SetDefaultThumbnail

func (ai *AssetInformation) SetDefaultThumbnail(
	value IResource,
)

func (*AssetInformation) SetGlobalAssetID

func (ai *AssetInformation) SetGlobalAssetID(
	value *string,
)

func (*AssetInformation) SetSpecificAssetIDs

func (ai *AssetInformation) SetSpecificAssetIDs(
	value []ISpecificAssetID,
)

func (*AssetInformation) SpecificAssetIDs

func (ai *AssetInformation) SpecificAssetIDs() []ISpecificAssetID

type AssetKind

type AssetKind int

Enumeration for denoting whether an asset is a type asset or an instance asset.

const (
	// Type asset
	AssetKindType AssetKind = iota
	// Instance asset
	AssetKindInstance
	// Neither a type asset nor an instance asset
	AssetKindNotApplicable
)

type BasicEventElement

type BasicEventElement struct {
	// contains filtered or unexported fields
}

Implements IBasicEventElement.

func NewBasicEventElement

func NewBasicEventElement(
	observed IReference,
	direction Direction,
	state StateOfEvent,
) *BasicEventElement

Create a new instance of BasicEventElement with the given properties.

func (*BasicEventElement) Category

func (bee *BasicEventElement) Category() *string

func (*BasicEventElement) Descend

func (bee *BasicEventElement) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from bee.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on bee.

func (*BasicEventElement) DescendOnce

func (bee *BasicEventElement) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from bee.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on bee.

func (*BasicEventElement) Description

func (bee *BasicEventElement) Description() []ILangStringTextType

func (*BasicEventElement) Direction

func (bee *BasicEventElement) Direction() Direction

func (*BasicEventElement) DisplayName

func (bee *BasicEventElement) DisplayName() []ILangStringNameType

func (*BasicEventElement) EmbeddedDataSpecifications

func (bee *BasicEventElement) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*BasicEventElement) Extensions

func (bee *BasicEventElement) Extensions() []IExtension

func (*BasicEventElement) IDShort

func (bee *BasicEventElement) IDShort() *string

func (*BasicEventElement) LastUpdate

func (bee *BasicEventElement) LastUpdate() *string

func (*BasicEventElement) MaxInterval

func (bee *BasicEventElement) MaxInterval() *string

func (*BasicEventElement) MessageBroker

func (bee *BasicEventElement) MessageBroker() IReference

func (*BasicEventElement) MessageTopic

func (bee *BasicEventElement) MessageTopic() *string

func (*BasicEventElement) MinInterval

func (bee *BasicEventElement) MinInterval() *string

func (*BasicEventElement) ModelType

func (bee *BasicEventElement) ModelType() ModelType

func (*BasicEventElement) Observed

func (bee *BasicEventElement) Observed() IReference

func (*BasicEventElement) Qualifiers

func (bee *BasicEventElement) Qualifiers() []IQualifier

func (*BasicEventElement) SemanticID

func (bee *BasicEventElement) SemanticID() IReference

func (*BasicEventElement) SetCategory

func (bee *BasicEventElement) SetCategory(
	value *string,
)

func (*BasicEventElement) SetDescription

func (bee *BasicEventElement) SetDescription(
	value []ILangStringTextType,
)

func (*BasicEventElement) SetDirection

func (bee *BasicEventElement) SetDirection(
	value Direction,
)

func (*BasicEventElement) SetDisplayName

func (bee *BasicEventElement) SetDisplayName(
	value []ILangStringNameType,
)

func (*BasicEventElement) SetEmbeddedDataSpecifications

func (bee *BasicEventElement) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*BasicEventElement) SetExtensions

func (bee *BasicEventElement) SetExtensions(
	value []IExtension,
)

func (*BasicEventElement) SetIDShort

func (bee *BasicEventElement) SetIDShort(
	value *string,
)

func (*BasicEventElement) SetLastUpdate

func (bee *BasicEventElement) SetLastUpdate(
	value *string,
)

func (*BasicEventElement) SetMaxInterval

func (bee *BasicEventElement) SetMaxInterval(
	value *string,
)

func (*BasicEventElement) SetMessageBroker

func (bee *BasicEventElement) SetMessageBroker(
	value IReference,
)

func (*BasicEventElement) SetMessageTopic

func (bee *BasicEventElement) SetMessageTopic(
	value *string,
)

func (*BasicEventElement) SetMinInterval

func (bee *BasicEventElement) SetMinInterval(
	value *string,
)

func (*BasicEventElement) SetObserved

func (bee *BasicEventElement) SetObserved(
	value IReference,
)

func (*BasicEventElement) SetQualifiers

func (bee *BasicEventElement) SetQualifiers(
	value []IQualifier,
)

func (*BasicEventElement) SetSemanticID

func (bee *BasicEventElement) SetSemanticID(
	value IReference,
)

func (*BasicEventElement) SetState

func (bee *BasicEventElement) SetState(
	value StateOfEvent,
)

func (*BasicEventElement) SetSupplementalSemanticIDs

func (bee *BasicEventElement) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*BasicEventElement) State

func (bee *BasicEventElement) State() StateOfEvent

func (*BasicEventElement) SupplementalSemanticIDs

func (bee *BasicEventElement) SupplementalSemanticIDs() []IReference

type Blob

type Blob struct {
	// contains filtered or unexported fields
}

Implements IBlob.

func NewBlob

func NewBlob(
	contentType string,
) *Blob

Create a new instance of Blob with the given properties.

func (*Blob) Category

func (b *Blob) Category() *string

func (*Blob) CategoryOrDefault

func (b *Blob) CategoryOrDefault() string

Return [IReferable.Category] or the default value if it has not been set.

func (*Blob) ContentType

func (b *Blob) ContentType() string

func (*Blob) Descend

func (b *Blob) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from b.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on b.

func (*Blob) DescendOnce

func (b *Blob) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from b.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on b.

func (*Blob) Description

func (b *Blob) Description() []ILangStringTextType

func (*Blob) DisplayName

func (b *Blob) DisplayName() []ILangStringNameType

func (*Blob) EmbeddedDataSpecifications

func (b *Blob) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Blob) Extensions

func (b *Blob) Extensions() []IExtension

func (*Blob) IDShort

func (b *Blob) IDShort() *string

func (*Blob) ModelType

func (b *Blob) ModelType() ModelType

func (*Blob) Qualifiers

func (b *Blob) Qualifiers() []IQualifier

func (*Blob) SemanticID

func (b *Blob) SemanticID() IReference

func (*Blob) SetCategory

func (b *Blob) SetCategory(
	value *string,
)

func (*Blob) SetContentType

func (b *Blob) SetContentType(
	value string,
)

func (*Blob) SetDescription

func (b *Blob) SetDescription(
	value []ILangStringTextType,
)

func (*Blob) SetDisplayName

func (b *Blob) SetDisplayName(
	value []ILangStringNameType,
)

func (*Blob) SetEmbeddedDataSpecifications

func (b *Blob) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Blob) SetExtensions

func (b *Blob) SetExtensions(
	value []IExtension,
)

func (*Blob) SetIDShort

func (b *Blob) SetIDShort(
	value *string,
)

func (*Blob) SetQualifiers

func (b *Blob) SetQualifiers(
	value []IQualifier,
)

func (*Blob) SetSemanticID

func (b *Blob) SetSemanticID(
	value IReference,
)

func (*Blob) SetSupplementalSemanticIDs

func (b *Blob) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Blob) SetValue

func (b *Blob) SetValue(
	value []byte,
)

func (*Blob) SupplementalSemanticIDs

func (b *Blob) SupplementalSemanticIDs() []IReference

func (*Blob) Value

func (b *Blob) Value() []byte

type Capability

type Capability struct {
	// contains filtered or unexported fields
}

Implements ICapability.

func NewCapability

func NewCapability() *Capability

Create a new instance of Capability with the given properties.

func (*Capability) Category

func (c *Capability) Category() *string

func (*Capability) Descend

func (c *Capability) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from c.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on c.

func (*Capability) DescendOnce

func (c *Capability) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from c.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on c.

func (*Capability) Description

func (c *Capability) Description() []ILangStringTextType

func (*Capability) DisplayName

func (c *Capability) DisplayName() []ILangStringNameType

func (*Capability) EmbeddedDataSpecifications

func (c *Capability) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Capability) Extensions

func (c *Capability) Extensions() []IExtension

func (*Capability) IDShort

func (c *Capability) IDShort() *string

func (*Capability) ModelType

func (c *Capability) ModelType() ModelType

func (*Capability) Qualifiers

func (c *Capability) Qualifiers() []IQualifier

func (*Capability) SemanticID

func (c *Capability) SemanticID() IReference

func (*Capability) SetCategory

func (c *Capability) SetCategory(
	value *string,
)

func (*Capability) SetDescription

func (c *Capability) SetDescription(
	value []ILangStringTextType,
)

func (*Capability) SetDisplayName

func (c *Capability) SetDisplayName(
	value []ILangStringNameType,
)

func (*Capability) SetEmbeddedDataSpecifications

func (c *Capability) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Capability) SetExtensions

func (c *Capability) SetExtensions(
	value []IExtension,
)

func (*Capability) SetIDShort

func (c *Capability) SetIDShort(
	value *string,
)

func (*Capability) SetQualifiers

func (c *Capability) SetQualifiers(
	value []IQualifier,
)

func (*Capability) SetSemanticID

func (c *Capability) SetSemanticID(
	value IReference,
)

func (*Capability) SetSupplementalSemanticIDs

func (c *Capability) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Capability) SupplementalSemanticIDs

func (c *Capability) SupplementalSemanticIDs() []IReference

type ConceptDescription

type ConceptDescription struct {
	// contains filtered or unexported fields
}

Implements IConceptDescription.

func NewConceptDescription

func NewConceptDescription(
	id string,
) *ConceptDescription

Create a new instance of ConceptDescription with the given properties.

func (*ConceptDescription) Administration

func (cd *ConceptDescription) Administration() IAdministrativeInformation

func (*ConceptDescription) Category

func (cd *ConceptDescription) Category() *string

func (*ConceptDescription) Descend

func (cd *ConceptDescription) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from cd.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on cd.

func (*ConceptDescription) DescendOnce

func (cd *ConceptDescription) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from cd.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on cd.

func (*ConceptDescription) Description

func (cd *ConceptDescription) Description() []ILangStringTextType

func (*ConceptDescription) DisplayName

func (cd *ConceptDescription) DisplayName() []ILangStringNameType

func (*ConceptDescription) EmbeddedDataSpecifications

func (cd *ConceptDescription) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*ConceptDescription) Extensions

func (cd *ConceptDescription) Extensions() []IExtension

func (*ConceptDescription) ID

func (cd *ConceptDescription) ID() string

func (*ConceptDescription) IDShort

func (cd *ConceptDescription) IDShort() *string

func (*ConceptDescription) IsCaseOf

func (cd *ConceptDescription) IsCaseOf() []IReference

func (*ConceptDescription) ModelType

func (cd *ConceptDescription) ModelType() ModelType

func (*ConceptDescription) SetAdministration

func (cd *ConceptDescription) SetAdministration(
	value IAdministrativeInformation,
)

func (*ConceptDescription) SetCategory

func (cd *ConceptDescription) SetCategory(
	value *string,
)

func (*ConceptDescription) SetDescription

func (cd *ConceptDescription) SetDescription(
	value []ILangStringTextType,
)

func (*ConceptDescription) SetDisplayName

func (cd *ConceptDescription) SetDisplayName(
	value []ILangStringNameType,
)

func (*ConceptDescription) SetEmbeddedDataSpecifications

func (cd *ConceptDescription) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*ConceptDescription) SetExtensions

func (cd *ConceptDescription) SetExtensions(
	value []IExtension,
)

func (*ConceptDescription) SetID

func (cd *ConceptDescription) SetID(
	value string,
)

func (*ConceptDescription) SetIDShort

func (cd *ConceptDescription) SetIDShort(
	value *string,
)

func (*ConceptDescription) SetIsCaseOf

func (cd *ConceptDescription) SetIsCaseOf(
	value []IReference,
)

type DataSpecificationIEC61360

type DataSpecificationIEC61360 struct {
	// contains filtered or unexported fields
}

Implements IDataSpecificationIEC61360.

func NewDataSpecificationIEC61360

func NewDataSpecificationIEC61360(
	preferredName []ILangStringPreferredNameTypeIEC61360,
) *DataSpecificationIEC61360

Create a new instance of DataSpecificationIEC61360 with the given properties.

func (*DataSpecificationIEC61360) DataType

func (dsi6 *DataSpecificationIEC61360) DataType() *DataTypeIEC61360

func (*DataSpecificationIEC61360) Definition

func (*DataSpecificationIEC61360) Descend

func (dsi6 *DataSpecificationIEC61360) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from dsi6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on dsi6.

func (*DataSpecificationIEC61360) DescendOnce

func (dsi6 *DataSpecificationIEC61360) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from dsi6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on dsi6.

func (*DataSpecificationIEC61360) LevelType

func (dsi6 *DataSpecificationIEC61360) LevelType() ILevelType

func (*DataSpecificationIEC61360) ModelType

func (dsi6 *DataSpecificationIEC61360) ModelType() ModelType

func (*DataSpecificationIEC61360) PreferredName

func (*DataSpecificationIEC61360) SetDataType

func (dsi6 *DataSpecificationIEC61360) SetDataType(
	value *DataTypeIEC61360,
)

func (*DataSpecificationIEC61360) SetDefinition

func (dsi6 *DataSpecificationIEC61360) SetDefinition(
	value []ILangStringDefinitionTypeIEC61360,
)

func (*DataSpecificationIEC61360) SetLevelType

func (dsi6 *DataSpecificationIEC61360) SetLevelType(
	value ILevelType,
)

func (*DataSpecificationIEC61360) SetPreferredName

func (dsi6 *DataSpecificationIEC61360) SetPreferredName(
	value []ILangStringPreferredNameTypeIEC61360,
)

func (*DataSpecificationIEC61360) SetShortName

func (dsi6 *DataSpecificationIEC61360) SetShortName(
	value []ILangStringShortNameTypeIEC61360,
)

func (*DataSpecificationIEC61360) SetSourceOfDefinition

func (dsi6 *DataSpecificationIEC61360) SetSourceOfDefinition(
	value *string,
)

func (*DataSpecificationIEC61360) SetSymbol

func (dsi6 *DataSpecificationIEC61360) SetSymbol(
	value *string,
)

func (*DataSpecificationIEC61360) SetUnit

func (dsi6 *DataSpecificationIEC61360) SetUnit(
	value *string,
)

func (*DataSpecificationIEC61360) SetUnitID

func (dsi6 *DataSpecificationIEC61360) SetUnitID(
	value IReference,
)

func (*DataSpecificationIEC61360) SetValue

func (dsi6 *DataSpecificationIEC61360) SetValue(
	value *string,
)

func (*DataSpecificationIEC61360) SetValueFormat

func (dsi6 *DataSpecificationIEC61360) SetValueFormat(
	value *string,
)

func (*DataSpecificationIEC61360) SetValueList

func (dsi6 *DataSpecificationIEC61360) SetValueList(
	value IValueList,
)

func (*DataSpecificationIEC61360) ShortName

func (*DataSpecificationIEC61360) SourceOfDefinition

func (dsi6 *DataSpecificationIEC61360) SourceOfDefinition() *string

func (*DataSpecificationIEC61360) Symbol

func (dsi6 *DataSpecificationIEC61360) Symbol() *string

func (*DataSpecificationIEC61360) Unit

func (dsi6 *DataSpecificationIEC61360) Unit() *string

func (*DataSpecificationIEC61360) UnitID

func (dsi6 *DataSpecificationIEC61360) UnitID() IReference

func (*DataSpecificationIEC61360) Value

func (dsi6 *DataSpecificationIEC61360) Value() *string

func (*DataSpecificationIEC61360) ValueFormat

func (dsi6 *DataSpecificationIEC61360) ValueFormat() *string

func (*DataSpecificationIEC61360) ValueList

func (dsi6 *DataSpecificationIEC61360) ValueList() IValueList

type DataTypeDefXSD

type DataTypeDefXSD int

Enumeration listing all XSD anySimpleTypes

const (
	DataTypeDefXSDAnyURI DataTypeDefXSD = iota
	DataTypeDefXSDBase64Binary
	DataTypeDefXSDBoolean
	DataTypeDefXSDByte
	DataTypeDefXSDDate
	DataTypeDefXSDDateTime
	DataTypeDefXSDDecimal
	DataTypeDefXSDDouble
	DataTypeDefXSDDuration
	DataTypeDefXSDFloat
	DataTypeDefXSDGDay
	DataTypeDefXSDGMonth
	DataTypeDefXSDGMonthDay
	DataTypeDefXSDGYear
	DataTypeDefXSDGYearMonth
	DataTypeDefXSDHexBinary
	DataTypeDefXSDInt
	DataTypeDefXSDInteger
	DataTypeDefXSDLong
	DataTypeDefXSDNegativeInteger
	DataTypeDefXSDNonNegativeInteger
	DataTypeDefXSDNonPositiveInteger
	DataTypeDefXSDPositiveInteger
	DataTypeDefXSDShort
	DataTypeDefXSDString
	DataTypeDefXSDTime
	DataTypeDefXSDUnsignedByte
	DataTypeDefXSDUnsignedInt
	DataTypeDefXSDUnsignedLong
	DataTypeDefXSDUnsignedShort
)

type DataTypeIEC61360

type DataTypeIEC61360 int
const (
	// values containing a calendar date, conformant to ISO 8601:2004 Format yyyy-mm-dd
	// Example from IEC 61360-1:2017: "1999-05-31" is the [DATE] representation of:
	// "31 May 1999".
	DataTypeIEC61360Date DataTypeIEC61360 = iota
	// values consisting of sequence of characters but cannot be translated into other
	// languages
	DataTypeIEC61360String
	// values containing string but shall be represented as different string in different
	// languages
	DataTypeIEC61360StringTranslatable
	// values containing values that are measure of type INTEGER. In addition such a value
	// comes with a physical unit.
	DataTypeIEC61360IntegerMeasure
	// values containing values of type INTEGER but are no currencies or measures
	DataTypeIEC61360IntegerCount
	// values containing values of type INTEGER that are currencies
	DataTypeIEC61360IntegerCurrency
	// values containing values that are measures of type REAL. In addition such a value
	// comes with a physical unit.
	DataTypeIEC61360RealMeasure
	// values containing numbers that can be written as a terminating or non-terminating
	// decimal; a rational or irrational number but are no currencies or measures
	DataTypeIEC61360RealCount
	// values containing values of type REAL that are currencies
	DataTypeIEC61360RealCurrency
	// values representing truth of logic or Boolean algebra (TRUE, FALSE)
	DataTypeIEC61360Boolean
	// values containing values of type STRING conformant to Rfc 3987
	//
	// NOTE: In IEC61360-1 (2017) only URI is supported.
	// An IRI type allows in particular to express an URL or an URI.
	DataTypeIEC61360IRI
	// values conforming to ISO/IEC 11179 series global identifier sequences
	//
	// IRDI can be used instead of the more specific data types ICID or ISO29002_IRDI.
	//
	// ICID values are value conformant to an IRDI, where the delimiter between RAI and ID
	// is “#” while the delimiter between DI and VI is confined to “##”
	//
	// ISO29002_IRDI values are values containing a global identifier that identifies an
	// administrated item in a registry. The structure of this identifier complies with
	// identifier syntax defined in ISO/TS 29002-5. The identifier shall fulfil the
	// requirements specified in ISO/TS 29002-5 for an "international registration data
	// identifier" (IRDI).
	DataTypeIEC61360IRDI
	// values containing values of type rational
	DataTypeIEC61360Rational
	// values containing values of type rational. In addition such a value comes with a
	// physical unit.
	DataTypeIEC61360RationalMeasure
	// values containing a time, conformant to ISO 8601:2004 but restricted to what is
	// allowed in the corresponding type in xml.
	//
	// Format hh:mm (ECLASS)
	//
	// Example from IEC 61360-1:2017: "13:20:00-05:00" is the [TIME] representation of:
	// 1.20 p.m. for Eastern Standard Time, which is 5 hours behind Coordinated
	// Universal Time (UTC).
	DataTypeIEC61360Time
	// values containing a time, conformant to ISO 8601:2004 but restricted to what is
	// allowed in the corresponding type in xml.
	//
	// Format yyyy-mm-dd hh:mm (ECLASS)
	DataTypeIEC61360Timestamp
	// values containing an address to a file. The values are of type URI and can represent
	// an absolute or relative path.
	//
	// NOTE: IEC61360 does not support the file type.
	DataTypeIEC61360File
	// Values containing string with any sequence of characters, using the syntax of HTML5
	// (see W3C Recommendation 28:2014)
	DataTypeIEC61360HTML
	// values containing the content of a file. Values may be binaries.
	//
	// HTML conformant to HTML5 is a special blob.
	//
	// In IEC61360 binary is for a sequence of bits, each bit being represented by “0” and
	// “1” only. A binary is a blob but a blob may also contain other source code.
	DataTypeIEC61360Blob
)

type Direction

type Direction int

Direction

NOTE: This element is experimental and therefore may be subject to change or may be removed completely in future versions of the meta-model.

const (
	// Input direction.
	DirectionInput Direction = iota
	// Output direction
	DirectionOutput
)

type EmbeddedDataSpecification

type EmbeddedDataSpecification struct {
	// contains filtered or unexported fields
}

Implements IEmbeddedDataSpecification.

func NewEmbeddedDataSpecification

func NewEmbeddedDataSpecification(
	dataSpecificationContent IDataSpecificationContent,
) *EmbeddedDataSpecification

Create a new instance of EmbeddedDataSpecification with the given properties.

func (*EmbeddedDataSpecification) DataSpecification

func (eds *EmbeddedDataSpecification) DataSpecification() IReference

func (*EmbeddedDataSpecification) DataSpecificationContent

func (eds *EmbeddedDataSpecification) DataSpecificationContent() IDataSpecificationContent

func (*EmbeddedDataSpecification) Descend

func (eds *EmbeddedDataSpecification) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from eds.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on eds.

func (*EmbeddedDataSpecification) DescendOnce

func (eds *EmbeddedDataSpecification) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from eds.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on eds.

func (*EmbeddedDataSpecification) ModelType

func (eds *EmbeddedDataSpecification) ModelType() ModelType

func (*EmbeddedDataSpecification) SetDataSpecification

func (eds *EmbeddedDataSpecification) SetDataSpecification(
	value IReference,
)

func (*EmbeddedDataSpecification) SetDataSpecificationContent

func (eds *EmbeddedDataSpecification) SetDataSpecificationContent(
	value IDataSpecificationContent,
)

type Entity

type Entity struct {
	// contains filtered or unexported fields
}

Implements IEntity.

func NewEntity

func NewEntity(
	entityType EntityType,
) *Entity

Create a new instance of Entity with the given properties.

func (*Entity) Category

func (e *Entity) Category() *string

func (*Entity) Descend

func (e *Entity) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from e.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on e.

func (*Entity) DescendOnce

func (e *Entity) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from e.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on e.

func (*Entity) Description

func (e *Entity) Description() []ILangStringTextType

func (*Entity) DisplayName

func (e *Entity) DisplayName() []ILangStringNameType

func (*Entity) EmbeddedDataSpecifications

func (e *Entity) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Entity) EntityType

func (e *Entity) EntityType() EntityType

func (*Entity) Extensions

func (e *Entity) Extensions() []IExtension

func (*Entity) GlobalAssetID

func (e *Entity) GlobalAssetID() *string

func (*Entity) IDShort

func (e *Entity) IDShort() *string

func (*Entity) ModelType

func (e *Entity) ModelType() ModelType

func (*Entity) Qualifiers

func (e *Entity) Qualifiers() []IQualifier

func (*Entity) SemanticID

func (e *Entity) SemanticID() IReference

func (*Entity) SetCategory

func (e *Entity) SetCategory(
	value *string,
)

func (*Entity) SetDescription

func (e *Entity) SetDescription(
	value []ILangStringTextType,
)

func (*Entity) SetDisplayName

func (e *Entity) SetDisplayName(
	value []ILangStringNameType,
)

func (*Entity) SetEmbeddedDataSpecifications

func (e *Entity) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Entity) SetEntityType

func (e *Entity) SetEntityType(
	value EntityType,
)

func (*Entity) SetExtensions

func (e *Entity) SetExtensions(
	value []IExtension,
)

func (*Entity) SetGlobalAssetID

func (e *Entity) SetGlobalAssetID(
	value *string,
)

func (*Entity) SetIDShort

func (e *Entity) SetIDShort(
	value *string,
)

func (*Entity) SetQualifiers

func (e *Entity) SetQualifiers(
	value []IQualifier,
)

func (*Entity) SetSemanticID

func (e *Entity) SetSemanticID(
	value IReference,
)

func (*Entity) SetSpecificAssetIDs

func (e *Entity) SetSpecificAssetIDs(
	value []ISpecificAssetID,
)

func (*Entity) SetStatements

func (e *Entity) SetStatements(
	value []ISubmodelElement,
)

func (*Entity) SetSupplementalSemanticIDs

func (e *Entity) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Entity) SpecificAssetIDs

func (e *Entity) SpecificAssetIDs() []ISpecificAssetID

func (*Entity) Statements

func (e *Entity) Statements() []ISubmodelElement

func (*Entity) SupplementalSemanticIDs

func (e *Entity) SupplementalSemanticIDs() []IReference

type EntityType

type EntityType int

Enumeration for denoting whether an entity is a self-managed entity or a co-managed entity.

const (
	// For co-managed entities there is no separate AAS. Co-managed entities need to be
	// part of a self-managed entity.
	EntityTypeCoManagedEntity EntityType = iota
	// Self-Managed Entities have their own AAS but can be part of the bill of material of
	// a composite self-managed entity.
	//
	// The asset of an I4.0 Component is a self-managed entity per definition.
	EntityTypeSelfManagedEntity
)

type Environment

type Environment struct {
	// contains filtered or unexported fields
}

Implements IEnvironment.

func NewEnvironment

func NewEnvironment() *Environment

Create a new instance of Environment with the given properties.

func (*Environment) AssetAdministrationShells

func (e *Environment) AssetAdministrationShells() []IAssetAdministrationShell

func (*Environment) ConceptDescriptions

func (e *Environment) ConceptDescriptions() []IConceptDescription

func (*Environment) Descend

func (e *Environment) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from e.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on e.

func (*Environment) DescendOnce

func (e *Environment) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from e.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on e.

func (*Environment) ModelType

func (e *Environment) ModelType() ModelType

func (*Environment) SetAssetAdministrationShells

func (e *Environment) SetAssetAdministrationShells(
	value []IAssetAdministrationShell,
)

func (*Environment) SetConceptDescriptions

func (e *Environment) SetConceptDescriptions(
	value []IConceptDescription,
)

func (*Environment) SetSubmodels

func (e *Environment) SetSubmodels(
	value []ISubmodel,
)

func (*Environment) Submodels

func (e *Environment) Submodels() []ISubmodel

type EventPayload

type EventPayload struct {
	// contains filtered or unexported fields
}

Implements IEventPayload.

func NewEventPayload

func NewEventPayload(
	source IReference,
	observableReference IReference,
	timeStamp string,
) *EventPayload

Create a new instance of EventPayload with the given properties.

func (*EventPayload) Descend

func (ep *EventPayload) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from ep.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on ep.

func (*EventPayload) DescendOnce

func (ep *EventPayload) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from ep.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on ep.

func (*EventPayload) ModelType

func (ep *EventPayload) ModelType() ModelType

func (*EventPayload) ObservableReference

func (ep *EventPayload) ObservableReference() IReference

func (*EventPayload) ObservableSemanticID

func (ep *EventPayload) ObservableSemanticID() IReference

func (*EventPayload) Payload

func (ep *EventPayload) Payload() []byte

func (*EventPayload) SetObservableReference

func (ep *EventPayload) SetObservableReference(
	value IReference,
)

func (*EventPayload) SetObservableSemanticID

func (ep *EventPayload) SetObservableSemanticID(
	value IReference,
)

func (*EventPayload) SetPayload

func (ep *EventPayload) SetPayload(
	value []byte,
)

func (*EventPayload) SetSource

func (ep *EventPayload) SetSource(
	value IReference,
)

func (*EventPayload) SetSourceSemanticID

func (ep *EventPayload) SetSourceSemanticID(
	value IReference,
)

func (*EventPayload) SetSubjectID

func (ep *EventPayload) SetSubjectID(
	value IReference,
)

func (*EventPayload) SetTimeStamp

func (ep *EventPayload) SetTimeStamp(
	value string,
)

func (*EventPayload) SetTopic

func (ep *EventPayload) SetTopic(
	value *string,
)

func (*EventPayload) Source

func (ep *EventPayload) Source() IReference

func (*EventPayload) SourceSemanticID

func (ep *EventPayload) SourceSemanticID() IReference

func (*EventPayload) SubjectID

func (ep *EventPayload) SubjectID() IReference

func (*EventPayload) TimeStamp

func (ep *EventPayload) TimeStamp() string

func (*EventPayload) Topic

func (ep *EventPayload) Topic() *string

type Extension

type Extension struct {
	// contains filtered or unexported fields
}

Implements IExtension.

func NewExtension

func NewExtension(
	name string,
) *Extension

Create a new instance of Extension with the given properties.

func (*Extension) Descend

func (e *Extension) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from e.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on e.

func (*Extension) DescendOnce

func (e *Extension) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from e.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on e.

func (*Extension) ModelType

func (e *Extension) ModelType() ModelType

func (*Extension) Name

func (e *Extension) Name() string

func (*Extension) RefersTo

func (e *Extension) RefersTo() []IReference

func (*Extension) SemanticID

func (e *Extension) SemanticID() IReference

func (*Extension) SetName

func (e *Extension) SetName(
	value string,
)

func (*Extension) SetRefersTo

func (e *Extension) SetRefersTo(
	value []IReference,
)

func (*Extension) SetSemanticID

func (e *Extension) SetSemanticID(
	value IReference,
)

func (*Extension) SetSupplementalSemanticIDs

func (e *Extension) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Extension) SetValue

func (e *Extension) SetValue(
	value *string,
)

func (*Extension) SetValueType

func (e *Extension) SetValueType(
	value *DataTypeDefXSD,
)

func (*Extension) SupplementalSemanticIDs

func (e *Extension) SupplementalSemanticIDs() []IReference

func (*Extension) Value

func (e *Extension) Value() *string

func (*Extension) ValueType

func (e *Extension) ValueType() *DataTypeDefXSD

func (*Extension) ValueTypeOrDefault

func (e *Extension) ValueTypeOrDefault() DataTypeDefXSD

Return [IExtension.ValueType] or the default value if it has not been set.

type File

type File struct {
	// contains filtered or unexported fields
}

Implements IFile.

func NewFile

func NewFile(
	contentType string,
) *File

Create a new instance of File with the given properties.

func (*File) Category

func (f *File) Category() *string

func (*File) CategoryOrDefault

func (f *File) CategoryOrDefault() string

Return [IReferable.Category] or the default value if it has not been set.

func (*File) ContentType

func (f *File) ContentType() string

func (*File) Descend

func (f *File) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from f.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on f.

func (*File) DescendOnce

func (f *File) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from f.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on f.

func (*File) Description

func (f *File) Description() []ILangStringTextType

func (*File) DisplayName

func (f *File) DisplayName() []ILangStringNameType

func (*File) EmbeddedDataSpecifications

func (f *File) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*File) Extensions

func (f *File) Extensions() []IExtension

func (*File) IDShort

func (f *File) IDShort() *string

func (*File) ModelType

func (f *File) ModelType() ModelType

func (*File) Qualifiers

func (f *File) Qualifiers() []IQualifier

func (*File) SemanticID

func (f *File) SemanticID() IReference

func (*File) SetCategory

func (f *File) SetCategory(
	value *string,
)

func (*File) SetContentType

func (f *File) SetContentType(
	value string,
)

func (*File) SetDescription

func (f *File) SetDescription(
	value []ILangStringTextType,
)

func (*File) SetDisplayName

func (f *File) SetDisplayName(
	value []ILangStringNameType,
)

func (*File) SetEmbeddedDataSpecifications

func (f *File) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*File) SetExtensions

func (f *File) SetExtensions(
	value []IExtension,
)

func (*File) SetIDShort

func (f *File) SetIDShort(
	value *string,
)

func (*File) SetQualifiers

func (f *File) SetQualifiers(
	value []IQualifier,
)

func (*File) SetSemanticID

func (f *File) SetSemanticID(
	value IReference,
)

func (*File) SetSupplementalSemanticIDs

func (f *File) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*File) SetValue

func (f *File) SetValue(
	value *string,
)

func (*File) SupplementalSemanticIDs

func (f *File) SupplementalSemanticIDs() []IReference

func (*File) Value

func (f *File) Value() *string

type IAbstractLangString

type IAbstractLangString interface {
	IClass

	// Language tag conforming to BCP 47
	Language() string

	SetLanguage(
		value string,
	)

	// Text in the [IAbstractLangString.Language]
	Text() string

	SetText(
		value string,
	)
}

Strings with language tags

type IAdministrativeInformation

type IAdministrativeInformation interface {
	IHasDataSpecification

	// Version of the element.
	Version() *string

	SetVersion(
		value *string,
	)

	// Revision of the element.
	Revision() *string

	SetRevision(
		value *string,
	)

	// The subject ID of the subject responsible for making the element.
	Creator() IReference

	SetCreator(
		value IReference,
	)

	// Identifier of the template that guided the creation of the element.
	//
	// NOTE: In case of a submodel the [IAdministrativeInformation.TemplateID] is the identifier
	// of the submodel template ID that guided the creation of the submodel
	//
	// NOTE: The [IAdministrativeInformation.TemplateID] is not relevant for validation in Submodels.
	// For validation the [ISubmodel.SemanticID] shall be used.
	//
	// NOTE: Usage of [IAdministrativeInformation.TemplateID] is not restricted to submodel instances. So also
	// the creation of submodel templates can be guided by another submodel template.
	TemplateID() *string

	SetTemplateID(
		value *string,
	)
}

Administrative meta-information for an element like version information.

Constraint AASd-005: If [IAdministrativeInformation.Version] is not specified then also [IAdministrativeInformation.Revision] shall be unspecified. This means, a revision requires a version. If there is no version there is no revision neither. Revision is optional.

type IAnnotatedRelationshipElement

type IAnnotatedRelationshipElement interface {
	IRelationshipElement

	// A data element that represents an annotation that holds for the relationship
	// between the two elements
	Annotations() []IDataElement

	SetAnnotations(
		value []IDataElement,
	)
}

An annotated relationship element is a relationship element that can be annotated with additional data elements.

type IAssetAdministrationShell

type IAssetAdministrationShell interface {
	IIdentifiable

	IHasDataSpecification

	// The reference to the AAS the AAS was derived from.
	DerivedFrom() IReference

	SetDerivedFrom(
		value IReference,
	)

	// Meta-information about the asset the AAS is representing.
	AssetInformation() IAssetInformation

	SetAssetInformation(
		value IAssetInformation,
	)

	// References to submodels of the AAS.
	//
	// A submodel is a description of an aspect of the asset the AAS is representing.
	//
	// The asset of an AAS is typically described by one or more submodels.
	//
	// Temporarily no submodel might be assigned to the AAS.
	Submodels() []IReference

	SetSubmodels(
		value []IReference,
	)
}

An asset administration shell.

type IAssetInformation

type IAssetInformation interface {
	IClass

	// Denotes whether the Asset is of kind [AssetKindType] or
	// [AssetKindInstance].
	AssetKind() AssetKind

	SetAssetKind(
		value AssetKind,
	)

	// Global identifier of the asset the AAS is representing.
	//
	// This attribute is required as soon as the AAS is exchanged via partners in the life
	// cycle of the asset. In a first phase of the life cycle the asset might not yet have
	// a global ID but already an internal identifier. The internal identifier would be
	// modelled via [IAssetInformation.SpecificAssetIDs].
	//
	// NOTE: This is a global reference.
	GlobalAssetID() *string

	SetGlobalAssetID(
		value *string,
	)

	// Additional domain-specific, typically proprietary identifier for the asset like
	// e.g., serial number etc.
	SpecificAssetIDs() []ISpecificAssetID

	SetSpecificAssetIDs(
		value []ISpecificAssetID,
	)

	// In case [IAssetInformation.AssetKind] is applicable the [IAssetInformation.AssetType] is the asset ID
	// of the type asset of the asset under consideration
	// as identified by [IAssetInformation.GlobalAssetID].
	//
	// NOTE: In case [IAssetInformation.AssetKind] is "Instance" than the [IAssetInformation.AssetType] denotes
	// which "Type" the asset is of. But it is also possible
	// to have an [IAssetInformation.AssetType] of an asset of kind "Type".
	AssetType() *string

	SetAssetType(
		value *string,
	)

	// Thumbnail of the asset represented by the Asset Administration Shell.
	//
	// Used as default.
	DefaultThumbnail() IResource

	SetDefaultThumbnail(
		value IResource,
	)
}

In IAssetInformation identifying meta data of the asset that is represented by an AAS is defined.

The asset may either represent an asset type or an asset instance.

The asset has a globally unique identifier plus – if needed – additional domain specific (proprietary) identifiers. However, to support the corner case of very first phase of lifecycle where a stabilised/constant_set global asset identifier does not already exist, the corresponding attribute [IAssetInformation.GlobalAssetID] is optional.

Constraint AASd-116: `globalAssetId` is a reserved key. If used as value for [ISpecificAssetID.Name] then [ISpecificAssetID.Value] shall be identical to [IAssetInformation.GlobalAssetID].

NOTE: Constraint AASd-116 is important to enable a generic search across global and specific asset IDs.

NOTE: In the book, Constraint AASd-116 imposes a case-insensitive equality against `globalAssetId`. This is culturally-dependent, and depends on the system settings. For example, the case-folding for the letters "i" and "I" is different in Turkish from English.

We implement the constraint as case-sensitive instead to allow for interoperability across different culture settings.

Constraint AASd-131: For IAssetInformation either the [IAssetInformation.GlobalAssetID] shall be defined or at least one item in [IAssetInformation.SpecificAssetIDs].

type IBasicEventElement

type IBasicEventElement interface {
	IEventElement

	// Reference to the [IReferable], which defines the scope of the event.
	// Can be [IAssetAdministrationShell], [ISubmodel], or
	// [ISubmodelElement].
	//
	// Reference to a referable, e.g., a data element or
	// a submodel, that is being observed.
	Observed() IReference

	SetObserved(
		value IReference,
	)

	// Direction of event.
	//
	// Can be `{ Input, Output }`.
	Direction() Direction

	SetDirection(
		value Direction,
	)

	// State of event.
	//
	// Can be `{ On, Off }`.
	State() StateOfEvent

	SetState(
		value StateOfEvent,
	)

	// Information for the outer message infrastructure for scheduling the event to the
	// respective communication channel.
	MessageTopic() *string

	SetMessageTopic(
		value *string,
	)

	// Information, which outer message infrastructure shall handle messages for
	// the [IEventElement]. Refers to a [ISubmodel],
	// [ISubmodelElementList], [ISubmodelElementCollection] or
	// [IEntity], which contains [IDataElement]'s describing
	// the proprietary specification for the message broker.
	//
	// NOTE: For different message infrastructure, e.g., OPC UA or MQTT or AMQP, this
	// proprietary specification could be standardized by having respective Submodels.
	MessageBroker() IReference

	SetMessageBroker(
		value IReference,
	)

	// Timestamp in UTC, when the last event was received (input direction) or sent
	// (output direction).
	LastUpdate() *string

	SetLastUpdate(
		value *string,
	)

	// For input direction, reports on the maximum frequency, the software entity behind
	// the respective Referable can handle input events.
	//
	// For output events, specifies the maximum frequency of outputting this event to
	// an outer infrastructure.
	//
	// Might be not specified, that is, there is no minimum interval.
	MinInterval() *string

	SetMinInterval(
		value *string,
	)

	// For input direction: not applicable.
	//
	// For output direction: maximum interval in time, the respective Referable shall send
	// an update of the status of the event, even if no other trigger condition for
	// the event was not met.
	//
	// Might be not specified, that is, there is no maximum interval
	MaxInterval() *string

	SetMaxInterval(
		value *string,
	)
}

A basic event element.

NOTE: This element is experimental and therefore may be subject to change or may be removed completely in future versions of the meta-model.

type IBlob

type IBlob interface {
	IDataElement

	// The value of the [IBlob] instance of a blob data element.
	//
	// NOTE: In contrast to the file property the file content is stored directly as value
	// in the [IBlob] data element.
	Value() []byte

	SetValue(
		value []byte,
	)

	// Content type of the content of the [IBlob].
	//
	// The content type (MIME type) states which file extensions the file can have.
	//
	// Valid values are content types like e.g. `application/json`, `application/xls`,
	// `image/jpg`.
	//
	// The allowed values are defined as in RFC2046.
	ContentType() string

	SetContentType(
		value string,
	)

	CategoryOrDefault() string
}

A IBlob is a data element that represents a file that is contained with its source code in the value attribute.

type ICapability

type ICapability interface {
	ISubmodelElement
}

A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world.

NOTE: The [ICapability.SemanticID] of a capability is typically an ontology. Thus, reasoning on capabilities is enabled.

type IClass

type IClass interface {
	// Return the concrete model type at run-time.
	//
	// Use the model type if you want to switch on the concrete model type
	// in efficient manner, as the compiler will most probably implement
	// the switch in form of a jump table.
	ModelType() ModelType

	// Apply the action on the instances referenced from this instance.
	//
	// If any of the actions returns abort `true`, the descent is immediately
	// stopped,  and abort `true` is also returned. Otherwise, return abort `false`.
	//
	// We do not recurse into the referenced instances.
	//
	// The action is not applied on this instance.
	DescendOnce(action func(IClass) bool) (abort bool)

	// Apply the action recursively on the instances referenced from this instance.
	//
	// If any of the actions returns abort `true`, the descent is immediately
	// stopped,  and abort `true` is also returned. Otherwise, return abort `false`.
	//
	// The action is not applied on this instance.
	Descend(action func(IClass) bool) (abort bool)
}

Represent the most general interface of an AAS model.

type IConceptDescription

type IConceptDescription interface {
	IIdentifiable

	IHasDataSpecification

	// Reference to an external definition the concept is compatible to or was derived
	// from.
	//
	// NOTE: It is recommended to use a global reference.
	//
	// NOTE: Compare to is-case-of relationship in ISO 13584-32 & IEC EN 61360
	IsCaseOf() []IReference

	SetIsCaseOf(
		value []IReference,
	)
}

The semantics of a property or other elements that may have a semantic description is defined by a concept description.

The description of the concept should follow a standardized schema (realized as data specification template).

Constraint AASc-3a-004: For a IConceptDescription with [IConceptDescription.Category] `PROPERTY` or `VALUE` using data specification IEC61360, the [IDataSpecificationIEC61360.DataType] is mandatory and shall be one of: `DATE`, `STRING`, `STRING_TRANSLATABLE`, `INTEGER_MEASURE`, `INTEGER_COUNT`, `INTEGER_CURRENCY`, `REAL_MEASURE`, `REAL_COUNT`, `REAL_CURRENCY`, `BOOLEAN`, `RATIONAL`, `RATIONAL_MEASURE`, `TIME`, `TIMESTAMP`.

NOTE: Note: categories are deprecated since V3.0 of Part 1a of the document series "Details of the Asset Administration Shell".

Constraint AASc-3a-005: For a IConceptDescription with [IConceptDescription.Category] `REFERENCE` using data specification template IEC61360, the [IDataSpecificationIEC61360.DataType] shall be one of: `STRING`, `IRI`, `IRDI`.

NOTE: Note: categories are deprecated since V3.0 of Part 1a of the document series "Details of the Asset Administration Shell".

Constraint AASc-3a-006: For a IConceptDescription with [IConceptDescription.Category] `DOCUMENT` using data specification IEC61360, the [IDataSpecificationIEC61360.DataType] shall be one of `FILE`, `BLOB`, `HTML`

NOTE: Categories are deprecated since V3.0 of Part 1a of the document series "Details of the Asset Administration Shell".

Constraint AASc-3a-007: For a IConceptDescription with [IConceptDescription.Category] `QUALIFIER_TYPE` using data specification IEC61360, the [IDataSpecificationIEC61360.DataType] is mandatory and shall be defined.

NOTE: Categories are deprecated since V3.0 of Part 1a of the document series "Details of the Asset Administration Shell".

Constraint AASc-3a-008: For a IConceptDescription using data specification template IEC61360, [IDataSpecificationIEC61360.Definition] is mandatory and shall be defined at least in English.

Exception: The concept description describes a value, i.e. [IDataSpecificationIEC61360.Value] is defined.

Constraint AASc-3a-003: For a IConceptDescription using data specification template IEC61360, referenced via [IDataSpecificationIEC61360.ValueList] [IValueReferencePair.ValueID] the [IDataSpecificationIEC61360.Value] shall be set.

type IDataElement

type IDataElement interface {
	ISubmodelElement

	CategoryOrDefault() string
}

A data element is a submodel element that is not further composed out of other submodel elements.

A data element is a submodel element that has a value. The type of value differs for different subtypes of data elements.

Constraint AASd-090: For data elements [IDataElement.Category] shall be one of the following values: `CONSTANT`, `PARAMETER` or `VARIABLE`.

Default: `VARIABLE`

type IDataSpecificationContent

type IDataSpecificationContent interface {
	IClass
}

Data specification content is part of a data specification template and defines which additional attributes shall be added to the element instance that references the data specification template and meta information about the template itself.

Constraint AASc-3a-050: If the IDataSpecificationIEC61360 is used for an element, the value of [IHasDataSpecification.EmbeddedDataSpecifications] shall contain the global reference to the IRI of the corresponding data specification template https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0

type IDataSpecificationIEC61360

type IDataSpecificationIEC61360 interface {
	IDataSpecificationContent

	// Preferred name
	//
	// NOTE: It is advised to keep the length of the name limited to 35 characters.
	//
	// Constraint AASc-3a-002:
	// [IDataSpecificationIEC61360.PreferredName] shall be provided at least in English.
	PreferredName() []ILangStringPreferredNameTypeIEC61360

	SetPreferredName(
		value []ILangStringPreferredNameTypeIEC61360,
	)

	// Short name
	ShortName() []ILangStringShortNameTypeIEC61360

	SetShortName(
		value []ILangStringShortNameTypeIEC61360,
	)

	// Unit
	Unit() *string

	SetUnit(
		value *string,
	)

	// Unique unit id
	//
	// [IDataSpecificationIEC61360.Unit] and [IDataSpecificationIEC61360.UnitID] need to be consistent if both attributes
	// are set
	//
	// NOTE: It is recommended to use an external reference ID.
	UnitID() IReference

	SetUnitID(
		value IReference,
	)

	// Source of definition
	SourceOfDefinition() *string

	SetSourceOfDefinition(
		value *string,
	)

	// Symbol
	Symbol() *string

	SetSymbol(
		value *string,
	)

	// Data Type
	DataType() *DataTypeIEC61360

	SetDataType(
		value *DataTypeIEC61360,
	)

	// Definition in different languages
	Definition() []ILangStringDefinitionTypeIEC61360

	SetDefinition(
		value []ILangStringDefinitionTypeIEC61360,
	)

	// Value Format
	//
	// NOTE: The value format is based on ISO 13584-42 and IEC 61360-2.
	ValueFormat() *string

	SetValueFormat(
		value *string,
	)

	// List of allowed values
	ValueList() IValueList

	SetValueList(
		value IValueList,
	)

	// Value
	Value() *string

	SetValue(
		value *string,
	)

	// Set of levels.
	LevelType() ILevelType

	SetLevelType(
		value ILevelType,
	)
}

Content of data specification template for concept descriptions for properties, values and value lists conformant to IEC 61360.

NOTE: IEC61360 requires also a globally unique identifier for a concept description. This ID is not part of the data specification template. Instead the [IConceptDescription.ID] as inherited via IIdentifiable is used. Same holds for administrative information like the version and revision.

NOTE: [IConceptDescription.IDShort] and [IDataSpecificationIEC61360.ShortName] are very similar. However, in this case the decision was to add [IDataSpecificationIEC61360.ShortName] explicitly to the data specification. Same holds for [IConceptDescription.DisplayName] and [IDataSpecificationIEC61360.PreferredName]. Same holds for [IConceptDescription.Description] and [IDataSpecificationIEC61360.Definition].

Constraint AASc-3a-010: If [IDataSpecificationIEC61360.Value] is not empty then [IDataSpecificationIEC61360.ValueList] shall be empty and vice versa.

NOTE: It is also possible that both [IDataSpecificationIEC61360.Value] and [IDataSpecificationIEC61360.ValueList] are empty. This is the case for concept descriptions that define the semantics of a property but do not have an enumeration ([IDataSpecificationIEC61360.ValueList]) as data type.

NOTE: Although it is possible to define a IConceptDescription for a :attr:´value_list`, it is not possible to reuse this [IDataSpecificationIEC61360.ValueList]. It is only possible to directly add a [IDataSpecificationIEC61360.ValueList] as data type to a specific semantic definition of a property.

Constraint AASc-3a-009: If [IDataSpecificationIEC61360.DataType] one of: DataTypeIEC61360IntegerMeasure, DataTypeIEC61360RealMeasure, DataTypeIEC61360RationalMeasure, DataTypeIEC61360IntegerCurrency, DataTypeIEC61360RealCurrency, then [IDataSpecificationIEC61360.Unit] or [IDataSpecificationIEC61360.UnitID] shall be defined.

type IEmbeddedDataSpecification

type IEmbeddedDataSpecification interface {
	IClass

	// Actual content of the data specification
	DataSpecificationContent() IDataSpecificationContent

	SetDataSpecificationContent(
		value IDataSpecificationContent,
	)

	// Reference to the data specification
	DataSpecification() IReference

	SetDataSpecification(
		value IReference,
	)
}

Embed the content of a data specification.

type IEntity

type IEntity interface {
	ISubmodelElement

	// Describes statements applicable to the entity by a set of submodel elements,
	// typically with a qualified value.
	Statements() []ISubmodelElement

	SetStatements(
		value []ISubmodelElement,
	)

	// Describes whether the entity is a co-managed entity or a self-managed entity.
	EntityType() EntityType

	SetEntityType(
		value EntityType,
	)

	// Global identifier of the asset the entity is representing.
	//
	// NOTE: This is a global reference.
	GlobalAssetID() *string

	SetGlobalAssetID(
		value *string,
	)

	// Reference to a specific asset ID representing a supplementary identifier
	// of the asset represented by the Asset Administration Shell.
	SpecificAssetIDs() []ISpecificAssetID

	SetSpecificAssetIDs(
		value []ISpecificAssetID,
	)
}

An entity is a submodel element that is used to model entities.

Constraint AASd-014: Either the attribute [IEntity.GlobalAssetID] or [IEntity.SpecificAssetIDs] of an IEntity must be set if [IEntity.EntityType] is set to EntityTypeSelfManagedEntity. They are not existing otherwise.

type IEnvironment

type IEnvironment interface {
	IClass

	// Asset administration shell
	AssetAdministrationShells() []IAssetAdministrationShell

	SetAssetAdministrationShells(
		value []IAssetAdministrationShell,
	)

	// Submodel
	Submodels() []ISubmodel

	SetSubmodels(
		value []ISubmodel,
	)

	// Concept description
	ConceptDescriptions() []IConceptDescription

	SetConceptDescriptions(
		value []IConceptDescription,
	)
}

Container for the sets of different identifiables.

NOTE: w.r.t. file exchange: There is exactly one environment independent on how many files the contained elements are split. If the file is split then there shall be no element with the same identifier in two different files.

type IEventElement

type IEventElement interface {
	ISubmodelElement
}

An event element.

NOTE: This element is experimental and therefore may be subject to change or may be removed completely in future versions of the meta-model.

type IEventPayload

type IEventPayload interface {
	IClass

	// Reference to the source event element, including identification of
	// [IAssetAdministrationShell], [ISubmodel],
	// [ISubmodelElement]'s.
	Source() IReference

	SetSource(
		value IReference,
	)

	// [IHasSemantics.SemanticID] of the source event element, if available
	//
	// NOTE: It is recommended to use a global reference.
	SourceSemanticID() IReference

	SetSourceSemanticID(
		value IReference,
	)

	// Reference to the referable, which defines the scope of the event.
	//
	// Can be [IAssetAdministrationShell], [ISubmodel] or
	// [ISubmodelElement].
	ObservableReference() IReference

	SetObservableReference(
		value IReference,
	)

	// [IHasSemantics.SemanticID] of the referable which defines the scope of
	// the event, if available.
	//
	// NOTE: It is recommended to use a global reference.
	ObservableSemanticID() IReference

	SetObservableSemanticID(
		value IReference,
	)

	// Information for the outer message infrastructure for scheduling the event to
	// the respective communication channel.
	Topic() *string

	SetTopic(
		value *string,
	)

	// Subject, who/which initiated the creation.
	//
	// NOTE: This is an external reference.
	SubjectID() IReference

	SetSubjectID(
		value IReference,
	)

	// Timestamp in UTC, when this event was triggered.
	TimeStamp() string

	SetTimeStamp(
		value string,
	)

	// Event specific payload.
	Payload() []byte

	SetPayload(
		value []byte,
	)
}

Defines the necessary information of an event instance sent out or received.

NOTE: This element is experimental and therefore may be subject to change or may be removed completely in future versions of the meta-model.

type IExtension

type IExtension interface {
	IHasSemantics

	// Name of the extension.
	//
	// Constraint AASd-077:
	// The name of an extension (Extension/name) within [IHasExtensions] needs
	// to be unique.
	Name() string

	SetName(
		value string,
	)

	// Type of the value of the extension.
	//
	// Default: [DataTypeDefXSDString]
	ValueType() *DataTypeDefXSD

	SetValueType(
		value *DataTypeDefXSD,
	)

	// Value of the extension
	Value() *string

	SetValue(
		value *string,
	)

	// Reference to an element the extension refers to.
	RefersTo() []IReference

	SetRefersTo(
		value []IReference,
	)

	ValueTypeOrDefault() DataTypeDefXSD
}

Single extension of an element.

type IFile

type IFile interface {
	IDataElement

	// Path and name of the referenced file (with file extension).
	//
	// The path can be absolute or relative.
	Value() *string

	SetValue(
		value *string,
	)

	// Content type of the content of the file.
	//
	// The content type states which file extensions the file can have.
	ContentType() string

	SetContentType(
		value string,
	)

	CategoryOrDefault() string
}

A File is a data element that represents an address to a file (a locator).

The value is an URI that can represent an absolute or relative path.

type IHasDataSpecification

type IHasDataSpecification interface {
	IClass

	// Embedded data specification.
	EmbeddedDataSpecifications() []IEmbeddedDataSpecification

	SetEmbeddedDataSpecifications(
		value []IEmbeddedDataSpecification,
	)
}

Element that can be extended by using data specification templates.

A data specification template defines a named set of additional attributes an element may or shall have. The data specifications used are explicitly specified with their global ID.

type IHasExtensions

type IHasExtensions interface {
	IClass

	// An extension of the element.
	Extensions() []IExtension

	SetExtensions(
		value []IExtension,
	)
}

Element that can be extended by proprietary extensions.

NOTE: Extensions are proprietary, i.e. they do not support global interoperability.

type IHasKind

type IHasKind interface {
	IClass

	// Kind of the element: either type or instance.
	//
	// Default: [ModellingKindInstance]
	Kind() *ModellingKind

	SetKind(
		value *ModellingKind,
	)

	KindOrDefault() ModellingKind
}

An element with a kind is an element that can either represent a template or an instance.

Default for an element is that it is representing an instance.

type IHasSemantics

type IHasSemantics interface {
	IClass

	// Identifier of the semantic definition of the element. It is called semantic ID
	// of the element or also main semantic ID of the element.
	//
	// NOTE: It is recommended to use a global reference.
	SemanticID() IReference

	SetSemanticID(
		value IReference,
	)

	// Identifier of a supplemental semantic definition of the element.
	// It is called supplemental semantic ID of the element.
	//
	// NOTE: It is recommended to use a global reference.
	SupplementalSemanticIDs() []IReference

	SetSupplementalSemanticIDs(
		value []IReference,
	)
}

Element that can have a semantic definition plus some supplemental semantic definitions.

Constraint AASd-118: If there are ID [IHasSemantics.SupplementalSemanticIDs] defined then there shall be also a main semantic ID [IHasSemantics.SemanticID].

type IIdentifiable

type IIdentifiable interface {
	IReferable

	// Administrative information of an identifiable element.
	//
	// NOTE: Some of the administrative information like the version number might need to
	// be part of the identification.
	Administration() IAdministrativeInformation

	SetAdministration(
		value IAdministrativeInformation,
	)

	// The globally unique identification of the element.
	ID() string

	SetID(
		value string,
	)
}

An element that has a globally unique identifier.

type IKey

type IKey interface {
	IClass

	// Denotes which kind of entity is referenced.
	//
	// In case [IKey.Type] = [KeyTypesGlobalReference],
	// the key represents a reference to a source that can be globally identified.
	//
	// In case [IKey.Type] = [KeyTypesFragmentReference] the key represents
	// a bookmark or a similar local identifier within its parent element as specified
	// by the key that precedes this key.
	//
	// In all other cases the key references a model element of the same or of another AAS.
	// The name of the model element is explicitly listed.
	Type() KeyTypes

	SetType(
		value KeyTypes,
	)

	// The key value, for example an IRDI or an URI
	Value() string

	SetValue(
		value string,
	)
}

A key is a reference to an element by its ID.

type ILangStringDefinitionTypeIEC61360

type ILangStringDefinitionTypeIEC61360 interface {
	IAbstractLangString
}

String with length 1023 maximum and minimum 1 characters and with language tags

type ILangStringNameType

type ILangStringNameType interface {
	IAbstractLangString
}

String with length 128 maximum and minimum 1 characters and with language tags

type ILangStringPreferredNameTypeIEC61360

type ILangStringPreferredNameTypeIEC61360 interface {
	IAbstractLangString
}

String with length 255 maximum and minimum 1 characters and with language tags

NOTE: It is advised to keep the length of the name limited to 35 characters.

type ILangStringShortNameTypeIEC61360

type ILangStringShortNameTypeIEC61360 interface {
	IAbstractLangString
}

String with length 18 maximum and minimum 1 characters and with language tags

type ILangStringTextType

type ILangStringTextType interface {
	IAbstractLangString
}

String with length 1023 maximum and minimum 1 characters and with language tags

type ILevelType

type ILevelType interface {
	IClass

	// Minimum of the value
	Min() bool

	SetMin(
		value bool,
	)

	// Nominal value (value as designated)
	Nom() bool

	SetNom(
		value bool,
	)

	// Value as typically present
	Typ() bool

	SetTyp(
		value bool,
	)

	// Maximum of the value
	Max() bool

	SetMax(
		value bool,
	)
}

Value represented by up to four variants of a numeric value in a specific role: `MIN`, `NOM`, `TYP` and `MAX`. True means that the value is available, false means the value is not available.

EXAMPLE from [IEC61360-1]: In the case of having a property which is of the LEVEL_TYPE min/max − expressing a range − only those two values need to be provided.

NOTE: This is how AAS deals with the following combinations of level types:

  • Either all attributes are false. In this case the concept is mapped to a IProperty and level type is ignored.
  • At most one of the attributes is set to true. In this case the concept is mapped to a IProperty.
  • Min and max are set to true. In this case the concept is mapped to a IRange.
  • More than one attribute is set to true but not min and max only (see second case). In this case the concept is mapped to a ISubmodelElementCollection with the corresponding number of Properties. Example: If attribute [ILevelType.Min] and [ILevelType.Nom] are set to true then the concept is mapped to a ISubmodelElementCollection with two Properties within: min and nom. The data type of both Properties is the same.

NOTE: In the cases 2. and 4. the [IProperty.SemanticID] of the Property or Properties within the ISubmodelElementCollection needs to include information about the level type. Otherwise, the semantics is not described in a unique way. Please refer to the specification.

type IMultiLanguageProperty

type IMultiLanguageProperty interface {
	IDataElement

	// The value of the property instance.
	Value() []ILangStringTextType

	SetValue(
		value []ILangStringTextType,
	)

	// Reference to the global unique ID of a coded value.
	//
	// NOTE: It is recommended to use a global reference.
	ValueID() IReference

	SetValueID(
		value IReference,
	)

	CategoryOrDefault() string
}

A property is a data element that has a multi-language value.

Constraint AASd-012: If both the [IMultiLanguageProperty.Value] and the [IMultiLanguageProperty.ValueID] are present then for each string in a specific language the meaning must be the same as specified in [IMultiLanguageProperty.ValueID].

type IOperation

type IOperation interface {
	ISubmodelElement

	// Input parameter of the operation.
	InputVariables() []IOperationVariable

	SetInputVariables(
		value []IOperationVariable,
	)

	// Output parameter of the operation.
	OutputVariables() []IOperationVariable

	SetOutputVariables(
		value []IOperationVariable,
	)

	// Parameter that is input and output of the operation.
	InoutputVariables() []IOperationVariable

	SetInoutputVariables(
		value []IOperationVariable,
	)
}

An operation is a submodel element with input and output variables.

Constraint AASd-134: For an IOperation the [IReferable.IDShort] of all [IOperationVariable.Value]'s in [IOperation.InputVariables], [IOperation.OutputVariables] and [IOperation.InoutputVariables] shall be unique.

type IOperationVariable

type IOperationVariable interface {
	IClass

	// Describes an argument or result of an operation via a submodel element
	Value() ISubmodelElement

	SetValue(
		value ISubmodelElement,
	)
}

The value of an operation variable is a submodel element that is used as input and/or output variable of an operation.

type IProperty

type IProperty interface {
	IDataElement

	// Data type of the value
	ValueType() DataTypeDefXSD

	SetValueType(
		value DataTypeDefXSD,
	)

	// The value of the property instance.
	Value() *string

	SetValue(
		value *string,
	)

	// Reference to the global unique ID of a coded value.
	//
	// NOTE: It is recommended to use a global reference.
	ValueID() IReference

	SetValueID(
		value IReference,
	)

	CategoryOrDefault() string
}

A property is a data element that has a single value.

Constraint AASd-007: If both, the [IProperty.Value] and the [IProperty.ValueID] are present then the value of [IProperty.Value] needs to be identical to the value of the referenced coded value in [IProperty.ValueID].

type IQualifiable

type IQualifiable interface {
	IClass

	// Additional qualification of a qualifiable element.
	//
	// Constraint AASd-021:
	// Every qualifiable can only have one qualifier with the same
	// [IQualifier.Type].
	Qualifiers() []IQualifier

	SetQualifiers(
		value []IQualifier,
	)
}

The value of a qualifiable element may be further qualified by one or more qualifiers.

Constraint AASd-119: If any [IQualifier.Kind] value of [IQualifiable.Qualifiers] is equal to QualifierKindTemplateQualifier and the qualified element inherits from IHasKind then the qualified element shall be of kind Template ([IHasKind.Kind] = ModellingKindTemplate).

NOTE: This constraint is checked at ISubmodel.

type IQualifier

type IQualifier interface {
	IHasSemantics

	// The qualifier kind describes the kind of the qualifier that is applied to the
	// element.
	//
	// Default: [QualifierKindConceptQualifier]
	Kind() *QualifierKind

	SetKind(
		value *QualifierKind,
	)

	// The qualifier type describes the type of the qualifier that is applied to
	// the element.
	Type() string

	SetType(
		value string,
	)

	// Data type of the qualifier value.
	ValueType() DataTypeDefXSD

	SetValueType(
		value DataTypeDefXSD,
	)

	// The qualifier value is the value of the qualifier.
	Value() *string

	SetValue(
		value *string,
	)

	// Reference to the global unique ID of a coded value.
	//
	// NOTE: It is recommended to use a global reference.
	ValueID() IReference

	SetValueID(
		value IReference,
	)

	KindOrDefault() QualifierKind
}

A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element.

Constraint AASd-006: If both the [IQualifier.Value] and the [IQualifier.ValueID] of a IQualifier are present then the [IQualifier.Value] needs to be identical to the value of the referenced coded value in [IQualifier.ValueID].

Constraint AASd-020: The value of [IQualifier.Value] shall be consistent to the data type as defined in [IQualifier.ValueType].

type IRange

type IRange interface {
	IDataElement

	// Data type of the min und max
	ValueType() DataTypeDefXSD

	SetValueType(
		value DataTypeDefXSD,
	)

	// The minimum value of the range.
	//
	// If the min value is missing, then the value is assumed to be negative infinite.
	Min() *string

	SetMin(
		value *string,
	)

	// The maximum value of the range.
	//
	// If the max value is missing, then the value is assumed to be positive infinite.
	Max() *string

	SetMax(
		value *string,
	)

	CategoryOrDefault() string
}

A range data element is a data element that defines a range with min and max.

type IReferable

type IReferable interface {
	IHasExtensions

	// 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.
	//
	// NOTE: 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.
	Category() *string

	SetCategory(
		value *string,
	)

	// 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.
	//
	// NOTE: In case the element is a property and the property has a semantic definition
	// ([IHasSemantics.SemanticID]) conformant to IEC61360
	// the [IReferable.IDShort] is typically identical to the short name in English.
	IDShort() *string

	SetIDShort(
		value *string,
	)

	// Display name. Can be provided in several languages.
	DisplayName() []ILangStringNameType

	SetDisplayName(
		value []ILangStringNameType,
	)

	// Description or comments on the element.
	//
	// 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.
	Description() []ILangStringTextType

	SetDescription(
		value []ILangStringTextType,
	)
}

An element that is referable by its [IReferable.IDShort].

This ID is not globally unique. This ID is unique within the name space of the element.

Constraint AASd-022: [IReferable.IDShort] of non-identifiable referables within the same name space shall be unique (case-sensitive).

type IReference

type IReference interface {
	IClass

	// Type of the reference.
	//
	// Denotes, whether reference is an external reference or a model reference.
	Type() ReferenceTypes

	SetType(
		value ReferenceTypes,
	)

	// [IHasSemantics.SemanticID] of the referenced model element
	// ([IReference.Type] = [ReferenceTypesModelReference]).
	//
	// For external references there typically is no semantic ID.
	//
	// NOTE: It is recommended to use a external reference.
	ReferredSemanticID() IReference

	SetReferredSemanticID(
		value IReference,
	)

	// Unique references in their name space.
	Keys() []IKey

	SetKeys(
		value []IKey,
	)
}

Reference to either a model element of the same or another AAS or to an external entity.

A reference is an ordered list of keys.

A model reference is an ordered list of keys, each key referencing an element. The complete list of keys may for example be concatenated to a path that then gives unique access to an element.

An external reference is a reference to an external entity.

Constraint AASd-121: For IReference's the value of [IKey.Type] of the first key of " [IReference.Keys] shall be one of [aasconstants.GloballyIdentifiables].

Constraint AASd-122: For external references, i.e. IReference's with [IReference.Type] = ReferenceTypesExternalReference, the value of [IKey.Type] of the first key of [IReference.Keys] shall be one of [aasconstants.GenericGloballyIdentifiables].

Constraint AASd-123: For model references, i.e. IReference's with [IReference.Type] = ReferenceTypesModelReference, the value of [IKey.Type] of the first key of [IReference.Keys] shall be one of [aasconstants.AASIdentifiables].

Constraint AASd-124: For external references, i.e. IReference's with [IReference.Type] = ReferenceTypesExternalReference, the last key of [IReference.Keys] shall be either one of [aasconstants.GenericGloballyIdentifiables] or one of [aasconstants.GenericFragmentKeys].

Constraint AASd-125: For model references, i.e. IReference's with [IReference.Type] = ReferenceTypesModelReference, with more than one key in [IReference.Keys] the value of [IKey.Type] of each of the keys following the first key of [IReference.Keys] shall be one of [aasconstants.FragmentKeys].

NOTE: Constraint AASd-125 ensures that the shortest path is used.

Constraint AASd-126: For model references, i.e. IReference's with [IReference.Type] = ReferenceTypesModelReference, with more than one key in [IReference.Keys] the value of [IKey.Type] of the last key in the reference key chain may be one of [aasconstants.GenericFragmentKeys] or no key at all shall have a value out of [aasconstants.GenericFragmentKeys].

Constraint AASd-127: For model references, i.e. IReference's with [IReference.Type] = ReferenceTypesModelReference, with more than one key in [IReference.Keys] a key with [IKey.Type] KeyTypesFragmentReference shall be preceded by a key with [IKey.Type] KeyTypesFile or KeyTypesBlob. All other AAS fragments, i.e. [IKey.Type] values out of [aasconstants.AASSubmodelElementsAsKeys], do not support fragments.

NOTE: Which kind of fragments are supported depends on the content type and the specification of allowed fragment identifiers for the corresponding resource being referenced via the reference.

Constraint AASd-128: For model references, i.e. IReference's with [IReference.Type] = ReferenceTypesModelReference, the [IKey.Value] of a IKey preceded by a IKey with [IKey.Type] = KeyTypesSubmodelElementList is an integer number denoting the position in the array of the submodel element list.

type IReferenceElement

type IReferenceElement interface {
	IDataElement

	// Global reference to an external object or entity or a logical reference to
	// another element within the same or another AAS (i.e. a model reference to
	// a Referable).
	Value() IReference

	SetValue(
		value IReference,
	)

	CategoryOrDefault() string
}

A reference element is a data element that defines a logical reference to another element within the same or another AAS or a reference to an external object or entity.

type IRelationshipElement

type IRelationshipElement interface {
	ISubmodelElement

	// Reference to the first element in the relationship taking the role of the subject.
	First() IReference

	SetFirst(
		value IReference,
	)

	// Reference to the second element in the relationship taking the role of the object.
	Second() IReference

	SetSecond(
		value IReference,
	)
}

A relationship element is used to define a relationship between two elements being either referable (model reference) or external (global reference).

type IResource

type IResource interface {
	IClass

	// Path and name of the resource (with file extension).
	//
	// The path can be absolute or relative.
	Path() string

	SetPath(
		value string,
	)

	// Content type of the content of the file.
	//
	// The content type states which file extensions the file can have.
	ContentType() *string

	SetContentType(
		value *string,
	)
}

Resource represents an address to a file (a locator). The value is an URI that can represent an absolute or relative path

type ISpecificAssetID

type ISpecificAssetID interface {
	IHasSemantics

	// Name of the identifier
	Name() string

	SetName(
		value string,
	)

	// The value of the specific asset identifier with the corresponding name.
	Value() string

	SetValue(
		value string,
	)

	// The (external) subject the key belongs to or has meaning to.
	//
	// NOTE: This is a global reference.
	ExternalSubjectID() IReference

	SetExternalSubjectID(
		value IReference,
	)
}

A specific asset ID describes a generic supplementary identifying attribute of the asset.

The specific asset ID is not necessarily globally unique.

Constraint AASd-133: [ISpecificAssetID.ExternalSubjectID] shall be an external reference, i.e. [IReference.Type] = ReferenceTypesExternalReference.

type ISubmodel

type ISubmodel interface {
	IIdentifiable

	IHasKind

	IHasSemantics

	IQualifiable

	IHasDataSpecification

	// A submodel consists of zero or more submodel elements.
	SubmodelElements() []ISubmodelElement

	SetSubmodelElements(
		value []ISubmodelElement,
	)

	KindOrDefault() ModellingKind
}

A submodel defines a specific aspect of the asset represented by the AAS.

A submodel is used to structure the digital representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and, thus, become submodels templates.

type ISubmodelElement

type ISubmodelElement interface {
	IReferable

	IHasSemantics

	IQualifiable

	IHasDataSpecification
}

A submodel element is an element suitable for the description and differentiation of assets.

It is recommended to add a [IHasSemantics.SemanticID] to a submodel element.

Constraint AASd-129: If any [IQualifier.Kind] value of [ISubmodelElement.Qualifiers] (attribute qualifier inherited via Qualifiable) is equal to QualifierKindTemplateQualifier then the submodel element shall be part of a submodel template, i.e. a Submodel with [ISubmodel.Kind] (attribute kind inherited via IHasKind) value is equal to ModellingKindTemplate.

type ISubmodelElementCollection

type ISubmodelElementCollection interface {
	ISubmodelElement

	// Submodel element contained in the collection.
	Value() []ISubmodelElement

	SetValue(
		value []ISubmodelElement,
	)
}

A submodel element collection is a kind of struct, i.e. a a logical encapsulation of multiple named values. It has a fixed number of submodel elements.

type ISubmodelElementList

type ISubmodelElementList interface {
	ISubmodelElement

	// Defines whether order in list is relevant. If [ISubmodelElementList.OrderRelevant] = `False`
	// then the list is representing a set or a bag.
	//
	// Default: `True`
	OrderRelevant() *bool

	SetOrderRelevant(
		value *bool,
	)

	// Semantic ID the submodel elements contained in the list match to.
	//
	// NOTE: It is recommended to use a global reference.
	SemanticIDListElement() IReference

	SetSemanticIDListElement(
		value IReference,
	)

	// The submodel element type of the submodel elements contained in the list.
	TypeValueListElement() AASSubmodelElements

	SetTypeValueListElement(
		value AASSubmodelElements,
	)

	// The value type of the submodel element contained in the list.
	ValueTypeListElement() *DataTypeDefXSD

	SetValueTypeListElement(
		value *DataTypeDefXSD,
	)

	// Submodel element contained in the list.
	//
	// The list is ordered.
	Value() []ISubmodelElement

	SetValue(
		value []ISubmodelElement,
	)

	OrderRelevantOrDefault() bool
}

A submodel element list is an ordered list of submodel elements.

The numbering starts with zero (0).

Constraint AASd-107: If a first level child element in a ISubmodelElementList has a [IHasSemantics.SemanticID] it shall be identical to [ISubmodelElementList.SemanticIDListElement].

Constraint AASd-114: If two first level child elements in a ISubmodelElementList have a [IHasSemantics.SemanticID] then they shall be identical.

Constraint AASd-115: If a first level child element in a ISubmodelElementList does not specify a [IHasSemantics.SemanticID] then the value is assumed to be identical to [ISubmodelElementList.SemanticIDListElement].

Constraint AASd-120: The [ISubmodelElementList.IDShort] of a ISubmodelElement being a direct child of a ISubmodelElementList shall not be specified.

Constraint AASd-108: All first level child elements in a ISubmodelElementList shall have the same submodel element type as specified in [ISubmodelElementList.TypeValueListElement].

Constraint AASd-109: If [ISubmodelElementList.TypeValueListElement] is equal to AASSubmodelElementsProperty or AASSubmodelElementsRange [ISubmodelElementList.ValueTypeListElement] shall be set and all first level child elements in the ISubmodelElementList shall have the value type as specified in [ISubmodelElementList.ValueTypeListElement].

type IValueList

type IValueList interface {
	IClass

	// A pair of a value together with its global unique id.
	ValueReferencePairs() []IValueReferencePair

	SetValueReferencePairs(
		value []IValueReferencePair,
	)
}

A set of value reference pairs.

type IValueReferencePair

type IValueReferencePair interface {
	IClass

	// The value of the referenced concept definition of the value in [IValueReferencePair.ValueID].
	Value() string

	SetValue(
		value string,
	)

	// Global unique id of the value.
	//
	// NOTE: It is recommended to use a global reference.
	ValueID() IReference

	SetValueID(
		value IReference,
	)
}

A value reference pair within a value list. Each value has a global unique id defining its semantic.

type Key

type Key struct {
	// contains filtered or unexported fields
}

Implements IKey.

func NewKey

func NewKey(
	typE KeyTypes,
	value string,
) *Key

Create a new instance of Key with the given properties.

func (*Key) Descend

func (k *Key) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from k.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on k.

func (*Key) DescendOnce

func (k *Key) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from k.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on k.

func (*Key) ModelType

func (k *Key) ModelType() ModelType

func (*Key) SetType

func (k *Key) SetType(
	value KeyTypes,
)

func (*Key) SetValue

func (k *Key) SetValue(
	value string,
)

func (*Key) Type

func (k *Key) Type() KeyTypes

func (*Key) Value

func (k *Key) Value() string

type KeyTypes

type KeyTypes int

Enumeration of different key value types within a key.

const (
	KeyTypesAnnotatedRelationshipElement KeyTypes = iota
	KeyTypesAssetAdministrationShell
	KeyTypesBasicEventElement
	KeyTypesBlob
	KeyTypesCapability
	KeyTypesConceptDescription
	// Data element.
	//
	// NOTE: Data Element is abstract, i.e. if a key uses [KeyTypesDataElement]
	// the reference may be a Property, a File etc.
	KeyTypesDataElement
	KeyTypesEntity
	// Event.
	//
	// NOTE: [IEventElement] is abstract.
	KeyTypesEventElement
	KeyTypesFile
	// Bookmark or a similar local identifier of a subordinate part of
	// a primary resource
	KeyTypesFragmentReference
	KeyTypesGlobalReference
	// Identifiable.
	//
	// NOTE: Identifiable is abstract, i.e. if a key uses “Identifiable” the reference
	// may be an Asset Administration Shell, a Submodel or a Concept Description.
	KeyTypesIdentifiable
	// Property with a value that can be provided in multiple languages
	KeyTypesMultiLanguageProperty
	KeyTypesOperation
	KeyTypesProperty
	// Range with min and max
	KeyTypesRange
	KeyTypesReferable
	// Reference
	KeyTypesReferenceElement
	// Relationship
	KeyTypesRelationshipElement
	KeyTypesSubmodel
	// Submodel Element
	//
	// NOTE: Submodel Element is abstract, i.e. if a key uses [KeyTypesSubmodelElement]
	// the reference may be a [IProperty], an [IOperation] etc.
	KeyTypesSubmodelElement
	// Struct of Submodel Elements
	KeyTypesSubmodelElementCollection
	// List of Submodel Elements
	KeyTypesSubmodelElementList
)

type LangStringDefinitionTypeIEC61360

type LangStringDefinitionTypeIEC61360 struct {
	// contains filtered or unexported fields
}

Implements ILangStringDefinitionTypeIEC61360.

func NewLangStringDefinitionTypeIEC61360

func NewLangStringDefinitionTypeIEC61360(
	language string,
	text string,
) *LangStringDefinitionTypeIEC61360

Create a new instance of LangStringDefinitionTypeIEC61360 with the given properties.

func (*LangStringDefinitionTypeIEC61360) Descend

func (lsdti6 *LangStringDefinitionTypeIEC61360) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from lsdti6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on lsdti6.

func (*LangStringDefinitionTypeIEC61360) DescendOnce

func (lsdti6 *LangStringDefinitionTypeIEC61360) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from lsdti6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on lsdti6.

func (*LangStringDefinitionTypeIEC61360) Language

func (lsdti6 *LangStringDefinitionTypeIEC61360) Language() string

func (*LangStringDefinitionTypeIEC61360) ModelType

func (lsdti6 *LangStringDefinitionTypeIEC61360) ModelType() ModelType

func (*LangStringDefinitionTypeIEC61360) SetLanguage

func (lsdti6 *LangStringDefinitionTypeIEC61360) SetLanguage(
	value string,
)

func (*LangStringDefinitionTypeIEC61360) SetText

func (lsdti6 *LangStringDefinitionTypeIEC61360) SetText(
	value string,
)

func (*LangStringDefinitionTypeIEC61360) Text

type LangStringNameType

type LangStringNameType struct {
	// contains filtered or unexported fields
}

Implements ILangStringNameType.

func NewLangStringNameType

func NewLangStringNameType(
	language string,
	text string,
) *LangStringNameType

Create a new instance of LangStringNameType with the given properties.

func (*LangStringNameType) Descend

func (lsnt *LangStringNameType) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from lsnt.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on lsnt.

func (*LangStringNameType) DescendOnce

func (lsnt *LangStringNameType) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from lsnt.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on lsnt.

func (*LangStringNameType) Language

func (lsnt *LangStringNameType) Language() string

func (*LangStringNameType) ModelType

func (lsnt *LangStringNameType) ModelType() ModelType

func (*LangStringNameType) SetLanguage

func (lsnt *LangStringNameType) SetLanguage(
	value string,
)

func (*LangStringNameType) SetText

func (lsnt *LangStringNameType) SetText(
	value string,
)

func (*LangStringNameType) Text

func (lsnt *LangStringNameType) Text() string

type LangStringPreferredNameTypeIEC61360

type LangStringPreferredNameTypeIEC61360 struct {
	// contains filtered or unexported fields
}

Implements ILangStringPreferredNameTypeIEC61360.

func NewLangStringPreferredNameTypeIEC61360

func NewLangStringPreferredNameTypeIEC61360(
	language string,
	text string,
) *LangStringPreferredNameTypeIEC61360

Create a new instance of LangStringPreferredNameTypeIEC61360 with the given properties.

func (*LangStringPreferredNameTypeIEC61360) Descend

func (lspnti6 *LangStringPreferredNameTypeIEC61360) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from lspnti6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on lspnti6.

func (*LangStringPreferredNameTypeIEC61360) DescendOnce

func (lspnti6 *LangStringPreferredNameTypeIEC61360) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from lspnti6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on lspnti6.

func (*LangStringPreferredNameTypeIEC61360) Language

func (lspnti6 *LangStringPreferredNameTypeIEC61360) Language() string

func (*LangStringPreferredNameTypeIEC61360) ModelType

func (lspnti6 *LangStringPreferredNameTypeIEC61360) ModelType() ModelType

func (*LangStringPreferredNameTypeIEC61360) SetLanguage

func (lspnti6 *LangStringPreferredNameTypeIEC61360) SetLanguage(
	value string,
)

func (*LangStringPreferredNameTypeIEC61360) SetText

func (lspnti6 *LangStringPreferredNameTypeIEC61360) SetText(
	value string,
)

func (*LangStringPreferredNameTypeIEC61360) Text

type LangStringShortNameTypeIEC61360

type LangStringShortNameTypeIEC61360 struct {
	// contains filtered or unexported fields
}

Implements ILangStringShortNameTypeIEC61360.

func NewLangStringShortNameTypeIEC61360

func NewLangStringShortNameTypeIEC61360(
	language string,
	text string,
) *LangStringShortNameTypeIEC61360

Create a new instance of LangStringShortNameTypeIEC61360 with the given properties.

func (*LangStringShortNameTypeIEC61360) Descend

func (lssnti6 *LangStringShortNameTypeIEC61360) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from lssnti6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on lssnti6.

func (*LangStringShortNameTypeIEC61360) DescendOnce

func (lssnti6 *LangStringShortNameTypeIEC61360) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from lssnti6.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on lssnti6.

func (*LangStringShortNameTypeIEC61360) Language

func (lssnti6 *LangStringShortNameTypeIEC61360) Language() string

func (*LangStringShortNameTypeIEC61360) ModelType

func (lssnti6 *LangStringShortNameTypeIEC61360) ModelType() ModelType

func (*LangStringShortNameTypeIEC61360) SetLanguage

func (lssnti6 *LangStringShortNameTypeIEC61360) SetLanguage(
	value string,
)

func (*LangStringShortNameTypeIEC61360) SetText

func (lssnti6 *LangStringShortNameTypeIEC61360) SetText(
	value string,
)

func (*LangStringShortNameTypeIEC61360) Text

func (lssnti6 *LangStringShortNameTypeIEC61360) Text() string

type LangStringTextType

type LangStringTextType struct {
	// contains filtered or unexported fields
}

Implements ILangStringTextType.

func NewLangStringTextType

func NewLangStringTextType(
	language string,
	text string,
) *LangStringTextType

Create a new instance of LangStringTextType with the given properties.

func (*LangStringTextType) Descend

func (lstt *LangStringTextType) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from lstt.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on lstt.

func (*LangStringTextType) DescendOnce

func (lstt *LangStringTextType) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from lstt.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on lstt.

func (*LangStringTextType) Language

func (lstt *LangStringTextType) Language() string

func (*LangStringTextType) ModelType

func (lstt *LangStringTextType) ModelType() ModelType

func (*LangStringTextType) SetLanguage

func (lstt *LangStringTextType) SetLanguage(
	value string,
)

func (*LangStringTextType) SetText

func (lstt *LangStringTextType) SetText(
	value string,
)

func (*LangStringTextType) Text

func (lstt *LangStringTextType) Text() string

type LevelType

type LevelType struct {
	// contains filtered or unexported fields
}

Implements ILevelType.

func NewLevelType

func NewLevelType(
	min bool,
	nom bool,
	typ bool,
	max bool,
) *LevelType

Create a new instance of LevelType with the given properties.

func (*LevelType) Descend

func (lt *LevelType) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from lt.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on lt.

func (*LevelType) DescendOnce

func (lt *LevelType) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from lt.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on lt.

func (*LevelType) Max

func (lt *LevelType) Max() bool

func (*LevelType) Min

func (lt *LevelType) Min() bool

func (*LevelType) ModelType

func (lt *LevelType) ModelType() ModelType

func (*LevelType) Nom

func (lt *LevelType) Nom() bool

func (*LevelType) SetMax

func (lt *LevelType) SetMax(
	value bool,
)

func (*LevelType) SetMin

func (lt *LevelType) SetMin(
	value bool,
)

func (*LevelType) SetNom

func (lt *LevelType) SetNom(
	value bool,
)

func (*LevelType) SetTyp

func (lt *LevelType) SetTyp(
	value bool,
)

func (*LevelType) Typ

func (lt *LevelType) Typ() bool

type ModelType

type ModelType int

Enumerate the model types for faster type switches.

For example, you can use an array of function pointers to implement such a switch.

const (
	ModelTypeExtension ModelType = iota
	ModelTypeAdministrativeInformation
	ModelTypeQualifier
	ModelTypeAssetAdministrationShell
	ModelTypeAssetInformation
	ModelTypeResource
	ModelTypeSpecificAssetID
	ModelTypeSubmodel
	ModelTypeRelationshipElement
	ModelTypeSubmodelElementList
	ModelTypeSubmodelElementCollection
	ModelTypeProperty
	ModelTypeMultiLanguageProperty
	ModelTypeRange
	ModelTypeReferenceElement
	ModelTypeBlob
	ModelTypeFile
	ModelTypeAnnotatedRelationshipElement
	ModelTypeEntity
	ModelTypeEventPayload
	ModelTypeBasicEventElement
	ModelTypeOperation
	ModelTypeOperationVariable
	ModelTypeCapability
	ModelTypeConceptDescription
	ModelTypeReference
	ModelTypeKey
	ModelTypeLangStringNameType
	ModelTypeLangStringTextType
	ModelTypeEnvironment
	ModelTypeEmbeddedDataSpecification
	ModelTypeLevelType
	ModelTypeValueReferencePair
	ModelTypeValueList
	ModelTypeLangStringPreferredNameTypeIEC61360
	ModelTypeLangStringShortNameTypeIEC61360
	ModelTypeLangStringDefinitionTypeIEC61360
	ModelTypeDataSpecificationIEC61360
)

type ModellingKind

type ModellingKind int

Enumeration for denoting whether an element is a template or an instance.

const (
	// Specification of the common features of a structured element in sufficient detail
	// that such a instance can be instantiated using it
	ModellingKindTemplate ModellingKind = iota
	// Concrete, clearly identifiable element instance. Its creation and validation
	// may be guided by a corresponding element template.
	ModellingKindInstance
)

type MultiLanguageProperty

type MultiLanguageProperty struct {
	// contains filtered or unexported fields
}

Implements IMultiLanguageProperty.

func NewMultiLanguageProperty

func NewMultiLanguageProperty() *MultiLanguageProperty

Create a new instance of MultiLanguageProperty with the given properties.

func (*MultiLanguageProperty) Category

func (mlp *MultiLanguageProperty) Category() *string

func (*MultiLanguageProperty) CategoryOrDefault

func (mlp *MultiLanguageProperty) CategoryOrDefault() string

Return [IReferable.Category] or the default value if it has not been set.

func (*MultiLanguageProperty) Descend

func (mlp *MultiLanguageProperty) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from mlp.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on mlp.

func (*MultiLanguageProperty) DescendOnce

func (mlp *MultiLanguageProperty) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from mlp.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on mlp.

func (*MultiLanguageProperty) Description

func (mlp *MultiLanguageProperty) Description() []ILangStringTextType

func (*MultiLanguageProperty) DisplayName

func (mlp *MultiLanguageProperty) DisplayName() []ILangStringNameType

func (*MultiLanguageProperty) EmbeddedDataSpecifications

func (mlp *MultiLanguageProperty) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*MultiLanguageProperty) Extensions

func (mlp *MultiLanguageProperty) Extensions() []IExtension

func (*MultiLanguageProperty) IDShort

func (mlp *MultiLanguageProperty) IDShort() *string

func (*MultiLanguageProperty) ModelType

func (mlp *MultiLanguageProperty) ModelType() ModelType

func (*MultiLanguageProperty) Qualifiers

func (mlp *MultiLanguageProperty) Qualifiers() []IQualifier

func (*MultiLanguageProperty) SemanticID

func (mlp *MultiLanguageProperty) SemanticID() IReference

func (*MultiLanguageProperty) SetCategory

func (mlp *MultiLanguageProperty) SetCategory(
	value *string,
)

func (*MultiLanguageProperty) SetDescription

func (mlp *MultiLanguageProperty) SetDescription(
	value []ILangStringTextType,
)

func (*MultiLanguageProperty) SetDisplayName

func (mlp *MultiLanguageProperty) SetDisplayName(
	value []ILangStringNameType,
)

func (*MultiLanguageProperty) SetEmbeddedDataSpecifications

func (mlp *MultiLanguageProperty) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*MultiLanguageProperty) SetExtensions

func (mlp *MultiLanguageProperty) SetExtensions(
	value []IExtension,
)

func (*MultiLanguageProperty) SetIDShort

func (mlp *MultiLanguageProperty) SetIDShort(
	value *string,
)

func (*MultiLanguageProperty) SetQualifiers

func (mlp *MultiLanguageProperty) SetQualifiers(
	value []IQualifier,
)

func (*MultiLanguageProperty) SetSemanticID

func (mlp *MultiLanguageProperty) SetSemanticID(
	value IReference,
)

func (*MultiLanguageProperty) SetSupplementalSemanticIDs

func (mlp *MultiLanguageProperty) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*MultiLanguageProperty) SetValue

func (mlp *MultiLanguageProperty) SetValue(
	value []ILangStringTextType,
)

func (*MultiLanguageProperty) SetValueID

func (mlp *MultiLanguageProperty) SetValueID(
	value IReference,
)

func (*MultiLanguageProperty) SupplementalSemanticIDs

func (mlp *MultiLanguageProperty) SupplementalSemanticIDs() []IReference

func (*MultiLanguageProperty) Value

func (*MultiLanguageProperty) ValueID

func (mlp *MultiLanguageProperty) ValueID() IReference

type Operation

type Operation struct {
	// contains filtered or unexported fields
}

Implements IOperation.

func NewOperation

func NewOperation() *Operation

Create a new instance of Operation with the given properties.

func (*Operation) Category

func (o *Operation) Category() *string

func (*Operation) Descend

func (o *Operation) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from o.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on o.

func (*Operation) DescendOnce

func (o *Operation) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from o.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on o.

func (*Operation) Description

func (o *Operation) Description() []ILangStringTextType

func (*Operation) DisplayName

func (o *Operation) DisplayName() []ILangStringNameType

func (*Operation) EmbeddedDataSpecifications

func (o *Operation) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Operation) Extensions

func (o *Operation) Extensions() []IExtension

func (*Operation) IDShort

func (o *Operation) IDShort() *string

func (*Operation) InoutputVariables

func (o *Operation) InoutputVariables() []IOperationVariable

func (*Operation) InputVariables

func (o *Operation) InputVariables() []IOperationVariable

func (*Operation) ModelType

func (o *Operation) ModelType() ModelType

func (*Operation) OutputVariables

func (o *Operation) OutputVariables() []IOperationVariable

func (*Operation) Qualifiers

func (o *Operation) Qualifiers() []IQualifier

func (*Operation) SemanticID

func (o *Operation) SemanticID() IReference

func (*Operation) SetCategory

func (o *Operation) SetCategory(
	value *string,
)

func (*Operation) SetDescription

func (o *Operation) SetDescription(
	value []ILangStringTextType,
)

func (*Operation) SetDisplayName

func (o *Operation) SetDisplayName(
	value []ILangStringNameType,
)

func (*Operation) SetEmbeddedDataSpecifications

func (o *Operation) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Operation) SetExtensions

func (o *Operation) SetExtensions(
	value []IExtension,
)

func (*Operation) SetIDShort

func (o *Operation) SetIDShort(
	value *string,
)

func (*Operation) SetInoutputVariables

func (o *Operation) SetInoutputVariables(
	value []IOperationVariable,
)

func (*Operation) SetInputVariables

func (o *Operation) SetInputVariables(
	value []IOperationVariable,
)

func (*Operation) SetOutputVariables

func (o *Operation) SetOutputVariables(
	value []IOperationVariable,
)

func (*Operation) SetQualifiers

func (o *Operation) SetQualifiers(
	value []IQualifier,
)

func (*Operation) SetSemanticID

func (o *Operation) SetSemanticID(
	value IReference,
)

func (*Operation) SetSupplementalSemanticIDs

func (o *Operation) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Operation) SupplementalSemanticIDs

func (o *Operation) SupplementalSemanticIDs() []IReference

type OperationVariable

type OperationVariable struct {
	// contains filtered or unexported fields
}

Implements IOperationVariable.

func NewOperationVariable

func NewOperationVariable(
	value ISubmodelElement,
) *OperationVariable

Create a new instance of OperationVariable with the given properties.

func (*OperationVariable) Descend

func (ov *OperationVariable) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from ov.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on ov.

func (*OperationVariable) DescendOnce

func (ov *OperationVariable) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from ov.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on ov.

func (*OperationVariable) ModelType

func (ov *OperationVariable) ModelType() ModelType

func (*OperationVariable) SetValue

func (ov *OperationVariable) SetValue(
	value ISubmodelElement,
)

func (*OperationVariable) Value

func (ov *OperationVariable) Value() ISubmodelElement

type Property

type Property struct {
	// contains filtered or unexported fields
}

Implements IProperty.

func NewProperty

func NewProperty(
	valueType DataTypeDefXSD,
) *Property

Create a new instance of Property with the given properties.

func (*Property) Category

func (p *Property) Category() *string

func (*Property) CategoryOrDefault

func (p *Property) CategoryOrDefault() string

Return [IReferable.Category] or the default value if it has not been set.

func (*Property) Descend

func (p *Property) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from p.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on p.

func (*Property) DescendOnce

func (p *Property) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from p.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on p.

func (*Property) Description

func (p *Property) Description() []ILangStringTextType

func (*Property) DisplayName

func (p *Property) DisplayName() []ILangStringNameType

func (*Property) EmbeddedDataSpecifications

func (p *Property) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Property) Extensions

func (p *Property) Extensions() []IExtension

func (*Property) IDShort

func (p *Property) IDShort() *string

func (*Property) ModelType

func (p *Property) ModelType() ModelType

func (*Property) Qualifiers

func (p *Property) Qualifiers() []IQualifier

func (*Property) SemanticID

func (p *Property) SemanticID() IReference

func (*Property) SetCategory

func (p *Property) SetCategory(
	value *string,
)

func (*Property) SetDescription

func (p *Property) SetDescription(
	value []ILangStringTextType,
)

func (*Property) SetDisplayName

func (p *Property) SetDisplayName(
	value []ILangStringNameType,
)

func (*Property) SetEmbeddedDataSpecifications

func (p *Property) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Property) SetExtensions

func (p *Property) SetExtensions(
	value []IExtension,
)

func (*Property) SetIDShort

func (p *Property) SetIDShort(
	value *string,
)

func (*Property) SetQualifiers

func (p *Property) SetQualifiers(
	value []IQualifier,
)

func (*Property) SetSemanticID

func (p *Property) SetSemanticID(
	value IReference,
)

func (*Property) SetSupplementalSemanticIDs

func (p *Property) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Property) SetValue

func (p *Property) SetValue(
	value *string,
)

func (*Property) SetValueID

func (p *Property) SetValueID(
	value IReference,
)

func (*Property) SetValueType

func (p *Property) SetValueType(
	value DataTypeDefXSD,
)

func (*Property) SupplementalSemanticIDs

func (p *Property) SupplementalSemanticIDs() []IReference

func (*Property) Value

func (p *Property) Value() *string

func (*Property) ValueID

func (p *Property) ValueID() IReference

func (*Property) ValueType

func (p *Property) ValueType() DataTypeDefXSD

type Qualifier

type Qualifier struct {
	// contains filtered or unexported fields
}

Implements IQualifier.

func NewQualifier

func NewQualifier(
	typE string,
	valueType DataTypeDefXSD,
) *Qualifier

Create a new instance of Qualifier with the given properties.

func (*Qualifier) Descend

func (q *Qualifier) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from q.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on q.

func (*Qualifier) DescendOnce

func (q *Qualifier) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from q.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on q.

func (*Qualifier) Kind

func (q *Qualifier) Kind() *QualifierKind

func (*Qualifier) KindOrDefault

func (q *Qualifier) KindOrDefault() QualifierKind

Return [IQualifier.Kind] or the default value if it has not been set.

func (*Qualifier) ModelType

func (q *Qualifier) ModelType() ModelType

func (*Qualifier) SemanticID

func (q *Qualifier) SemanticID() IReference

func (*Qualifier) SetKind

func (q *Qualifier) SetKind(
	value *QualifierKind,
)

func (*Qualifier) SetSemanticID

func (q *Qualifier) SetSemanticID(
	value IReference,
)

func (*Qualifier) SetSupplementalSemanticIDs

func (q *Qualifier) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Qualifier) SetType

func (q *Qualifier) SetType(
	value string,
)

func (*Qualifier) SetValue

func (q *Qualifier) SetValue(
	value *string,
)

func (*Qualifier) SetValueID

func (q *Qualifier) SetValueID(
	value IReference,
)

func (*Qualifier) SetValueType

func (q *Qualifier) SetValueType(
	value DataTypeDefXSD,
)

func (*Qualifier) SupplementalSemanticIDs

func (q *Qualifier) SupplementalSemanticIDs() []IReference

func (*Qualifier) Type

func (q *Qualifier) Type() string

func (*Qualifier) Value

func (q *Qualifier) Value() *string

func (*Qualifier) ValueID

func (q *Qualifier) ValueID() IReference

func (*Qualifier) ValueType

func (q *Qualifier) ValueType() DataTypeDefXSD

type QualifierKind

type QualifierKind int

Enumeration for kinds of qualifiers.

NOTE: This element is experimental and therefore may be subject to change or may be removed completely in future versions of the meta-model.

const (
	// qualifies the value of the element and can change during run-time.
	//
	// Value qualifiers are only applicable to elements with kind
	// [ModellingKindInstance].
	QualifierKindValueQualifier QualifierKind = iota
	// qualifies the semantic definition the element is referring to
	// ([IHasSemantics.SemanticID])
	QualifierKindConceptQualifier
	// qualifies the elements within a specific submodel on concept level.
	//
	// Template qualifiers are only applicable to elements with kind
	// [ModellingKindTemplate].
	QualifierKindTemplateQualifier
)

type Range

type Range struct {
	// contains filtered or unexported fields
}

Implements IRange.

func NewRange

func NewRange(
	valueType DataTypeDefXSD,
) *Range

Create a new instance of Range with the given properties.

func (*Range) Category

func (r *Range) Category() *string

func (*Range) CategoryOrDefault

func (r *Range) CategoryOrDefault() string

Return [IReferable.Category] or the default value if it has not been set.

func (*Range) Descend

func (r *Range) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from r.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on r.

func (*Range) DescendOnce

func (r *Range) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from r.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on r.

func (*Range) Description

func (r *Range) Description() []ILangStringTextType

func (*Range) DisplayName

func (r *Range) DisplayName() []ILangStringNameType

func (*Range) EmbeddedDataSpecifications

func (r *Range) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Range) Extensions

func (r *Range) Extensions() []IExtension

func (*Range) IDShort

func (r *Range) IDShort() *string

func (*Range) Max

func (r *Range) Max() *string

func (*Range) Min

func (r *Range) Min() *string

func (*Range) ModelType

func (r *Range) ModelType() ModelType

func (*Range) Qualifiers

func (r *Range) Qualifiers() []IQualifier

func (*Range) SemanticID

func (r *Range) SemanticID() IReference

func (*Range) SetCategory

func (r *Range) SetCategory(
	value *string,
)

func (*Range) SetDescription

func (r *Range) SetDescription(
	value []ILangStringTextType,
)

func (*Range) SetDisplayName

func (r *Range) SetDisplayName(
	value []ILangStringNameType,
)

func (*Range) SetEmbeddedDataSpecifications

func (r *Range) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Range) SetExtensions

func (r *Range) SetExtensions(
	value []IExtension,
)

func (*Range) SetIDShort

func (r *Range) SetIDShort(
	value *string,
)

func (*Range) SetMax

func (r *Range) SetMax(
	value *string,
)

func (*Range) SetMin

func (r *Range) SetMin(
	value *string,
)

func (*Range) SetQualifiers

func (r *Range) SetQualifiers(
	value []IQualifier,
)

func (*Range) SetSemanticID

func (r *Range) SetSemanticID(
	value IReference,
)

func (*Range) SetSupplementalSemanticIDs

func (r *Range) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Range) SetValueType

func (r *Range) SetValueType(
	value DataTypeDefXSD,
)

func (*Range) SupplementalSemanticIDs

func (r *Range) SupplementalSemanticIDs() []IReference

func (*Range) ValueType

func (r *Range) ValueType() DataTypeDefXSD

type Reference

type Reference struct {
	// contains filtered or unexported fields
}

Implements IReference.

func NewReference

func NewReference(
	typE ReferenceTypes,
	keys []IKey,
) *Reference

Create a new instance of Reference with the given properties.

func (*Reference) Descend

func (r *Reference) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from r.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on r.

func (*Reference) DescendOnce

func (r *Reference) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from r.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on r.

func (*Reference) Keys

func (r *Reference) Keys() []IKey

func (*Reference) ModelType

func (r *Reference) ModelType() ModelType

func (*Reference) ReferredSemanticID

func (r *Reference) ReferredSemanticID() IReference

func (*Reference) SetKeys

func (r *Reference) SetKeys(
	value []IKey,
)

func (*Reference) SetReferredSemanticID

func (r *Reference) SetReferredSemanticID(
	value IReference,
)

func (*Reference) SetType

func (r *Reference) SetType(
	value ReferenceTypes,
)

func (*Reference) Type

func (r *Reference) Type() ReferenceTypes

type ReferenceElement

type ReferenceElement struct {
	// contains filtered or unexported fields
}

Implements IReferenceElement.

func NewReferenceElement

func NewReferenceElement() *ReferenceElement

Create a new instance of ReferenceElement with the given properties.

func (*ReferenceElement) Category

func (re *ReferenceElement) Category() *string

func (*ReferenceElement) CategoryOrDefault

func (re *ReferenceElement) CategoryOrDefault() string

Return [IReferable.Category] or the default value if it has not been set.

func (*ReferenceElement) Descend

func (re *ReferenceElement) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from re.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on re.

func (*ReferenceElement) DescendOnce

func (re *ReferenceElement) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from re.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on re.

func (*ReferenceElement) Description

func (re *ReferenceElement) Description() []ILangStringTextType

func (*ReferenceElement) DisplayName

func (re *ReferenceElement) DisplayName() []ILangStringNameType

func (*ReferenceElement) EmbeddedDataSpecifications

func (re *ReferenceElement) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*ReferenceElement) Extensions

func (re *ReferenceElement) Extensions() []IExtension

func (*ReferenceElement) IDShort

func (re *ReferenceElement) IDShort() *string

func (*ReferenceElement) ModelType

func (re *ReferenceElement) ModelType() ModelType

func (*ReferenceElement) Qualifiers

func (re *ReferenceElement) Qualifiers() []IQualifier

func (*ReferenceElement) SemanticID

func (re *ReferenceElement) SemanticID() IReference

func (*ReferenceElement) SetCategory

func (re *ReferenceElement) SetCategory(
	value *string,
)

func (*ReferenceElement) SetDescription

func (re *ReferenceElement) SetDescription(
	value []ILangStringTextType,
)

func (*ReferenceElement) SetDisplayName

func (re *ReferenceElement) SetDisplayName(
	value []ILangStringNameType,
)

func (*ReferenceElement) SetEmbeddedDataSpecifications

func (re *ReferenceElement) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*ReferenceElement) SetExtensions

func (re *ReferenceElement) SetExtensions(
	value []IExtension,
)

func (*ReferenceElement) SetIDShort

func (re *ReferenceElement) SetIDShort(
	value *string,
)

func (*ReferenceElement) SetQualifiers

func (re *ReferenceElement) SetQualifiers(
	value []IQualifier,
)

func (*ReferenceElement) SetSemanticID

func (re *ReferenceElement) SetSemanticID(
	value IReference,
)

func (*ReferenceElement) SetSupplementalSemanticIDs

func (re *ReferenceElement) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*ReferenceElement) SetValue

func (re *ReferenceElement) SetValue(
	value IReference,
)

func (*ReferenceElement) SupplementalSemanticIDs

func (re *ReferenceElement) SupplementalSemanticIDs() []IReference

func (*ReferenceElement) Value

func (re *ReferenceElement) Value() IReference

type ReferenceTypes

type ReferenceTypes int

Reference types

const (
	// External reference.
	ReferenceTypesExternalReference ReferenceTypes = iota
	// Model reference.
	ReferenceTypesModelReference
)

type RelationshipElement

type RelationshipElement struct {
	// contains filtered or unexported fields
}

Implements IRelationshipElement.

func NewRelationshipElement

func NewRelationshipElement(
	first IReference,
	second IReference,
) *RelationshipElement

Create a new instance of RelationshipElement with the given properties.

func (*RelationshipElement) Category

func (re *RelationshipElement) Category() *string

func (*RelationshipElement) Descend

func (re *RelationshipElement) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from re.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on re.

func (*RelationshipElement) DescendOnce

func (re *RelationshipElement) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from re.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on re.

func (*RelationshipElement) Description

func (re *RelationshipElement) Description() []ILangStringTextType

func (*RelationshipElement) DisplayName

func (re *RelationshipElement) DisplayName() []ILangStringNameType

func (*RelationshipElement) EmbeddedDataSpecifications

func (re *RelationshipElement) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*RelationshipElement) Extensions

func (re *RelationshipElement) Extensions() []IExtension

func (*RelationshipElement) First

func (re *RelationshipElement) First() IReference

func (*RelationshipElement) IDShort

func (re *RelationshipElement) IDShort() *string

func (*RelationshipElement) ModelType

func (re *RelationshipElement) ModelType() ModelType

func (*RelationshipElement) Qualifiers

func (re *RelationshipElement) Qualifiers() []IQualifier

func (*RelationshipElement) Second

func (re *RelationshipElement) Second() IReference

func (*RelationshipElement) SemanticID

func (re *RelationshipElement) SemanticID() IReference

func (*RelationshipElement) SetCategory

func (re *RelationshipElement) SetCategory(
	value *string,
)

func (*RelationshipElement) SetDescription

func (re *RelationshipElement) SetDescription(
	value []ILangStringTextType,
)

func (*RelationshipElement) SetDisplayName

func (re *RelationshipElement) SetDisplayName(
	value []ILangStringNameType,
)

func (*RelationshipElement) SetEmbeddedDataSpecifications

func (re *RelationshipElement) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*RelationshipElement) SetExtensions

func (re *RelationshipElement) SetExtensions(
	value []IExtension,
)

func (*RelationshipElement) SetFirst

func (re *RelationshipElement) SetFirst(
	value IReference,
)

func (*RelationshipElement) SetIDShort

func (re *RelationshipElement) SetIDShort(
	value *string,
)

func (*RelationshipElement) SetQualifiers

func (re *RelationshipElement) SetQualifiers(
	value []IQualifier,
)

func (*RelationshipElement) SetSecond

func (re *RelationshipElement) SetSecond(
	value IReference,
)

func (*RelationshipElement) SetSemanticID

func (re *RelationshipElement) SetSemanticID(
	value IReference,
)

func (*RelationshipElement) SetSupplementalSemanticIDs

func (re *RelationshipElement) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*RelationshipElement) SupplementalSemanticIDs

func (re *RelationshipElement) SupplementalSemanticIDs() []IReference

type Resource

type Resource struct {
	// contains filtered or unexported fields
}

Implements IResource.

func NewResource

func NewResource(
	path string,
) *Resource

Create a new instance of Resource with the given properties.

func (*Resource) ContentType

func (r *Resource) ContentType() *string

func (*Resource) Descend

func (r *Resource) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from r.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on r.

func (*Resource) DescendOnce

func (r *Resource) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from r.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on r.

func (*Resource) ModelType

func (r *Resource) ModelType() ModelType

func (*Resource) Path

func (r *Resource) Path() string

func (*Resource) SetContentType

func (r *Resource) SetContentType(
	value *string,
)

func (*Resource) SetPath

func (r *Resource) SetPath(
	value string,
)

type SpecificAssetID

type SpecificAssetID struct {
	// contains filtered or unexported fields
}

Implements ISpecificAssetID.

func NewSpecificAssetID

func NewSpecificAssetID(
	name string,
	value string,
) *SpecificAssetID

Create a new instance of SpecificAssetID with the given properties.

func (*SpecificAssetID) Descend

func (sai *SpecificAssetID) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from sai.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on sai.

func (*SpecificAssetID) DescendOnce

func (sai *SpecificAssetID) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from sai.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on sai.

func (*SpecificAssetID) ExternalSubjectID

func (sai *SpecificAssetID) ExternalSubjectID() IReference

func (*SpecificAssetID) ModelType

func (sai *SpecificAssetID) ModelType() ModelType

func (*SpecificAssetID) Name

func (sai *SpecificAssetID) Name() string

func (*SpecificAssetID) SemanticID

func (sai *SpecificAssetID) SemanticID() IReference

func (*SpecificAssetID) SetExternalSubjectID

func (sai *SpecificAssetID) SetExternalSubjectID(
	value IReference,
)

func (*SpecificAssetID) SetName

func (sai *SpecificAssetID) SetName(
	value string,
)

func (*SpecificAssetID) SetSemanticID

func (sai *SpecificAssetID) SetSemanticID(
	value IReference,
)

func (*SpecificAssetID) SetSupplementalSemanticIDs

func (sai *SpecificAssetID) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*SpecificAssetID) SetValue

func (sai *SpecificAssetID) SetValue(
	value string,
)

func (*SpecificAssetID) SupplementalSemanticIDs

func (sai *SpecificAssetID) SupplementalSemanticIDs() []IReference

func (*SpecificAssetID) Value

func (sai *SpecificAssetID) Value() string

type StateOfEvent

type StateOfEvent int

State of an event

NOTE: This element is experimental and therefore may be subject to change or may be removed completely in future versions of the meta-model.

const (
	// Event is on
	StateOfEventOn StateOfEvent = iota
	// Event is off.
	StateOfEventOff
)

type Submodel

type Submodel struct {
	// contains filtered or unexported fields
}

Implements ISubmodel.

func NewSubmodel

func NewSubmodel(
	id string,
) *Submodel

Create a new instance of Submodel with the given properties.

func (*Submodel) Administration

func (s *Submodel) Administration() IAdministrativeInformation

func (*Submodel) Category

func (s *Submodel) Category() *string

func (*Submodel) Descend

func (s *Submodel) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from s.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on s.

func (*Submodel) DescendOnce

func (s *Submodel) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from s.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on s.

func (*Submodel) Description

func (s *Submodel) Description() []ILangStringTextType

func (*Submodel) DisplayName

func (s *Submodel) DisplayName() []ILangStringNameType

func (*Submodel) EmbeddedDataSpecifications

func (s *Submodel) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*Submodel) Extensions

func (s *Submodel) Extensions() []IExtension

func (*Submodel) ID

func (s *Submodel) ID() string

func (*Submodel) IDShort

func (s *Submodel) IDShort() *string

func (*Submodel) Kind

func (s *Submodel) Kind() *ModellingKind

func (*Submodel) KindOrDefault

func (s *Submodel) KindOrDefault() ModellingKind

Return [IHasKind.Kind] or the default value if it has not been set.

func (*Submodel) ModelType

func (s *Submodel) ModelType() ModelType

func (*Submodel) Qualifiers

func (s *Submodel) Qualifiers() []IQualifier

func (*Submodel) SemanticID

func (s *Submodel) SemanticID() IReference

func (*Submodel) SetAdministration

func (s *Submodel) SetAdministration(
	value IAdministrativeInformation,
)

func (*Submodel) SetCategory

func (s *Submodel) SetCategory(
	value *string,
)

func (*Submodel) SetDescription

func (s *Submodel) SetDescription(
	value []ILangStringTextType,
)

func (*Submodel) SetDisplayName

func (s *Submodel) SetDisplayName(
	value []ILangStringNameType,
)

func (*Submodel) SetEmbeddedDataSpecifications

func (s *Submodel) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*Submodel) SetExtensions

func (s *Submodel) SetExtensions(
	value []IExtension,
)

func (*Submodel) SetID

func (s *Submodel) SetID(
	value string,
)

func (*Submodel) SetIDShort

func (s *Submodel) SetIDShort(
	value *string,
)

func (*Submodel) SetKind

func (s *Submodel) SetKind(
	value *ModellingKind,
)

func (*Submodel) SetQualifiers

func (s *Submodel) SetQualifiers(
	value []IQualifier,
)

func (*Submodel) SetSemanticID

func (s *Submodel) SetSemanticID(
	value IReference,
)

func (*Submodel) SetSubmodelElements

func (s *Submodel) SetSubmodelElements(
	value []ISubmodelElement,
)

func (*Submodel) SetSupplementalSemanticIDs

func (s *Submodel) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*Submodel) SubmodelElements

func (s *Submodel) SubmodelElements() []ISubmodelElement

func (*Submodel) SupplementalSemanticIDs

func (s *Submodel) SupplementalSemanticIDs() []IReference

type SubmodelElementCollection

type SubmodelElementCollection struct {
	// contains filtered or unexported fields
}

Implements ISubmodelElementCollection.

func NewSubmodelElementCollection

func NewSubmodelElementCollection() *SubmodelElementCollection

Create a new instance of SubmodelElementCollection with the given properties.

func (*SubmodelElementCollection) Category

func (sec *SubmodelElementCollection) Category() *string

func (*SubmodelElementCollection) Descend

func (sec *SubmodelElementCollection) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from sec.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on sec.

func (*SubmodelElementCollection) DescendOnce

func (sec *SubmodelElementCollection) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from sec.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on sec.

func (*SubmodelElementCollection) Description

func (sec *SubmodelElementCollection) Description() []ILangStringTextType

func (*SubmodelElementCollection) DisplayName

func (sec *SubmodelElementCollection) DisplayName() []ILangStringNameType

func (*SubmodelElementCollection) EmbeddedDataSpecifications

func (sec *SubmodelElementCollection) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*SubmodelElementCollection) Extensions

func (sec *SubmodelElementCollection) Extensions() []IExtension

func (*SubmodelElementCollection) IDShort

func (sec *SubmodelElementCollection) IDShort() *string

func (*SubmodelElementCollection) ModelType

func (sec *SubmodelElementCollection) ModelType() ModelType

func (*SubmodelElementCollection) Qualifiers

func (sec *SubmodelElementCollection) Qualifiers() []IQualifier

func (*SubmodelElementCollection) SemanticID

func (sec *SubmodelElementCollection) SemanticID() IReference

func (*SubmodelElementCollection) SetCategory

func (sec *SubmodelElementCollection) SetCategory(
	value *string,
)

func (*SubmodelElementCollection) SetDescription

func (sec *SubmodelElementCollection) SetDescription(
	value []ILangStringTextType,
)

func (*SubmodelElementCollection) SetDisplayName

func (sec *SubmodelElementCollection) SetDisplayName(
	value []ILangStringNameType,
)

func (*SubmodelElementCollection) SetEmbeddedDataSpecifications

func (sec *SubmodelElementCollection) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*SubmodelElementCollection) SetExtensions

func (sec *SubmodelElementCollection) SetExtensions(
	value []IExtension,
)

func (*SubmodelElementCollection) SetIDShort

func (sec *SubmodelElementCollection) SetIDShort(
	value *string,
)

func (*SubmodelElementCollection) SetQualifiers

func (sec *SubmodelElementCollection) SetQualifiers(
	value []IQualifier,
)

func (*SubmodelElementCollection) SetSemanticID

func (sec *SubmodelElementCollection) SetSemanticID(
	value IReference,
)

func (*SubmodelElementCollection) SetSupplementalSemanticIDs

func (sec *SubmodelElementCollection) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*SubmodelElementCollection) SetValue

func (sec *SubmodelElementCollection) SetValue(
	value []ISubmodelElement,
)

func (*SubmodelElementCollection) SupplementalSemanticIDs

func (sec *SubmodelElementCollection) SupplementalSemanticIDs() []IReference

func (*SubmodelElementCollection) Value

type SubmodelElementList

type SubmodelElementList struct {
	// contains filtered or unexported fields
}

Implements ISubmodelElementList.

func NewSubmodelElementList

func NewSubmodelElementList(
	typeValueListElement AASSubmodelElements,
) *SubmodelElementList

Create a new instance of SubmodelElementList with the given properties.

func (*SubmodelElementList) Category

func (sel *SubmodelElementList) Category() *string

func (*SubmodelElementList) Descend

func (sel *SubmodelElementList) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from sel.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on sel.

func (*SubmodelElementList) DescendOnce

func (sel *SubmodelElementList) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from sel.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on sel.

func (*SubmodelElementList) Description

func (sel *SubmodelElementList) Description() []ILangStringTextType

func (*SubmodelElementList) DisplayName

func (sel *SubmodelElementList) DisplayName() []ILangStringNameType

func (*SubmodelElementList) EmbeddedDataSpecifications

func (sel *SubmodelElementList) EmbeddedDataSpecifications() []IEmbeddedDataSpecification

func (*SubmodelElementList) Extensions

func (sel *SubmodelElementList) Extensions() []IExtension

func (*SubmodelElementList) IDShort

func (sel *SubmodelElementList) IDShort() *string

func (*SubmodelElementList) ModelType

func (sel *SubmodelElementList) ModelType() ModelType

func (*SubmodelElementList) OrderRelevant

func (sel *SubmodelElementList) OrderRelevant() *bool

func (*SubmodelElementList) OrderRelevantOrDefault

func (sel *SubmodelElementList) OrderRelevantOrDefault() bool

Return [ISubmodelElementKind.OrderRelevant] or the default value if it has not been set.

func (*SubmodelElementList) Qualifiers

func (sel *SubmodelElementList) Qualifiers() []IQualifier

func (*SubmodelElementList) SemanticID

func (sel *SubmodelElementList) SemanticID() IReference

func (*SubmodelElementList) SemanticIDListElement

func (sel *SubmodelElementList) SemanticIDListElement() IReference

func (*SubmodelElementList) SetCategory

func (sel *SubmodelElementList) SetCategory(
	value *string,
)

func (*SubmodelElementList) SetDescription

func (sel *SubmodelElementList) SetDescription(
	value []ILangStringTextType,
)

func (*SubmodelElementList) SetDisplayName

func (sel *SubmodelElementList) SetDisplayName(
	value []ILangStringNameType,
)

func (*SubmodelElementList) SetEmbeddedDataSpecifications

func (sel *SubmodelElementList) SetEmbeddedDataSpecifications(
	value []IEmbeddedDataSpecification,
)

func (*SubmodelElementList) SetExtensions

func (sel *SubmodelElementList) SetExtensions(
	value []IExtension,
)

func (*SubmodelElementList) SetIDShort

func (sel *SubmodelElementList) SetIDShort(
	value *string,
)

func (*SubmodelElementList) SetOrderRelevant

func (sel *SubmodelElementList) SetOrderRelevant(
	value *bool,
)

func (*SubmodelElementList) SetQualifiers

func (sel *SubmodelElementList) SetQualifiers(
	value []IQualifier,
)

func (*SubmodelElementList) SetSemanticID

func (sel *SubmodelElementList) SetSemanticID(
	value IReference,
)

func (*SubmodelElementList) SetSemanticIDListElement

func (sel *SubmodelElementList) SetSemanticIDListElement(
	value IReference,
)

func (*SubmodelElementList) SetSupplementalSemanticIDs

func (sel *SubmodelElementList) SetSupplementalSemanticIDs(
	value []IReference,
)

func (*SubmodelElementList) SetTypeValueListElement

func (sel *SubmodelElementList) SetTypeValueListElement(
	value AASSubmodelElements,
)

func (*SubmodelElementList) SetValue

func (sel *SubmodelElementList) SetValue(
	value []ISubmodelElement,
)

func (*SubmodelElementList) SetValueTypeListElement

func (sel *SubmodelElementList) SetValueTypeListElement(
	value *DataTypeDefXSD,
)

func (*SubmodelElementList) SupplementalSemanticIDs

func (sel *SubmodelElementList) SupplementalSemanticIDs() []IReference

func (*SubmodelElementList) TypeValueListElement

func (sel *SubmodelElementList) TypeValueListElement() AASSubmodelElements

func (*SubmodelElementList) Value

func (sel *SubmodelElementList) Value() []ISubmodelElement

func (*SubmodelElementList) ValueTypeListElement

func (sel *SubmodelElementList) ValueTypeListElement() *DataTypeDefXSD

type ValueList

type ValueList struct {
	// contains filtered or unexported fields
}

Implements IValueList.

func NewValueList

func NewValueList(
	valueReferencePairs []IValueReferencePair,
) *ValueList

Create a new instance of ValueList with the given properties.

func (*ValueList) Descend

func (vl *ValueList) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from vl.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on vl.

func (*ValueList) DescendOnce

func (vl *ValueList) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from vl.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on vl.

func (*ValueList) ModelType

func (vl *ValueList) ModelType() ModelType

func (*ValueList) SetValueReferencePairs

func (vl *ValueList) SetValueReferencePairs(
	value []IValueReferencePair,
)

func (*ValueList) ValueReferencePairs

func (vl *ValueList) ValueReferencePairs() []IValueReferencePair

type ValueReferencePair

type ValueReferencePair struct {
	// contains filtered or unexported fields
}

Implements IValueReferencePair.

func NewValueReferencePair

func NewValueReferencePair(
	value string,
	valueID IReference,
) *ValueReferencePair

Create a new instance of ValueReferencePair with the given properties.

func (*ValueReferencePair) Descend

func (vrp *ValueReferencePair) Descend(
	action func(IClass) bool,
) (abort bool)

Apply the action recursively on the instances referenced from vrp.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

The action is not applied on vrp.

func (*ValueReferencePair) DescendOnce

func (vrp *ValueReferencePair) DescendOnce(
	action func(IClass) bool,
) (abort bool)

Apply the action on the instances referenced from vrp.

If any of the actions returns abort `true`, the descent is immediately stopped, and abort `true` is also returned. Otherwise, return abort `false`.

We do not recurse into the referenced instances.

The action is not applied on vrp.

func (*ValueReferencePair) ModelType

func (vrp *ValueReferencePair) ModelType() ModelType

func (*ValueReferencePair) SetValue

func (vrp *ValueReferencePair) SetValue(
	value string,
)

func (*ValueReferencePair) SetValueID

func (vrp *ValueReferencePair) SetValueID(
	value IReference,
)

func (*ValueReferencePair) Value

func (vrp *ValueReferencePair) Value() string

func (*ValueReferencePair) ValueID

func (vrp *ValueReferencePair) ValueID() IReference

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL