Class AbstractSimulinkModel
- java.lang.Object
-
- org.eclipse.epsilon.eol.models.Model
-
- org.eclipse.epsilon.eol.models.CachedModel<ISimulinkModelElement>
-
- org.eclipse.epsilon.emc.simulink.model.AbstractSimulinkModel
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,IGenericSimulinkModel
,IModel
- Direct Known Subclasses:
SimulinkDictionaryModel
,SimulinkModel
,SimulinkRequirementModel
public abstract class AbstractSimulinkModel extends CachedModel<ISimulinkModelElement> implements IGenericSimulinkModel
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
closeOnDispose
protected boolean
enableTryCatch
protected MatlabEngine
engine
protected java.lang.String
engineJarPath
protected java.lang.Integer
enginePoolSize
static java.lang.String
ENV_ENGINE_JAR_PATH
static java.lang.String
ENV_LIBRARY_PATH
static java.lang.String
ENV_MATLAB_PATH
protected java.io.File
file
protected java.lang.String
libraryPath
protected java.lang.String
matlabPath
protected boolean
openOnLoad
protected java.util.List<java.lang.String>
paths
static java.lang.String
PROPERTY_CLOSE_ON_DISPOSE
static java.lang.String
PROPERTY_CURRENT_SIMULINK_PROJECT
static java.lang.String
PROPERTY_ENABLE_TRY_CATCH
static java.lang.String
PROPERTY_ENGINE_JAR_PATH
static java.lang.String
PROPERTY_ENGINE_POOL_SIZE
static java.lang.String
PROPERTY_FILE
static java.lang.String
PROPERTY_LIBRARY_PATH
static java.lang.String
PROPERTY_MATLAB_PATH
static java.lang.String
PROPERTY_OPEN_ON_LOAD
static java.lang.String
PROPERTY_PATHS
static java.lang.String
PROPERTY_SIMULINK_PROJECT
static java.lang.String
PROPERTY_WORKING_DIR
protected java.io.File
simulinkProject
protected boolean
useCurrentProject
protected java.io.File
workingDir
-
Fields inherited from class org.eclipse.epsilon.eol.models.CachedModel
allContentsCache, kindCache, PROPERTY_CACHED, PROPERTY_CONCURRENT, typeCache
-
Fields inherited from class org.eclipse.epsilon.eol.models.Model
aliases, ENV_PREFIX, name, PROPERTY_ALIASES, PROPERTY_NAME, PROPERTY_READONLOAD, PROPERTY_READONLY, PROPERTY_STOREONDISPOSAL, propertyGetter, propertySetter, readOnLoad, storeOnDisposal
-
-
Constructor Summary
Constructors Constructor Description AbstractSimulinkModel()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addPath(java.io.File path)
void
addPath(java.lang.String path)
protected abstract void
closeMatlabModel()
protected ISimulinkModelElement
createInstanceInModel(java.lang.String type)
protected void
disposeModel()
protected java.util.Collection<java.lang.String>
getAllTypeNamesOf(java.lang.Object instance)
Returns the fully qualified names of every type to which the given object conforms.protected java.lang.Object
getCacheKeyForType(java.lang.String type)
Returns an identity for the given type, which will be used byCachedModel
as a key for the memoization of model elements by type.MatlabEngine
getEngine()
java.lang.String
getEngineJarPath()
java.lang.Object
getEnumerationValue(java.lang.String enumeration, java.lang.String label)
java.io.File
getFile()
java.lang.String
getLibraryPath()
java.lang.String
getMatlabPath()
java.util.List<java.lang.String>
getPaths()
java.io.File
getProject()
java.io.File
getWorkingDir()
java.lang.Object
getWorkspaceVariable(java.lang.String value)
java.lang.Boolean
isCloseOnDispose()
boolean
isEnableTryCatch()
boolean
isInstantiable(java.lang.String type)
boolean
isLoaded()
Convenience method for determining when a model has been loaded.java.lang.Boolean
isOpenOnLoad()
java.lang.Boolean
isUseCurrentProject()
void
load(StringProperties properties, IRelativePathResolver resolver)
protected void
loadModel()
boolean
owns(java.lang.Object instance)
Used to test whether an object is contained in this model.java.lang.Object
parseMatlabEngineVariable(java.lang.String variableName)
protected boolean
resolvePaths()
void
setCloseOnDispose(java.lang.Boolean closeOnDispose)
void
setEnableTryCatch(boolean enableTryCatch)
void
setEngine(MatlabEngine engine)
void
setEngineJarPath(java.lang.String engineJarPath)
void
setFile(java.io.File file)
void
setLibraryPath(java.lang.String libraryPath)
void
setMatlabPath(java.lang.String matlabPath)
void
setOpenOnLoad(java.lang.Boolean openOnLoad)
void
setProject(java.io.File simulinkProject)
void
setProject(java.lang.String simulinkProject)
void
setUseCurrentProject(java.lang.Boolean currentSimulinkProject)
void
setWorkingDir(java.io.File workingDir)
void
statement(java.lang.String statement)
java.lang.Object
statementWithResult(java.lang.String statement)
-
Methods inherited from class org.eclipse.epsilon.eol.models.CachedModel
addToCache, allContents, allContentsFromModel, clearCache, createInstance, deleteElement, deleteElementInModel, dispose, getAllOfKind, getAllOfKindFromModel, getAllOfKindOrType, getAllOfType, getAllOfTypeFromModel, initCaches, isCachingEnabled, isConcurrent, load, removeFromCache, setCachingEnabled, setConcurrent, wrap
-
Methods inherited from class org.eclipse.epsilon.eol.models.Model
allInstances, createInstance, getAliases, getFullyQualifiedTypeNameOf, getMetamodel, getName, getPropertyGetter, getPropertySetter, getTransactionSupport, getTypeOf, isModelElement, isOfKind, isOfType, isPropertySet, isReadOnLoad, isStoredOnDisposal, knowsAboutProperty, load, load, setName, setReadOnLoad, setStoredOnDisposal
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.epsilon.eol.models.IModel
allContents, close, createInstance, createInstance, deleteElement, dispose, getAliases, getAllOfKind, getAllOfType, getElementById, getElementId, getFullyQualifiedTypeNameOf, getMetamodel, getName, getPropertyGetter, getPropertySetter, getTransactionSupport, getTypeNameOf, getTypeOf, hasType, isModelElement, isOfKind, isOfType, isPropertySet, isReadOnLoad, isStoredOnDisposal, knowsAboutProperty, load, load, load, setElementId, setName, setReadOnLoad, setStoredOnDisposal, store, store
-
-
-
-
Field Detail
-
PROPERTY_WORKING_DIR
public static final java.lang.String PROPERTY_WORKING_DIR
- See Also:
- Constant Field Values
-
PROPERTY_PATHS
public static final java.lang.String PROPERTY_PATHS
- See Also:
- Constant Field Values
-
PROPERTY_FILE
public static final java.lang.String PROPERTY_FILE
- See Also:
- Constant Field Values
-
PROPERTY_MATLAB_PATH
public static final java.lang.String PROPERTY_MATLAB_PATH
- See Also:
- Constant Field Values
-
PROPERTY_LIBRARY_PATH
public static final java.lang.String PROPERTY_LIBRARY_PATH
- See Also:
- Constant Field Values
-
PROPERTY_ENGINE_JAR_PATH
public static final java.lang.String PROPERTY_ENGINE_JAR_PATH
- See Also:
- Constant Field Values
-
PROPERTY_SIMULINK_PROJECT
public static final java.lang.String PROPERTY_SIMULINK_PROJECT
- See Also:
- Constant Field Values
-
PROPERTY_OPEN_ON_LOAD
public static final java.lang.String PROPERTY_OPEN_ON_LOAD
- See Also:
- Constant Field Values
-
PROPERTY_CLOSE_ON_DISPOSE
public static final java.lang.String PROPERTY_CLOSE_ON_DISPOSE
- See Also:
- Constant Field Values
-
PROPERTY_ENABLE_TRY_CATCH
public static final java.lang.String PROPERTY_ENABLE_TRY_CATCH
- See Also:
- Constant Field Values
-
PROPERTY_CURRENT_SIMULINK_PROJECT
public static final java.lang.String PROPERTY_CURRENT_SIMULINK_PROJECT
- See Also:
- Constant Field Values
-
PROPERTY_ENGINE_POOL_SIZE
public static final java.lang.String PROPERTY_ENGINE_POOL_SIZE
- See Also:
- Constant Field Values
-
ENV_MATLAB_PATH
public static final java.lang.String ENV_MATLAB_PATH
- See Also:
- Constant Field Values
-
ENV_LIBRARY_PATH
public static final java.lang.String ENV_LIBRARY_PATH
- See Also:
- Constant Field Values
-
ENV_ENGINE_JAR_PATH
public static final java.lang.String ENV_ENGINE_JAR_PATH
- See Also:
- Constant Field Values
-
file
protected java.io.File file
-
matlabPath
protected java.lang.String matlabPath
-
libraryPath
protected java.lang.String libraryPath
-
engineJarPath
protected java.lang.String engineJarPath
-
engine
protected MatlabEngine engine
-
simulinkProject
protected java.io.File simulinkProject
-
useCurrentProject
protected boolean useCurrentProject
-
openOnLoad
protected boolean openOnLoad
-
closeOnDispose
protected boolean closeOnDispose
-
enableTryCatch
protected boolean enableTryCatch
-
enginePoolSize
protected java.lang.Integer enginePoolSize
-
workingDir
protected java.io.File workingDir
-
paths
protected java.util.List<java.lang.String> paths
-
-
Method Detail
-
loadModel
protected void loadModel() throws EolModelLoadingException
- Specified by:
loadModel
in classCachedModel<ISimulinkModelElement>
- Throws:
EolModelLoadingException
-
disposeModel
protected void disposeModel()
- Specified by:
disposeModel
in classCachedModel<ISimulinkModelElement>
-
closeMatlabModel
protected abstract void closeMatlabModel()
-
getCacheKeyForType
protected java.lang.Object getCacheKeyForType(java.lang.String type) throws EolModelElementTypeNotFoundException
Description copied from class:CachedModel
Returns an identity for the given type, which will be used byCachedModel
as a key for the memoization of model elements by type.- Specified by:
getCacheKeyForType
in classCachedModel<ISimulinkModelElement>
- Throws:
EolModelElementTypeNotFoundException
-
getAllTypeNamesOf
protected java.util.Collection<java.lang.String> getAllTypeNamesOf(java.lang.Object instance)
Description copied from class:CachedModel
Returns the fully qualified names of every type to which the given object conforms. The values are used by byCachedModel
for the memoization of model elements by their kind (CachedModel.getAllOfKind(String)
).- Specified by:
getAllTypeNamesOf
in classCachedModel<ISimulinkModelElement>
-
getEnumerationValue
public java.lang.Object getEnumerationValue(java.lang.String enumeration, java.lang.String label) throws EolEnumerationValueNotFoundException
- Specified by:
getEnumerationValue
in interfaceIModel
- Throws:
EolEnumerationValueNotFoundException
-
getFile
public java.io.File getFile()
- Specified by:
getFile
in interfaceIGenericSimulinkModel
-
setFile
public void setFile(java.io.File file)
- Specified by:
setFile
in interfaceIGenericSimulinkModel
-
getEngine
public MatlabEngine getEngine()
- Specified by:
getEngine
in interfaceIGenericSimulinkModel
-
setEngine
public void setEngine(MatlabEngine engine)
-
getLibraryPath
public java.lang.String getLibraryPath()
- Specified by:
getLibraryPath
in interfaceIGenericSimulinkModel
-
setLibraryPath
public void setLibraryPath(java.lang.String libraryPath)
- Specified by:
setLibraryPath
in interfaceIGenericSimulinkModel
-
getEngineJarPath
public java.lang.String getEngineJarPath()
- Specified by:
getEngineJarPath
in interfaceIGenericSimulinkModel
-
setEngineJarPath
public void setEngineJarPath(java.lang.String engineJarPath)
- Specified by:
setEngineJarPath
in interfaceIGenericSimulinkModel
-
getMatlabPath
public java.lang.String getMatlabPath()
- Specified by:
getMatlabPath
in interfaceIGenericSimulinkModel
-
setMatlabPath
public void setMatlabPath(java.lang.String matlabPath)
- Specified by:
setMatlabPath
in interfaceIGenericSimulinkModel
-
getProject
public java.io.File getProject()
- Specified by:
getProject
in interfaceIGenericSimulinkModel
-
setProject
public void setProject(java.lang.String simulinkProject)
- Specified by:
setProject
in interfaceIGenericSimulinkModel
-
setProject
public void setProject(java.io.File simulinkProject)
-
isUseCurrentProject
public java.lang.Boolean isUseCurrentProject()
- Specified by:
isUseCurrentProject
in interfaceIGenericSimulinkModel
-
setUseCurrentProject
public void setUseCurrentProject(java.lang.Boolean currentSimulinkProject)
- Specified by:
setUseCurrentProject
in interfaceIGenericSimulinkModel
-
setCloseOnDispose
public void setCloseOnDispose(java.lang.Boolean closeOnDispose)
- Specified by:
setCloseOnDispose
in interfaceIGenericSimulinkModel
-
setOpenOnLoad
public void setOpenOnLoad(java.lang.Boolean openOnLoad)
- Specified by:
setOpenOnLoad
in interfaceIGenericSimulinkModel
-
isCloseOnDispose
public java.lang.Boolean isCloseOnDispose()
- Specified by:
isCloseOnDispose
in interfaceIGenericSimulinkModel
-
isOpenOnLoad
public java.lang.Boolean isOpenOnLoad()
- Specified by:
isOpenOnLoad
in interfaceIGenericSimulinkModel
-
setEnableTryCatch
public void setEnableTryCatch(boolean enableTryCatch)
-
isEnableTryCatch
public boolean isEnableTryCatch()
-
parseMatlabEngineVariable
public java.lang.Object parseMatlabEngineVariable(java.lang.String variableName) throws MatlabException
- Throws:
MatlabException
-
statement
public void statement(java.lang.String statement) throws EolRuntimeException
- Throws:
EolRuntimeException
-
statementWithResult
public java.lang.Object statementWithResult(java.lang.String statement) throws EolRuntimeException
- Throws:
EolRuntimeException
-
getWorkspaceVariable
public java.lang.Object getWorkspaceVariable(java.lang.String value)
-
owns
public boolean owns(java.lang.Object instance)
Description copied from interface:IModel
Used to test whether an object is contained in this model.
-
isInstantiable
public boolean isInstantiable(java.lang.String type)
- Specified by:
isInstantiable
in interfaceIModel
-
createInstanceInModel
protected ISimulinkModelElement createInstanceInModel(java.lang.String type) throws EolModelElementTypeNotFoundException, EolNotInstantiableModelElementTypeException
- Specified by:
createInstanceInModel
in classCachedModel<ISimulinkModelElement>
- Throws:
EolModelElementTypeNotFoundException
EolNotInstantiableModelElementTypeException
-
load
public void load(StringProperties properties, IRelativePathResolver resolver) throws EolModelLoadingException
- Specified by:
load
in interfaceIModel
- Overrides:
load
in classCachedModel<ISimulinkModelElement>
- Throws:
EolModelLoadingException
-
isLoaded
public boolean isLoaded()
Description copied from class:CachedModel
Convenience method for determining when a model has been loaded.- Overrides:
isLoaded
in classCachedModel<ISimulinkModelElement>
- Returns:
- Whether the cache has been populated.
- Since:
- 1.6
-
getWorkingDir
public java.io.File getWorkingDir()
- Specified by:
getWorkingDir
in interfaceIGenericSimulinkModel
-
setWorkingDir
public void setWorkingDir(java.io.File workingDir)
- Specified by:
setWorkingDir
in interfaceIGenericSimulinkModel
-
addPath
public void addPath(java.lang.String path)
- Specified by:
addPath
in interfaceIGenericSimulinkModel
-
addPath
public void addPath(java.io.File path)
- Specified by:
addPath
in interfaceIGenericSimulinkModel
-
getPaths
public java.util.List<java.lang.String> getPaths()
- Specified by:
getPaths
in interfaceIGenericSimulinkModel
-
resolvePaths
protected boolean resolvePaths()
- Returns:
true
iff the paths were successfully resolved.
-
-