Class BaSyxSubmodelElementContainerBuilder<S extends org.eclipse.basyx.submodel.metamodel.api.ISubmodel>

  • Type Parameters:
    S - the BaSyx type implementing the sub-model
    All Implemented Interfaces:
    de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    Direct Known Subclasses:
    BaSyxISubmodel.BaSyxISubmodelBuilder, BaSyxSubmodel.BaSyxSubmodelBuilder, BaSyxSubmodelElementCollection.BaSyxSubmodelElementCollectionBuilder

    public abstract class BaSyxSubmodelElementContainerBuilder<S extends org.eclipse.basyx.submodel.metamodel.api.ISubmodel>
    extends java.lang.Object
    implements de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
    Basic implementation for a container-based model element. Subclasses must call buildMyDeferred() in an appropriate method (usually Builder.build()) and use DeferredBuilder.getDeferred(String, Class, java.util.Map) when potentially creating a builder that could be deferred.
    Author:
    Holger Eichelberger, SSE
    • Constructor Detail

      • BaSyxSubmodelElementContainerBuilder

        public BaSyxSubmodelElementContainerBuilder()
    • Method Detail

      • createPropertyBuilder

        public de.iip_ecosphere.platform.support.aas.Property.PropertyBuilder createPropertyBuilder​(java.lang.String idShort)
        Specified by:
        createPropertyBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      • createReferenceElementBuilder

        public de.iip_ecosphere.platform.support.aas.ReferenceElement.ReferenceElementBuilder createReferenceElementBuilder​(java.lang.String idShort)
        Specified by:
        createReferenceElementBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      • createOperationBuilder

        public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder createOperationBuilder​(java.lang.String idShort)
        Specified by:
        createOperationBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      • createFileDataElementBuilder

        public de.iip_ecosphere.platform.support.aas.FileDataElement.FileDataElementBuilder createFileDataElementBuilder​(java.lang.String idShort,
                                                                                                                         java.lang.String contents,
                                                                                                                         java.lang.String mimeType)
        Specified by:
        createFileDataElementBuilder in interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
      • createReference

        public de.iip_ecosphere.platform.support.aas.Reference createReference()
        Creates a reference to the sub-model under creation.
        Returns:
        the reference
      • getInstance

        protected abstract AbstractSubmodel<S> getInstance()
        Returns the underlying instance.
        Returns:
        the instance
      • register

        BaSyxFile register​(BaSyxFile file)
        Registers a file data element.
        Parameters:
        file - the file data element
        Returns:
        file
      • register

        BaSyxOperation register​(BaSyxOperation operation)
        Registers an operation.
        Parameters:
        operation - the operation
        Returns:
        operation
      • register

        BaSyxProperty register​(BaSyxProperty property)
        Registers a property.
        Parameters:
        property - the property
        Returns:
        property
      • defer

        void defer​(java.lang.String shortId,
                   de.iip_ecosphere.platform.support.Builder<?> builder)
        Registers a sub-build as deferred.
        Parameters:
        shortId - the shortId of the element
        builder - the sub-builder to be registered
        See Also:
        buildMyDeferred()
      • buildMyDeferred

        void buildMyDeferred()
        Calls Builder.build() on all deferred builders.
        See Also:
        defer(String, Builder)