Class BaSyxSubmodelElementContainerBuilder<S extends org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
java.lang.Object
de.iip_ecosphere.platform.support.aas.basyx2.BaSyxSubmodelElementContainerBuilder<S>
- Type Parameters:
S- the BaSyx type implementing the sub-model
- All Implemented Interfaces:
de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
- Direct Known Subclasses:
BaSyxEntity.BaSyxEntityBuilder,BaSyxSubmodel.BaSyxSubmodelBuilder,BaSyxSubmodelElementCollection.BaSyxSubmodelElementCollectionBuilder,BaSyxSubmodelElementList.BaSyxSubmodelElementListBuilder
public abstract class BaSyxSubmodelElementContainerBuilder<S extends org.eclipse.digitaltwin.aas4j.v3.model.Submodel>
extends 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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddSubmodelElement(org.eclipse.digitaltwin.aas4j.v3.model.SubmodelElement element) Adds a submodel element to this container.(package private) voidCallsBuilder.build()on all deferred builders.composeRbacPath(String element) Composes an RBAC path from the parents.de.iip_ecosphere.platform.support.aas.BlobDataElement.BlobDataElementBuildercreateBlobDataElementBuilder(String idShort, String content, String mimeType) de.iip_ecosphere.platform.support.aas.Entity.EntityBuildercreateEntityBuilder(String idShort, de.iip_ecosphere.platform.support.aas.Entity.EntityType type, de.iip_ecosphere.platform.support.aas.Reference asset) de.iip_ecosphere.platform.support.aas.FileDataElement.FileDataElementBuildercreateFileDataElementBuilder(String idShort, String contents, String mimeType) de.iip_ecosphere.platform.support.aas.MultiLanguageProperty.MultiLanguagePropertyBuildercreateMultiLanguagePropertyBuilder(String idShort) de.iip_ecosphere.platform.support.aas.Operation.OperationBuildercreateOperationBuilder(String idShort) de.iip_ecosphere.platform.support.aas.Property.PropertyBuildercreatePropertyBuilder(String idShort) de.iip_ecosphere.platform.support.aas.Range.RangeBuildercreateRangeBuilder(String idShort, de.iip_ecosphere.platform.support.aas.Type type, Object min, Object max) de.iip_ecosphere.platform.support.aas.ReferenceCreates a reference to the sub-model under creation.de.iip_ecosphere.platform.support.aas.ReferenceElement.ReferenceElementBuildercreateReferenceElementBuilder(String idShort) de.iip_ecosphere.platform.support.aas.RelationshipElement.RelationshipElementBuildercreateRelationshipElementBuilder(String idShort, de.iip_ecosphere.platform.support.aas.Reference first, de.iip_ecosphere.platform.support.aas.Reference second) (package private) voidRegisters a sub-build as deferred.protected abstract StringReturns the underlying collection instance.protected AbstractSubmodel<S> Returns the underlying instance.protected Object[]parents()Returns all parent builders including this.(package private) BaSyxBlobRegisters a file data element.(package private) BaSyxEntityregister(BaSyxEntity entity) Registers a entity element.(package private) BaSyxFileRegisters a file data element.(package private) BaSyxMultiLanguagePropertyregister(BaSyxMultiLanguageProperty property) Registers a multi-language property.(package private) BaSyxOperationregister(BaSyxOperation operation) Registers an operation.(package private) BaSyxPropertyregister(BaSyxProperty property) Registers a property.(package private) BaSyxRangeregister(BaSyxRange range) Registers a range element.(package private) BaSyxReferenceElementregister(BaSyxReferenceElement reference) Registers a reference element.(package private) BaSyxRelationshipElementregister(BaSyxRelationshipElement relationship) Registers a relationship element.protected BaSyxSubmodelElementCollectionregister(BaSyxSubmodelElementCollection collection, boolean propagate) Registers a sub-model element collection.protected BaSyxSubmodelElementListregister(BaSyxSubmodelElementList list, boolean propagate) Registers a sub-model element list.(package private) <T extends de.iip_ecosphere.platform.support.aas.SubmodelElement>
TregisterElement(T elt) Registers an element.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
createSubmodelElementCollectionBuilder, createSubmodelElementContainerBuilder, createSubmodelElementListBuilder, getAasBuilder, getParentBuilder, hasElement, isNew, justBuild, setDescription, setSemanticId
-
Constructor Details
-
BaSyxSubmodelElementContainerBuilder
public BaSyxSubmodelElementContainerBuilder()
-
-
Method Details
-
createPropertyBuilder
public de.iip_ecosphere.platform.support.aas.Property.PropertyBuilder createPropertyBuilder(String idShort) - Specified by:
createPropertyBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createMultiLanguagePropertyBuilder
public de.iip_ecosphere.platform.support.aas.MultiLanguageProperty.MultiLanguagePropertyBuilder createMultiLanguagePropertyBuilder(String idShort) - Specified by:
createMultiLanguagePropertyBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createRelationshipElementBuilder
public de.iip_ecosphere.platform.support.aas.RelationshipElement.RelationshipElementBuilder createRelationshipElementBuilder(String idShort, de.iip_ecosphere.platform.support.aas.Reference first, de.iip_ecosphere.platform.support.aas.Reference second) - Specified by:
createRelationshipElementBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createReferenceElementBuilder
public de.iip_ecosphere.platform.support.aas.ReferenceElement.ReferenceElementBuilder createReferenceElementBuilder(String idShort) - Specified by:
createReferenceElementBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createEntityBuilder
public de.iip_ecosphere.platform.support.aas.Entity.EntityBuilder createEntityBuilder(String idShort, de.iip_ecosphere.platform.support.aas.Entity.EntityType type, de.iip_ecosphere.platform.support.aas.Reference asset) - Specified by:
createEntityBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createOperationBuilder
public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder createOperationBuilder(String idShort) - Specified by:
createOperationBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createFileDataElementBuilder
public de.iip_ecosphere.platform.support.aas.FileDataElement.FileDataElementBuilder createFileDataElementBuilder(String idShort, String contents, String mimeType) - Specified by:
createFileDataElementBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createRangeBuilder
public de.iip_ecosphere.platform.support.aas.Range.RangeBuilder createRangeBuilder(String idShort, de.iip_ecosphere.platform.support.aas.Type type, Object min, Object max) - Specified by:
createRangeBuilderin interfacede.iip_ecosphere.platform.support.aas.SubmodelElementContainerBuilder
-
createBlobDataElementBuilder
public de.iip_ecosphere.platform.support.aas.BlobDataElement.BlobDataElementBuilder createBlobDataElementBuilder(String idShort, String content, String mimeType) - Specified by:
createBlobDataElementBuilderin interfacede.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
Returns the underlying instance.- Returns:
- the instance
-
getIdShort
Returns the underlying collection instance.- Returns:
- the instance
-
register
Registers a relationship element.- Parameters:
relationship- the relationship element- Returns:
relationship
-
addSubmodelElement
private void addSubmodelElement(org.eclipse.digitaltwin.aas4j.v3.model.SubmodelElement element) Adds a submodel element to this container.- Parameters:
element- the element
-
registerElement
<T extends de.iip_ecosphere.platform.support.aas.SubmodelElement> T registerElement(T elt) Registers an element. Default for all remaining registration functions.- Type Parameters:
T- the actual type of the element- Parameters:
elt- the element- Returns:
elt
-
register
Registers a entity element.- Parameters:
entity- the entity- Returns:
reference
-
register
Registers a file data element.- Parameters:
file- the file data element- Returns:
file
-
register
Registers a range element.- Parameters:
range- the range element- Returns:
range
-
register
Registers a file data element.- Parameters:
blob- the BLOB data element- Returns:
blob
-
register
Registers an operation.- Parameters:
operation- the operation- Returns:
operation
-
register
Registers a property.- Parameters:
property- the property- Returns:
property
-
register
Registers a multi-language property.- Parameters:
property- the property- Returns:
property
-
register
Registers a reference element.- Parameters:
reference- the reference- Returns:
reference
-
register
protected BaSyxSubmodelElementCollection register(BaSyxSubmodelElementCollection collection, boolean propagate) Registers a sub-model element collection.- Parameters:
collection- the collectionpropagate- enable propagation into the interface instance (usuallytrue) or take a (performance) shortcut and only update the BaSyx submodel (false)- Returns:
collection
-
register
Registers a sub-model element list.- Parameters:
list- the listpropagate- enable propagation into the interface instance (usuallytrue) or take a (performance) shortcut and only update the BaSyx submodel (false)- Returns:
list
-
defer
Registers a sub-build as deferred.- Parameters:
shortId- the shortId of the elementbuilder- the sub-builder to be registered- See Also:
-
buildMyDeferred
void buildMyDeferred()CallsBuilder.build()on all deferred builders.- See Also:
-
parents
Returns all parent builders including this.- Returns:
- the parent builders
-
composeRbacPath
Composes an RBAC path from the parents.- Parameters:
element- optional name of the element to be appended to the path- Returns:
- the path, including the parents
-