Package io.adminshell.aas.v3.model.impl
Class DefaultSubmodel
- java.lang.Object
-
- io.adminshell.aas.v3.model.impl.DefaultSubmodel
-
- All Implemented Interfaces:
HasDataSpecification,HasExtensions,HasKind,HasSemantics,Identifiable,Qualifiable,Referable,Submodel
public class DefaultSubmodel extends java.lang.Object implements Submodel
Default implementation of package io.adminshell.aas.v3.model.Submodel A Submodel defines a specific aspect of the asset represented by the AAS. A submodel is used to structure the virtual 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 types. Submodels can have different life-cycles. Describe the different types of Data related to the I4.0 Asset Constraint AASd-062: The semanticId of a Submodel shall only reference a ConceptDescription with the category APPLICATION_CLASS.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultSubmodel.BuilderThis builder class can be used to construct a DefaultSubmodel bean.
-
Field Summary
Fields Modifier and Type Field Description protected AdministrativeInformationadministrationprotected java.lang.Stringcategoryprotected java.util.List<LangString>descriptionsprotected java.util.List<LangString>displayNamesprotected java.util.List<EmbeddedDataSpecification>embeddedDataSpecificationsprotected java.util.List<Extension>extensionsprotected Identifieridentificationprotected java.lang.StringidShortprotected ModelingKindkindprotected java.util.List<Constraint>qualifiersprotected ReferencesemanticIdprotected java.util.List<SubmodelElement>submodelElements
-
Constructor Summary
Constructors Constructor Description DefaultSubmodel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)AdministrativeInformationgetAdministration()Administrative information of an identifiable element.java.lang.StringgetCategory()The category is a value that gives further meta information w.r.t. to the class of the element.java.util.List<LangString>getDescriptions()Description or comments on the element.java.util.List<LangString>getDisplayNames()Display name.java.util.List<EmbeddedDataSpecification>getEmbeddedDataSpecifications()Link to the included description of the Data Specification.java.util.List<Extension>getExtensions()An extension of the element.IdentifiergetIdentification()The globally unique identification of the element.java.lang.StringgetIdShort()Identifying string of the element within its name space.ModelingKindgetKind()ModelingKind of the element: either type or instance.java.util.List<Constraint>getQualifiers()Additional qualification of a qualifiable element.ReferencegetSemanticId()Points to the Expression Semantic of the Submodels The semantic id might refer to an external information source, which explains the formulation of the submodel (for example an PDF if a standard).java.util.List<SubmodelElement>getSubmodelElements()A submodel consists of zero or more submodel elements.inthashCode()voidsetAdministration(AdministrativeInformation administration)Administrative information of an identifiable element.voidsetCategory(java.lang.String category)The category is a value that gives further meta information w.r.t. to the class of the element.voidsetDescriptions(java.util.List<LangString> descriptions)Description or comments on the element.voidsetDisplayNames(java.util.List<LangString> displayNames)Display name.voidsetEmbeddedDataSpecifications(java.util.List<EmbeddedDataSpecification> embeddedDataSpecifications)Link to the included description of the Data Specification.voidsetExtensions(java.util.List<Extension> extensions)An extension of the element.voidsetIdentification(Identifier identification)The globally unique identification of the element.voidsetIdShort(java.lang.String idShort)Identifying string of the element within its name space.voidsetKind(ModelingKind kind)ModelingKind of the element: either type or instance.voidsetQualifiers(java.util.List<Constraint> qualifiers)Additional qualification of a qualifiable element.voidsetSemanticId(Reference semanticId)Points to the Expression Semantic of the Submodels The semantic id might refer to an external information source, which explains the formulation of the submodel (for example an PDF if a standard).voidsetSubmodelElements(java.util.List<SubmodelElement> submodelElements)A submodel consists of zero or more submodel elements.
-
-
-
Field Detail
-
embeddedDataSpecifications
protected java.util.List<EmbeddedDataSpecification> embeddedDataSpecifications
-
extensions
protected java.util.List<Extension> extensions
-
kind
protected ModelingKind kind
-
semanticId
protected Reference semanticId
-
administration
protected AdministrativeInformation administration
-
identification
protected Identifier identification
-
qualifiers
protected java.util.List<Constraint> qualifiers
-
category
protected java.lang.String category
-
descriptions
protected java.util.List<LangString> descriptions
-
displayNames
protected java.util.List<LangString> displayNames
-
idShort
protected java.lang.String idShort
-
submodelElements
protected java.util.List<SubmodelElement> submodelElements
-
-
Method Detail
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getSubmodelElements
public java.util.List<SubmodelElement> getSubmodelElements()
Description copied from interface:SubmodelA submodel consists of zero or more submodel elements. More information under https://admin-shell.io/aas/3/0/RC01/Submodel/submodelElement- Specified by:
getSubmodelElementsin interfaceSubmodel- Returns:
- Returns the List of SubmodelElements for the property submodelElements.
-
setSubmodelElements
public void setSubmodelElements(java.util.List<SubmodelElement> submodelElements)
Description copied from interface:SubmodelA submodel consists of zero or more submodel elements. More information under https://admin-shell.io/aas/3/0/RC01/Submodel/submodelElement- Specified by:
setSubmodelElementsin interfaceSubmodel- Parameters:
submodelElements- desired value for the property submodelElements.
-
getQualifiers
public java.util.List<Constraint> getQualifiers()
Description copied from interface:QualifiableAdditional qualification of a qualifiable element. More information under https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier- Specified by:
getQualifiersin interfaceQualifiable- Returns:
- Returns the List of Constraints for the property qualifiers.
-
setQualifiers
public void setQualifiers(java.util.List<Constraint> qualifiers)
Description copied from interface:QualifiableAdditional qualification of a qualifiable element. More information under https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier- Specified by:
setQualifiersin interfaceQualifiable- Parameters:
qualifiers- desired value for the property qualifiers.
-
getEmbeddedDataSpecifications
public java.util.List<EmbeddedDataSpecification> getEmbeddedDataSpecifications()
Description copied from interface:HasDataSpecificationLink to the included description of the Data Specification. More information under https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification- Specified by:
getEmbeddedDataSpecificationsin interfaceHasDataSpecification- Returns:
- Returns the List of EmbeddedDataSpecifications for the property embeddedDataSpecifications.
-
setEmbeddedDataSpecifications
public void setEmbeddedDataSpecifications(java.util.List<EmbeddedDataSpecification> embeddedDataSpecifications)
Description copied from interface:HasDataSpecificationLink to the included description of the Data Specification. More information under https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification- Specified by:
setEmbeddedDataSpecificationsin interfaceHasDataSpecification- Parameters:
embeddedDataSpecifications- desired value for the property embeddedDataSpecifications.
-
getAdministration
public AdministrativeInformation getAdministration()
Description copied from interface:IdentifiableAdministrative information of an identifiable element. Some of the administrative information like the version number might need to be part of the identification. More information under https://admin-shell.io/aas/3/0/RC01/Identifiable/administration- Specified by:
getAdministrationin interfaceIdentifiable- Returns:
- Returns the AdministrativeInformation for the property administration.
-
setAdministration
public void setAdministration(AdministrativeInformation administration)
Description copied from interface:IdentifiableAdministrative information of an identifiable element. Some of the administrative information like the version number might need to be part of the identification. More information under https://admin-shell.io/aas/3/0/RC01/Identifiable/administration- Specified by:
setAdministrationin interfaceIdentifiable- Parameters:
administration- desired value for the property administration.
-
getIdentification
public Identifier getIdentification()
Description copied from interface:IdentifiableThe globally unique identification of the element. More information under https://admin-shell.io/aas/3/0/RC01/Identifiable/identification- Specified by:
getIdentificationin interfaceIdentifiable- Returns:
- Returns the Identifier for the property identification.
-
setIdentification
public void setIdentification(Identifier identification)
Description copied from interface:IdentifiableThe globally unique identification of the element. More information under https://admin-shell.io/aas/3/0/RC01/Identifiable/identification- Specified by:
setIdentificationin interfaceIdentifiable- Parameters:
identification- desired value for the property identification.
-
getCategory
public java.lang.String getCategory()
Description copied from interface:ReferableThe 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. More information under https://admin-shell.io/aas/3/0/RC01/Referable/category- Specified by:
getCategoryin interfaceReferable- Returns:
- Returns the String for the property category.
-
setCategory
public void setCategory(java.lang.String category)
Description copied from interface:ReferableThe 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. More information under https://admin-shell.io/aas/3/0/RC01/Referable/category- Specified by:
setCategoryin interfaceReferable- Parameters:
category- desired value for the property category.
-
getDescriptions
public java.util.List<LangString> getDescriptions()
Description copied from interface:ReferableDescription or comments on the element. The description can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/description- Specified by:
getDescriptionsin interfaceReferable- Returns:
- Returns the List of LangStrings for the property descriptions.
-
setDescriptions
public void setDescriptions(java.util.List<LangString> descriptions)
Description copied from interface:ReferableDescription or comments on the element. The description can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/description- Specified by:
setDescriptionsin interfaceReferable- Parameters:
descriptions- desired value for the property descriptions.
-
getDisplayNames
public java.util.List<LangString> getDisplayNames()
Description copied from interface:ReferableDisplay name. Can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/displayName- Specified by:
getDisplayNamesin interfaceReferable- Returns:
- Returns the List of LangStrings for the property displayNames.
-
setDisplayNames
public void setDisplayNames(java.util.List<LangString> displayNames)
Description copied from interface:ReferableDisplay name. Can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/displayName- Specified by:
setDisplayNamesin interfaceReferable- Parameters:
displayNames- desired value for the property displayNames.
-
getIdShort
public java.lang.String getIdShort()
Description copied from interface:ReferableIdentifying string of the element within its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ('_'); starting with a small letter. I.e. [a-z][a-zA-Z0-9_]+. Constraint AASd-003: idShort shall be matched case-insensitive. Constraint AASd-022: idShort of non-identifiable referables shall be unqiue in its namespace. Note: In case the element is a property and the property has a semantic definition (HasSemantics) the idShort is typically identical to the short name in English. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the 'BrowserPath' in OPC UA. More information under https://admin-shell.io/aas/3/0/RC01/Referable/idShort- Specified by:
getIdShortin interfaceReferable- Returns:
- Returns the String for the property idShort.
-
setIdShort
public void setIdShort(java.lang.String idShort)
Description copied from interface:ReferableIdentifying string of the element within its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ('_'); starting with a small letter. I.e. [a-z][a-zA-Z0-9_]+. Constraint AASd-003: idShort shall be matched case-insensitive. Constraint AASd-022: idShort of non-identifiable referables shall be unqiue in its namespace. Note: In case the element is a property and the property has a semantic definition (HasSemantics) the idShort is typically identical to the short name in English. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the 'BrowserPath' in OPC UA. More information under https://admin-shell.io/aas/3/0/RC01/Referable/idShort- Specified by:
setIdShortin interfaceReferable- Parameters:
idShort- desired value for the property idShort.
-
getExtensions
public java.util.List<Extension> getExtensions()
Description copied from interface:HasExtensionsAn extension of the element. More information under https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension- Specified by:
getExtensionsin interfaceHasExtensions- Returns:
- Returns the List of Extensions for the property extensions.
-
setExtensions
public void setExtensions(java.util.List<Extension> extensions)
Description copied from interface:HasExtensionsAn extension of the element. More information under https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension- Specified by:
setExtensionsin interfaceHasExtensions- Parameters:
extensions- desired value for the property extensions.
-
getKind
public ModelingKind getKind()
Description copied from interface:HasKindModelingKind of the element: either type or instance. More information under https://admin-shell.io/aas/3/0/RC01/HasKind/kind
-
setKind
public void setKind(ModelingKind kind)
Description copied from interface:HasKindModelingKind of the element: either type or instance. More information under https://admin-shell.io/aas/3/0/RC01/HasKind/kind
-
getSemanticId
public Reference getSemanticId()
Description copied from interface:HasSemanticsPoints to the Expression Semantic of the Submodels The semantic id might refer to an external information source, which explains the formulation of the submodel (for example an PDF if a standard). More information under https://admin-shell.io/aas/3/0/RC01/HasSemantics/semanticId- Specified by:
getSemanticIdin interfaceHasSemantics- Returns:
- Returns the Reference for the property semanticId.
-
setSemanticId
public void setSemanticId(Reference semanticId)
Description copied from interface:HasSemanticsPoints to the Expression Semantic of the Submodels The semantic id might refer to an external information source, which explains the formulation of the submodel (for example an PDF if a standard). More information under https://admin-shell.io/aas/3/0/RC01/HasSemantics/semanticId- Specified by:
setSemanticIdin interfaceHasSemantics- Parameters:
semanticId- desired value for the property semanticId.
-
-