|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.jstatcom.engine.matlab.MatlabEngine
public final class MatlabEngine
Engine for calling Matlab Compiler generated dlls from .m source files. Allows full control over execution, especially stopping is supported.
Method Summary | |
---|---|
void |
call(java.lang.String procName,
JSCData[] args,
JSCData[] retData)
Makes a call to procName in the native library that was
loaded before. |
java.lang.String |
getCurrentSysLib()
Gets the system library that is currently used by this engine. |
static MatlabEngine |
getInstance()
Returns an instance of the MLabEngine that is a Singleton. |
boolean |
isValid(JSCTypes type)
Gets whether type can be handled by this engine. |
void |
load(java.lang.String module,
LoadTypes loadType,
JSCData... args)
Sets the name of the native library to be used or loads an executable. |
void |
setOutErrHandler(OutErrHandler outErrHandler)
Sets a new output error handler. |
void |
shutdown()
Empty method, no termination code. |
void |
stop()
Stops a running execution. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static MatlabEngine getInstance()
MLabEngine
that is a Singleton.
java.lang.RuntimeException
- if the native support library cannot be foundpublic void call(java.lang.String procName, JSCData[] args, JSCData[] retData)
procName
in the native library that was
loaded before. It is assumed that the library was created with the MatLab
compiler from an .m file. This call uses the mlx
interface
function. It also takes care of initialization and termination tasks.
Usage Note
The name of the procedure and the input/return parameters must conform to
the specification in the MatLab .m file. All input and return parameters
will first be transformed to a mxArray
. Afterwards the
return values are read back and set to the specified data objects. The
datatypes must be correctly specified.
call
in interface Engine
procName
- name of the procedure to call, must be defined in the
currently loaded library, must correspond to the name in the
.m file (lowercase)args
- arguments for the procedureretData
- return types
java.lang.IllegalArgumentException
- args
or retData
contain
null
elements or unsupported types
retData
contains more than 1 element
if (procName == null || procName.length() == 0)
or
args
represents
SARRAY
and contains null
strings
java.lang.RuntimeException
- if procName
adress could not be found in the
loaded library
java.lang.UnsatisfiedLinkError
- if native support routines cannot be found
java.lang.IllegalStateException
- if no system library was loaded beforepublic boolean isValid(JSCTypes type)
Engine
type
can be handled by this engine.
isValid
in interface Engine
type
- the data type to be checked
true
if ok, false
if
type
cannot be handled by this engineEngine.isValid(com.jstatcom.model.JSCTypes)
public void load(java.lang.String module, LoadTypes loadType, JSCData... args)
if (loadType == MLabLoadTypes.USERLIB)
then the library is
searched in the jmlab
subdirectory.
load
in interface Engine
module
- the name of the system library to load without the system
specific extensionloadType
- the load typeargs
- ignored
java.lang.IllegalArgumentException
- if (loadName == null || loadType == null)
or
if (module.length() == 0)
or
jmlab
subdir or
EXE
is specified and args
contains other types than JSCTypes.STRING
or
args
contains null
elements
java.lang.RuntimeException
- if operating system is not supported or if the system
library/exectuable with the given name cannot be found or if
execution returned other value than 0Engine.load(String,
com.jstatcom.engine.LoadTypes, com.jstatcom.model.JSCData[])
public java.lang.String getCurrentSysLib()
load
method.
none
has been loaded so farpublic void stop()
Engine
UnsupportedOperationException
.
stop
in interface Engine
Engine
public void shutdown()
shutdown
in interface Engine
Engine.shutdown()
public void setOutErrHandler(OutErrHandler outErrHandler)
outErrHandler
- new implementation for dealing with output and errors
java.lang.IllegalArgumentException
- if null
argument
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |