Class MablApiBuilder
- java.lang.Object
-
- org.intocps.maestro.framework.fmi2.api.mabl.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>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMablApiBuilder.FmiStatusstatic classMablApiBuilder.MablSettings-
Nested classes/interfaces inherited from interface org.intocps.maestro.framework.fmi2.api.Fmi2Builder
Fmi2Builder.BoolValue, Fmi2Builder.BoolVariable<T>, Fmi2Builder.DoubleValue, Fmi2Builder.DoubleVariable<T>, Fmi2Builder.DynamicActiveScope<T>, Fmi2Builder.ExpressionValue, Fmi2Builder.Fmi2ComponentVariable<T>, Fmi2Builder.Fmu2Variable<S>, Fmi2Builder.IfScope<T>, Fmi2Builder.IntValue, Fmi2Builder.IntVariable<T>, Fmi2Builder.LogicBuilder, Fmi2Builder.NamedValue, Fmi2Builder.NamedVariable<T>, Fmi2Builder.Numeric<A extends java.lang.Number>, Fmi2Builder.NumericExpressionValue, Fmi2Builder.NumericTypedReferenceExp, Fmi2Builder.NumericValue, Fmi2Builder.Port, Fmi2Builder.ProvidesTypedReferenceExp, Fmi2Builder.ReferenceValue, Fmi2Builder.RuntimeFunction, Fmi2Builder.RuntimeModule<S>, Fmi2Builder.Scope<T>, Fmi2Builder.Scoping<T>, Fmi2Builder.StateVariable<T>, Fmi2Builder.StringValue, Fmi2Builder.StringVariable<T>, Fmi2Builder.Type, Fmi2Builder.Value<V>, Fmi2Builder.Variable<T,V>, Fmi2Builder.WhileScope<T>
-
-
Constructor Summary
Constructors Constructor Description MablApiBuilder()MablApiBuilder(boolean limited)Deprecated.This is expected to be removed in the future.MablApiBuilder(MablApiBuilder.MablSettings settings, boolean limited)Create a MablApiBuilder
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExternalLoadedModuleIdentifier(java.lang.String name)org.intocps.maestro.ast.node.ASimulationSpecificationCompilationUnitbuild()org.intocps.maestro.ast.node.PStmbuildRaw()BooleanBuilderFmi2ApigetBooleanBuilder()BooleanVariableFmi2ApigetBooleanVariableFrom(org.intocps.maestro.ast.node.PExp exp)<V,T>
Fmi2Builder.Variable<T,V>getCurrentLinkedValue(Fmi2Builder.Port port)Gets a tag to the last value obtained for the given portDataWritergetDataWriter()DoubleVariableFmi2ApigetDoubleVariableFrom(org.intocps.maestro.ast.node.PExp exp)Get handle to the current timeDynamicActiveBuilderScopegetDynamicScope()java.util.Set<java.lang.String>getExternalLoadedModuleIdentifiers()IntVariableFmi2ApigetFmiStatusConstant(MablApiBuilder.FmiStatus status)FmuVariableFmi2ApigetFmuVariableFrom(org.intocps.maestro.ast.node.PExp exp)FunctionBuildergetFunctionBuilder()BooleanVariableFmi2ApigetGlobalExecutionContinue()IntVariableFmi2ApigetGlobalFmiStatus()IntVariableFmi2ApigetIntVariableFrom(org.intocps.maestro.ast.node.PExp exp)LoggerFmi2ApigetLogger()MablToMablAPIgetMablToMablAPI()MathBuilderFmi2ApigetMathBuilder()TagNameGeneratorgetNameGenerator()IMablScopegetRootScope()Gets the default scopeMablApiBuilder.MablSettingsgetSettings()StringVariableFmi2ApigetStringVariableFrom(org.intocps.maestro.ast.node.PExp exp)Fmi2Builder.RuntimeModule<org.intocps.maestro.ast.node.PStm>loadRuntimeModule(java.lang.String name, java.lang.Object... args)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)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)voidsetRuntimeLogger(LoggerFmi2Api runtimeLogger)
-
-
-
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)
-
getSettings
public MablApiBuilder.MablSettings getSettings()
-
getFmiStatusConstant
public IntVariableFmi2Api getFmiStatusConstant(MablApiBuilder.FmiStatus status)
-
getMablToMablAPI
public MablToMablAPI getMablToMablAPI()
-
getDataWriter
public DataWriter getDataWriter()
-
getGlobalExecutionContinue
public BooleanVariableFmi2Api getGlobalExecutionContinue()
-
getGlobalFmiStatus
public IntVariableFmi2Api getGlobalFmiStatus()
-
getNameGenerator
public TagNameGenerator getNameGenerator()
-
getMathBuilder
public MathBuilderFmi2Api getMathBuilder()
-
getRootScope
public IMablScope getRootScope()
Description copied from interface:Fmi2BuilderGets the default scope- Specified by:
getRootScopein interfaceFmi2Builder<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:
getDynamicScopein interfaceFmi2Builder<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:Fmi2BuilderGets a tag to the last value obtained for the given port- Specified by:
getCurrentLinkedValuein interfaceFmi2Builder<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:Fmi2BuilderGet handle to the current time- Specified by:
getDoubleVariableFromin interfaceFmi2Builder<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:
getIntVariableFromin interfaceFmi2Builder<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:
getStringVariableFromin interfaceFmi2Builder<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:
getBooleanVariableFromin interfaceFmi2Builder<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:
getFmuVariableFromin interfaceFmi2Builder<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:
buildRawin interfaceFmi2Builder<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:
loadRuntimeModulein interfaceFmi2Builder<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:
loadRuntimeModulein interfaceFmi2Builder<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:
buildin interfaceFmi2Builder<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
-
getFunctionBuilder
public FunctionBuilder getFunctionBuilder()
-
getBooleanBuilder
public BooleanBuilderFmi2Api getBooleanBuilder()
-
getLogger
public LoggerFmi2Api getLogger()
-
addExternalLoadedModuleIdentifier
public void addExternalLoadedModuleIdentifier(java.lang.String name)
-
getExternalLoadedModuleIdentifiers
public java.util.Set<java.lang.String> getExternalLoadedModuleIdentifiers()
-
-