Class AbstractAas<A extends org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell>

java.lang.Object
de.iip_ecosphere.platform.support.aas.basyx.AbstractAas<A>
Type Parameters:
A - the BaSyx AAS type to wrap
All Implemented Interfaces:
de.iip_ecosphere.platform.support.aas.Aas, de.iip_ecosphere.platform.support.aas.Element, de.iip_ecosphere.platform.support.aas.HasDataSpecification, de.iip_ecosphere.platform.support.aas.Identifiable, de.iip_ecosphere.platform.support.aas.Referable
Direct Known Subclasses:
BaSyxAas, BaSyxConnectedAas

public abstract class AbstractAas<A extends org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell>
extends Object
implements de.iip_ecosphere.platform.support.aas.Aas
Abstract implementation of the Aas interface.
Author:
Holger Eichelberger, SSE
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    (package private) static class  AbstractAas.BaSyxAbstractAasBuilder
    An abstract builder for two concrete AAS types in BaSyx.
    static interface  AbstractAas.BaSyxSubmodelParent
    Represents the parent instance of a sub-model.

    Nested classes/interfaces inherited from interface de.iip_ecosphere.platform.support.aas.Aas

    de.iip_ecosphere.platform.support.aas.Aas.AasBuilder
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private A aas  
    private BaSyxAsset asset  
    private Map<String,​de.iip_ecosphere.platform.support.aas.Submodel> submodels  
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected AbstractAas​(A aas)
    Creates an instance.
  • Method Summary

    Modifier and Type Method Description
    void accept​(de.iip_ecosphere.platform.support.aas.AasVisitor visitor)  
    de.iip_ecosphere.platform.support.aas.Reference createReference()  
    void delete​(de.iip_ecosphere.platform.support.aas.Submodel submodel)  
    (package private) A getAas()
    Returns the AAS instance.
    static String getAasEndpoint​(de.iip_ecosphere.platform.support.ServerAddress server, de.iip_ecosphere.platform.support.aas.Aas aas)
    Returns an AAS endpoint URI according to the BaSyx naming schema.
    de.iip_ecosphere.platform.support.aas.Asset getAsset()  
    String getIdShort()  
    de.iip_ecosphere.platform.support.aas.Submodel getSubmodel​(String idShort)  
    int getSubmodelCount()  
    (package private) <S extends de.iip_ecosphere.platform.support.aas.Submodel>
    S
    register​(S submodel)
    Registers a sub-model.
    protected void setAsset​(BaSyxAsset asset)
    Defines the asset.
    Iterable<de.iip_ecosphere.platform.support.aas.Submodel> submodels()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface de.iip_ecosphere.platform.support.aas.Aas

    createSubmodelBuilder
  • Field Details

    • aas

      private A extends org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell aas
    • submodels

      private Map<String,​de.iip_ecosphere.platform.support.aas.Submodel> submodels
    • asset

      private BaSyxAsset asset
  • Constructor Details

    • AbstractAas

      protected AbstractAas​(A aas)
      Creates an instance. Prevents external creation.
      Parameters:
      aas - the BaSyx AAS instance
  • Method Details

    • getAas

      A getAas()
      Returns the AAS instance.
      Returns:
      the AAS instance
    • getIdShort

      public String getIdShort()
      Specified by:
      getIdShort in interface de.iip_ecosphere.platform.support.aas.Element
    • submodels

      public Iterable<de.iip_ecosphere.platform.support.aas.Submodel> submodels()
      Specified by:
      submodels in interface de.iip_ecosphere.platform.support.aas.Aas
    • getSubmodelCount

      public int getSubmodelCount()
      Specified by:
      getSubmodelCount in interface de.iip_ecosphere.platform.support.aas.Aas
    • getSubmodel

      public de.iip_ecosphere.platform.support.aas.Submodel getSubmodel​(String idShort)
      Specified by:
      getSubmodel in interface de.iip_ecosphere.platform.support.aas.Aas
    • register

      <S extends de.iip_ecosphere.platform.support.aas.Submodel> S register​(S submodel)
      Registers a sub-model.
      Type Parameters:
      S - the actual sub-model type
      Parameters:
      submodel - the sub-model to register
      Returns:
      subModel
    • accept

      public void accept​(de.iip_ecosphere.platform.support.aas.AasVisitor visitor)
      Specified by:
      accept in interface de.iip_ecosphere.platform.support.aas.Element
    • createReference

      public de.iip_ecosphere.platform.support.aas.Reference createReference()
      Specified by:
      createReference in interface de.iip_ecosphere.platform.support.aas.Aas
    • getAsset

      public de.iip_ecosphere.platform.support.aas.Asset getAsset()
      Specified by:
      getAsset in interface de.iip_ecosphere.platform.support.aas.Aas
    • setAsset

      protected void setAsset​(BaSyxAsset asset)
      Defines the asset.
      Parameters:
      asset - the asset
    • delete

      public void delete​(de.iip_ecosphere.platform.support.aas.Submodel submodel)
      Specified by:
      delete in interface de.iip_ecosphere.platform.support.aas.Aas
    • getAasEndpoint

      public static String getAasEndpoint​(de.iip_ecosphere.platform.support.ServerAddress server, de.iip_ecosphere.platform.support.aas.Aas aas)
      Returns an AAS endpoint URI according to the BaSyx naming schema. [public for testing, debugging]
      Parameters:
      server - the server address
      aas - the AAS
      Returns:
      the endpoint URI