Class BaSyxSubmodelElementCollection.BaSyxSubmodelElementCollectionBuilder

java.lang.Object
de.iip_ecosphere.platform.support.aas.basyx2.BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
de.iip_ecosphere.platform.support.aas.basyx2.BaSyxSubmodelElementCollection.BaSyxSubmodelElementCollectionBuilder
All Implemented Interfaces:
de.iip_ecosphere.platform.support.aas.DeferredBuilder<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection>, de.iip_ecosphere.platform.support.aas.RbacReceiver<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder>, de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder, de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder, de.iip_ecosphere.platform.support.Builder<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection>
Enclosing class:
BaSyxSubmodelElementCollection

public static class BaSyxSubmodelElementCollection.BaSyxSubmodelElementCollectionBuilder extends BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel> implements de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder
The sub-model element collection builder.
Author:
Holger Eichelberger, SSE
  • Field Details

  • Constructor Details

    • BaSyxSubmodelElementCollectionBuilder

      protected BaSyxSubmodelElementCollectionBuilder(BaSyxSubmodelElementContainerBuilder<?> parentBuilder, String idShort, boolean ordered, boolean allowDuplicates)
      Creates a sub-model element collection builder. The parent builder must be set by the calling constructor.
      Parameters:
      parentBuilder - the parent builder
      idShort - the short name of the sub-model element
      ordered - whether the collection is ordered
      allowDuplicates - whether the collection allows duplicates
      Throws:
      IllegalArgumentException - may be thrown if idShort is not given
    • BaSyxSubmodelElementCollectionBuilder

      protected BaSyxSubmodelElementCollectionBuilder(BaSyxSubmodelElementContainerBuilder<?> parentBuilder, String idShort, Supplier<BaSyxSubmodelElementCollection> wCreator, Supplier<org.eclipse.digitaltwin.aas4j.v3.model.SubmodelElementCollection> bCreator)
      Creates a sub-model element collection builder. The parent builder must be set by the calling constructor.
      Parameters:
      parentBuilder - the parent builder
      idShort - the short name of the sub-model element
      wCreator - creates a wrapper instance, subclass of the containing class
      bCreator - creates a BaSyx instance
      Throws:
      IllegalArgumentException - may be thrown if idShort is not given
    • BaSyxSubmodelElementCollectionBuilder

      protected BaSyxSubmodelElementCollectionBuilder(BaSyxSubmodelElementContainerBuilder<?> parentBuilder, BaSyxSubmodelElementCollection instance)
      Creates an instance from an existing BaSyx instance.
      Parameters:
      parentBuilder - the parent builder
      instance - the BaSyx instance
  • Method Details

    • getCollection

      protected org.eclipse.digitaltwin.aas4j.v3.model.SubmodelElementCollection getCollection()
      Returns the BaSyx collection created by this instance.
      Returns:
      the collection
    • getCollectionInstance

      protected BaSyxSubmodelElementCollection getCollectionInstance()
      Returns the collection instance being created.
      Returns:
      the collection instance
    • getIdShort

      protected String getIdShort()
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Returns the underlying collection instance.
      Specified by:
      getIdShort in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Returns:
      the instance
    • setSemanticId

      public de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder setSemanticId(String refValue)
      Specified by:
      setSemanticId in interface de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder
    • createPropertyBuilder

      public de.iip_ecosphere.platform.support.aas.Property.PropertyBuilder createPropertyBuilder(String idShort)
      Specified by:
      createPropertyBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      Overrides:
      createPropertyBuilder in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
    • createReferenceElementBuilder

      public de.iip_ecosphere.platform.support.aas.ReferenceElement.ReferenceElementBuilder createReferenceElementBuilder(String idShort)
      Specified by:
      createReferenceElementBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      Overrides:
      createReferenceElementBuilder in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
    • createOperationBuilder

      public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder createOperationBuilder(String idShort)
      Specified by:
      createOperationBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      Overrides:
      createOperationBuilder in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
    • createSubmodelElementCollectionBuilder

      public de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder createSubmodelElementCollectionBuilder(String idShort)
      Specified by:
      createSubmodelElementCollectionBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • createSubmodelElementListBuilder

      public de.iip_ecosphere.platform.support.aas.SubmodelElementList.SubmodelElementListBuilder createSubmodelElementListBuilder(String idShort)
      Specified by:
      createSubmodelElementListBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • createSubmodelElementContainerBuilder

      public de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder createSubmodelElementContainerBuilder(String idShort)
      Specified by:
      createSubmodelElementContainerBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • createReference

      public de.iip_ecosphere.platform.support.aas.Reference createReference()
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Creates a reference to the sub-model under creation.
      Specified by:
      createReference in interface de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder
      Overrides:
      createReference in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Returns:
      the reference
    • register

      protected BaSyxFile register(BaSyxFile file)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a file data element.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      file - the file data element
      Returns:
      file
    • register

      protected BaSyxRange register(BaSyxRange range)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a range element.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      range - the range element
      Returns:
      range
    • register

      protected BaSyxBlob register(BaSyxBlob blob)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a file data element.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      blob - the BLOB data element
      Returns:
      blob
    • register

      protected BaSyxOperation register(BaSyxOperation operation)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers an operation.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      operation - the operation
      Returns:
      operation
    • register

      protected BaSyxProperty register(BaSyxProperty property)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a property.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      property - the property
      Returns:
      property
    • register

      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a multi-language property.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      property - the property
      Returns:
      property
    • register

      protected BaSyxRelationshipElement register(BaSyxRelationshipElement relationship)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a relationship element.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      relationship - the relationship element
      Returns:
      relationship
    • register

      protected BaSyxEntity register(BaSyxEntity entity)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a entity element.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      entity - the entity
      Returns:
      reference
    • register

      protected BaSyxReferenceElement register(BaSyxReferenceElement reference)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a reference element.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      reference - the reference
      Returns:
      reference
    • register

      protected BaSyxSubmodelElementCollection register(BaSyxSubmodelElementCollection collection, boolean propagate)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a sub-model element collection.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      collection - the collection
      propagate - enable propagation into the interface instance (usually true) or take a (performance) shortcut and only update the BaSyx submodel (false)
      Returns:
      collection
    • register

      protected BaSyxSubmodelElementList register(BaSyxSubmodelElementList collection, boolean propagate)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a sub-model element list.
      Overrides:
      register in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      collection - the list
      propagate - enable propagation into the interface instance (usually true) or take a (performance) shortcut and only update the BaSyx submodel (false)
      Returns:
      list
    • defer

      public void defer()
      Specified by:
      defer in interface de.iip_ecosphere.platform.support.aas.DeferredBuilder<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection>
    • defer

      void defer(String shortId, de.iip_ecosphere.platform.support.Builder<?> builder)
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Registers a sub-build as deferred.
      Overrides:
      defer in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      Parameters:
      shortId - the shortId of the element
      builder - the sub-builder to be registered
      See Also:
    • buildMyDeferred

      void buildMyDeferred()
      Description copied from class: BaSyxSubmodelElementContainerBuilder
      Calls Builder.build() on all deferred builders.
      Overrides:
      buildMyDeferred in class BaSyxSubmodelElementContainerBuilder<org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
      See Also:
    • buildDeferred

      public void buildDeferred()
      Specified by:
      buildDeferred in interface de.iip_ecosphere.platform.support.aas.DeferredBuilder<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection>
    • build

      Specified by:
      build in interface de.iip_ecosphere.platform.support.Builder<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection>
    • getAasBuilder

      public de.iip_ecosphere.platform.support.aas.Aas.AasBuilder getAasBuilder()
      Specified by:
      getAasBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • getParentBuilder

      public de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder getParentBuilder()
      Specified by:
      getParentBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • isNew

      public boolean isNew()
      Specified by:
      isNew in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • hasElement

      public boolean hasElement(String idShort)
      Specified by:
      hasElement in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    • rbac

      public de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder rbac(de.iip_ecosphere.platform.support.aas.AuthenticationDescriptor auth, de.iip_ecosphere.platform.support.aas.AuthenticationDescriptor.Role role, de.iip_ecosphere.platform.support.aas.AuthenticationDescriptor.RbacAction... actions)
      Specified by:
      rbac in interface de.iip_ecosphere.platform.support.aas.RbacReceiver<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder>
    • rbac

      public de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder rbac(de.iip_ecosphere.platform.support.aas.AuthenticationDescriptor auth)
      Specified by:
      rbac in interface de.iip_ecosphere.platform.support.aas.RbacReceiver<de.iip_ecosphere.platform.support.aas.SubmodelElementCollection.SubmodelElementCollectionBuilder>
    • setPropagation

      void setPropagation(boolean propagate)
      Enables or disables registration propagation into the interface instance.
      Parameters:
      propagate - enable or disable propagation