Class MatlabEngine
- java.lang.Object
-
- org.eclipse.epsilon.emc.simulink.engine.MatlabEngine
-
public class MatlabEngine extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.reflect.MethodcloseMethodprotected java.lang.reflect.MethoddisconnectMethodprotected java.lang.Objectengineprotected java.lang.reflect.MethodevalAsyncMethodprotected java.lang.StringBuilderevalCommandQueueprotected java.lang.reflect.MethodevalMethodprotected java.lang.reflect.MethodfevalAsyncMethodprotected java.lang.reflect.MethodfevalMethodprotected java.lang.reflect.MethodfevalWithVariableOutputsMethodprotected java.lang.reflect.MethodgetVariableAsyncMethodprotected java.lang.reflect.MethodgetVariableMethodprotected java.util.Set<IGenericSimulinkModel>modelsprotected java.lang.Stringprojectprotected java.lang.reflect.MethodputVariableAsyncMethodprotected java.lang.reflect.MethodputVariableMethodprotected java.lang.reflect.MethodquitMethodprotected java.lang.StringBuildersbprotected StopwatchstopWatchprotected java.lang.BooleantryCatchEnabled
-
Constructor Summary
Constructors Constructor Description MatlabEngine()MatlabEngine(java.lang.Object engine)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddModel(IGenericSimulinkModel model)voidclose()static MatlabEngineconnectMatlab()static MatlabEngineconnectMatlab(java.lang.String name)voiddisconnect()voidenableTryCatch(boolean enableTryCatch)voideval(java.lang.String cmd)voideval(java.lang.String cmd, java.lang.Object... parameters)This method is now lazily executed.java.util.concurrent.Future<java.lang.Void>evalAsync(java.lang.String cmd)java.lang.ObjectevalWithResult(java.lang.String cmd)java.lang.ObjectevalWithResult(java.lang.String cmd, java.lang.Object... parameters)java.lang.ObjectevalWithSetupAndResult(java.lang.String setup, java.lang.String cmd, java.lang.Object... parameters)voidfeval(int numberOfOutputs, java.lang.String function, java.lang.Object... handles)voidfeval(java.lang.String function, java.lang.Object... handles)voidfevalAsync(java.lang.String function, java.lang.Object... handles)java.lang.ObjectfevalWithResult(int numberOfOutputs, java.lang.String function, java.lang.Object... handles)java.lang.ObjectfevalWithResult(java.lang.String function, java.lang.Object... handles)static java.lang.String[]findMatlab()voidflush()Executes all commands to be executed in the eval method that have been stored in a queue.protected static java.lang.Class<?>getMatlabClass()java.lang.StringgetProject()StopwatchgetStopWatch()java.lang.StringBuildergetStream()java.lang.ObjectgetVariable(java.lang.String variable)static booleanis(java.lang.Object obj)booleanisDisconnected()booleanisEvalCommandQueueEmpty()booleanisReduceExchanges()java.lang.BooleanisTryCatchEnabled()protected java.lang.ObjectprocessInputObject(java.lang.Object o)protected java.lang.Object[]processInputObject(java.lang.Object[] objects)voidputVariable(java.lang.String variableName, java.lang.Object value)voidquit()voidrelease(IGenericSimulinkModel model)voidresetTimer()static voidsetEngineClass(java.lang.Class<?> matlabEngineClass)voidsetProject(java.lang.String project)voidsetReduceExchanges(boolean reduceExchanges)static MatlabEnginestartMatlab()static MatlabEnginestartMatlab(java.lang.String[] options)voidtrackApi(boolean track)
-
-
-
Field Detail
-
engine
protected java.lang.Object engine
-
getVariableMethod
protected java.lang.reflect.Method getVariableMethod
-
getVariableAsyncMethod
protected java.lang.reflect.Method getVariableAsyncMethod
-
putVariableMethod
protected java.lang.reflect.Method putVariableMethod
-
putVariableAsyncMethod
protected java.lang.reflect.Method putVariableAsyncMethod
-
evalMethod
protected java.lang.reflect.Method evalMethod
-
evalAsyncMethod
protected java.lang.reflect.Method evalAsyncMethod
-
fevalMethod
protected java.lang.reflect.Method fevalMethod
-
fevalWithVariableOutputsMethod
protected java.lang.reflect.Method fevalWithVariableOutputsMethod
-
fevalAsyncMethod
protected java.lang.reflect.Method fevalAsyncMethod
-
closeMethod
protected java.lang.reflect.Method closeMethod
-
quitMethod
protected java.lang.reflect.Method quitMethod
-
disconnectMethod
protected java.lang.reflect.Method disconnectMethod
-
project
protected java.lang.String project
-
models
protected java.util.Set<IGenericSimulinkModel> models
-
evalCommandQueue
protected java.lang.StringBuilder evalCommandQueue
-
tryCatchEnabled
protected java.lang.Boolean tryCatchEnabled
-
sb
protected java.lang.StringBuilder sb
-
stopWatch
protected Stopwatch stopWatch
-
-
Method Detail
-
isDisconnected
public boolean isDisconnected() throws java.lang.Exception- Throws:
java.lang.Exception
-
getStopWatch
public Stopwatch getStopWatch()
- Returns:
- the stopWatch
-
setEngineClass
public static void setEngineClass(java.lang.Class<?> matlabEngineClass)
-
trackApi
public void trackApi(boolean track)
-
getStream
public java.lang.StringBuilder getStream()
-
setProject
public void setProject(java.lang.String project) throws MatlabException- Throws:
MatlabException
-
addModel
public void addModel(IGenericSimulinkModel model)
-
getProject
public java.lang.String getProject()
-
release
public void release(IGenericSimulinkModel model) throws MatlabRuntimeException
- Throws:
MatlabRuntimeException
-
enableTryCatch
public void enableTryCatch(boolean enableTryCatch)
-
isTryCatchEnabled
public java.lang.Boolean isTryCatchEnabled()
-
evalWithSetupAndResult
public java.lang.Object evalWithSetupAndResult(java.lang.String setup, java.lang.String cmd, java.lang.Object... parameters) throws MatlabException- Throws:
MatlabException
-
evalWithResult
public java.lang.Object evalWithResult(java.lang.String cmd) throws MatlabException- Throws:
MatlabException
-
evalWithResult
public java.lang.Object evalWithResult(java.lang.String cmd, java.lang.Object... parameters) throws MatlabException- Throws:
MatlabException
-
eval
public void eval(java.lang.String cmd, java.lang.Object... parameters) throws MatlabExceptionThis method is now lazily executed. All commands are stored in a queue and are only dispatched when the methodflush()is invoked.- Parameters:
cmd-parameters-- Throws:
MatlabException
-
is
public static boolean is(java.lang.Object obj)
-
getMatlabClass
protected static java.lang.Class<?> getMatlabClass()
-
processInputObject
protected java.lang.Object processInputObject(java.lang.Object o)
-
processInputObject
protected java.lang.Object[] processInputObject(java.lang.Object[] objects)
-
startMatlab
public static MatlabEngine startMatlab() throws MatlabException
- Throws:
MatlabException
-
startMatlab
public static MatlabEngine startMatlab(java.lang.String[] options) throws MatlabException
- Throws:
MatlabException
-
findMatlab
public static java.lang.String[] findMatlab() throws MatlabException- Throws:
MatlabException
-
connectMatlab
public static MatlabEngine connectMatlab() throws MatlabException
- Throws:
MatlabException
-
connectMatlab
public static MatlabEngine connectMatlab(java.lang.String name) throws MatlabException
- Throws:
MatlabException
-
resetTimer
public void resetTimer()
-
eval
public void eval(java.lang.String cmd) throws MatlabException- Throws:
MatlabException
-
evalAsync
public java.util.concurrent.Future<java.lang.Void> evalAsync(java.lang.String cmd) throws MatlabException- Throws:
MatlabException
-
getVariable
public java.lang.Object getVariable(java.lang.String variable) throws MatlabException- Throws:
MatlabException
-
fevalWithResult
public java.lang.Object fevalWithResult(int numberOfOutputs, java.lang.String function, java.lang.Object... handles) throws MatlabException- Throws:
MatlabException
-
feval
public void feval(int numberOfOutputs, java.lang.String function, java.lang.Object... handles) throws MatlabException- Throws:
MatlabException
-
fevalWithResult
public java.lang.Object fevalWithResult(java.lang.String function, java.lang.Object... handles) throws MatlabException- Throws:
MatlabException
-
feval
public void feval(java.lang.String function, java.lang.Object... handles) throws MatlabException- Throws:
MatlabException
-
putVariable
public void putVariable(java.lang.String variableName, java.lang.Object value) throws MatlabException- Throws:
MatlabException
-
fevalAsync
public void fevalAsync(java.lang.String function, java.lang.Object... handles) throws MatlabException- Throws:
MatlabException
-
close
public void close() throws MatlabException- Throws:
MatlabException
-
quit
public void quit() throws MatlabException- Throws:
MatlabException
-
disconnect
public void disconnect() throws MatlabException- Throws:
MatlabException
-
flush
public void flush() throws MatlabExceptionExecutes all commands to be executed in the eval method that have been stored in a queue.- Throws:
MatlabException
-
isEvalCommandQueueEmpty
public boolean isEvalCommandQueueEmpty()
-
setReduceExchanges
public void setReduceExchanges(boolean reduceExchanges)
- Parameters:
reduceExchanges-
-
isReduceExchanges
public boolean isReduceExchanges()
-
-