Class BaSyxOperation.BaSxyOperationBuilder

  • All Implemented Interfaces:
    de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder, de.iip_ecosphere.platform.support.Builder<de.iip_ecosphere.platform.support.aas.Operation>
    Enclosing class:
    BaSyxOperation

    public static class BaSyxOperation.BaSxyOperationBuilder
    extends java.lang.Object
    implements de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
    Implements the operation builder.
    Author:
    Holger Eichelberger, SSE
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable> inOutVariables  
      private java.util.List<org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable> inputVariables  
      private BaSyxOperation instance  
      private org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.Operation operation  
      private java.util.List<org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable> outputVariables  
      private BaSyxSubmodelElementContainerBuilder<?> parentBuilder  
      • Fields inherited from interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder

        DEFAULT_RETURN_VAR_NAME
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder addInOutVariable​(java.lang.String idShort, de.iip_ecosphere.platform.support.aas.Type type)  
      de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder addInputVariable​(java.lang.String idShort, de.iip_ecosphere.platform.support.aas.Type type)  
      de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder addOutputVariable​(java.lang.String idShort, de.iip_ecosphere.platform.support.aas.Type type)  
      de.iip_ecosphere.platform.support.aas.Operation build()  
      private org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable createOperationVariable​(java.lang.String idShort, de.iip_ecosphere.platform.support.aas.Type type)
      Creates an operation variable.
      BaSyxSubmodelElementContainerBuilder<?> getParentBuilder()  
      de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder setInvocable​(java.util.function.Function<java.lang.Object[],​java.lang.Object> invocable)  
      de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder setInvocableLazy​(java.util.function.Function<java.lang.Object[],​java.lang.Object> invocable)  
      • 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.Operation.OperationBuilder

        build
    • Field Detail

      • operation

        private org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.Operation operation
      • inputVariables

        private java.util.List<org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable> inputVariables
      • outputVariables

        private java.util.List<org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable> outputVariables
      • inOutVariables

        private java.util.List<org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable> inOutVariables
    • Constructor Detail

      • BaSxyOperationBuilder

        BaSxyOperationBuilder​(BaSyxSubmodelElementContainerBuilder<?> parentBuilder,
                              java.lang.String idShort)
        Creates an instance. Prevents from external creation.
        Parameters:
        parentBuilder - the parent builder
        idShort - the short name of the operation
        Throws:
        java.lang.IllegalArgumentException - if idShort is null or empty
    • Method Detail

      • getParentBuilder

        public BaSyxSubmodelElementContainerBuilder<?> getParentBuilder()
        Specified by:
        getParentBuilder in interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
      • createOperationVariable

        private org.eclipse.basyx.submodel.metamodel.map.submodelelement.operation.OperationVariable createOperationVariable​(java.lang.String idShort,
                                                                                                                             de.iip_ecosphere.platform.support.aas.Type type)
        Creates an operation variable. Just in case that we somewhen need name and type.
        Parameters:
        idShort - the short id of the variable
        type - the type of the variable (may be null for left undefined)
        Returns:
        the operation variable
      • addInputVariable

        public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder addInputVariable​(java.lang.String idShort,
                                                                                                 de.iip_ecosphere.platform.support.aas.Type type)
        Specified by:
        addInputVariable in interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
      • addOutputVariable

        public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder addOutputVariable​(java.lang.String idShort,
                                                                                                  de.iip_ecosphere.platform.support.aas.Type type)
        Specified by:
        addOutputVariable in interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
      • addInOutVariable

        public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder addInOutVariable​(java.lang.String idShort,
                                                                                                 de.iip_ecosphere.platform.support.aas.Type type)
        Specified by:
        addInOutVariable in interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
      • setInvocable

        public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder setInvocable​(java.util.function.Function<java.lang.Object[],​java.lang.Object> invocable)
        Specified by:
        setInvocable in interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
      • setInvocableLazy

        public de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder setInvocableLazy​(java.util.function.Function<java.lang.Object[],​java.lang.Object> invocable)
        Specified by:
        setInvocableLazy in interface de.iip_ecosphere.platform.support.aas.Operation.OperationBuilder
      • build

        public de.iip_ecosphere.platform.support.aas.Operation build()
        Specified by:
        build in interface de.iip_ecosphere.platform.support.Builder<de.iip_ecosphere.platform.support.aas.Operation>