Class MablApiBuilder

  • All Implemented Interfaces:
    Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>

    public class MablApiBuilder
    extends java.lang.Object
    implements Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
    • Constructor Detail

      • MablApiBuilder

        @Deprecated
        public MablApiBuilder​(boolean limited)
        Deprecated.
        This is expected to be removed in the future.
        Parameters:
        limited - If false then it will create the error handling environment, i.e. FMI2 Status Variables and global execution. If true it will use the ones created by the template generator.
      • MablApiBuilder

        public MablApiBuilder()
      • MablApiBuilder

        public MablApiBuilder​(MablApiBuilder.MablSettings settings,
                              boolean limited)
        Create a MablApiBuilder
        Parameters:
        settings -
        limited - if true it will not create Fmi2StatusVariables, as it expects them to be present already.
    • Method Detail

      • setRuntimeLogger

        public void setRuntimeLogger​(LoggerFmi2Api runtimeLogger)
      • getDataWriter

        public DataWriter getDataWriter()
      • getRootScope

        public IMablScope getRootScope()
        Description copied from interface: Fmi2Builder
        Gets the default scope
        Specified by:
        getRootScope in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
        Returns:
      • getDynamicScope

        public DynamicActiveBuilderScope getDynamicScope()
        Specified by:
        getDynamicScope in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • getCurrentLinkedValue

        public <V,​T> Fmi2Builder.Variable<T,​V> getCurrentLinkedValue​(Fmi2Builder.Port port)
        Description copied from interface: Fmi2Builder
        Gets a tag to the last value obtained for the given port
        Specified by:
        getCurrentLinkedValue in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
        Returns:
      • getDoubleVariableFrom

        public DoubleVariableFmi2Api getDoubleVariableFrom​(org.intocps.maestro.ast.node.PExp exp)
        Description copied from interface: Fmi2Builder
        Get handle to the current time
        Specified by:
        getDoubleVariableFrom in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
        Returns:
      • getIntVariableFrom

        public IntVariableFmi2Api getIntVariableFrom​(org.intocps.maestro.ast.node.PExp exp)
        Specified by:
        getIntVariableFrom in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • getStringVariableFrom

        public StringVariableFmi2Api getStringVariableFrom​(org.intocps.maestro.ast.node.PExp exp)
        Specified by:
        getStringVariableFrom in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • getBooleanVariableFrom

        public BooleanVariableFmi2Api getBooleanVariableFrom​(org.intocps.maestro.ast.node.PExp exp)
        Specified by:
        getBooleanVariableFrom in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • getFmuVariableFrom

        public FmuVariableFmi2Api getFmuVariableFrom​(org.intocps.maestro.ast.node.PExp exp)
        Specified by:
        getFmuVariableFrom in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • buildRaw

        public org.intocps.maestro.ast.node.PStm buildRaw()
                                                   throws org.intocps.maestro.ast.analysis.AnalysisException
        Specified by:
        buildRaw in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
        Throws:
        org.intocps.maestro.ast.analysis.AnalysisException
      • loadRuntimeModule

        public Fmi2Builder.RuntimeModule<org.intocps.maestro.ast.node.PStm> loadRuntimeModule​(java.lang.String name,
                                                                                              java.lang.Object... args)
        Specified by:
        loadRuntimeModule in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • loadRuntimeModule

        public Fmi2Builder.RuntimeModule<org.intocps.maestro.ast.node.PStm> loadRuntimeModule​(Fmi2Builder.Scope<org.intocps.maestro.ast.node.PStm> scope,
                                                                                              java.lang.String name,
                                                                                              java.lang.Object... args)
        Specified by:
        loadRuntimeModule in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
      • loadRuntimeModule

        public Fmi2Builder.RuntimeModule<org.intocps.maestro.ast.node.PStm> loadRuntimeModule​(Fmi2Builder.Scope<org.intocps.maestro.ast.node.PStm> scope,
                                                                                              java.util.function.BiConsumer<Fmi2Builder.Scope<org.intocps.maestro.ast.node.PStm>,​org.intocps.maestro.ast.node.PStm> variableStoreFunc,
                                                                                              java.lang.String name,
                                                                                              java.lang.Object... args)
      • build

        public org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit build()
                                                                                   throws org.intocps.maestro.ast.analysis.AnalysisException
        Specified by:
        build in interface Fmi2Builder<org.intocps.maestro.ast.node.PStm,​org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnit,​org.intocps.maestro.ast.node.PExp>
        Throws:
        org.intocps.maestro.ast.analysis.AnalysisException
      • addExternalLoadedModuleIdentifier

        public void addExternalLoadedModuleIdentifier​(java.lang.String name)
      • getExternalLoadedModuleIdentifiers

        public java.util.Set<java.lang.String> getExternalLoadedModuleIdentifiers()