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 booleancloseOnDisposeprotected booleanenableTryCatchprotected MatlabEngineengineprotected java.lang.StringengineJarPathprotected java.lang.IntegerenginePoolSizestatic java.lang.StringENV_ENGINE_JAR_PATHstatic java.lang.StringENV_LIBRARY_PATHstatic java.lang.StringENV_MATLAB_PATHprotected java.io.Filefileprotected java.lang.StringlibraryPathprotected java.lang.StringmatlabPathprotected booleanopenOnLoadprotected java.util.List<java.lang.String>pathsstatic java.lang.StringPROPERTY_CLOSE_ON_DISPOSEstatic java.lang.StringPROPERTY_CURRENT_SIMULINK_PROJECTstatic java.lang.StringPROPERTY_ENABLE_TRY_CATCHstatic java.lang.StringPROPERTY_ENGINE_JAR_PATHstatic java.lang.StringPROPERTY_ENGINE_POOL_SIZEstatic java.lang.StringPROPERTY_FILEstatic java.lang.StringPROPERTY_LIBRARY_PATHstatic java.lang.StringPROPERTY_MATLAB_PATHstatic java.lang.StringPROPERTY_OPEN_ON_LOADstatic java.lang.StringPROPERTY_PATHSstatic java.lang.StringPROPERTY_REDUCE_EXCHANGESstatic java.lang.StringPROPERTY_SIMULINK_PROJECTstatic java.lang.StringPROPERTY_TRACK_APIstatic java.lang.StringPROPERTY_WORKING_DIRprotected booleanreduceExchangesprotected java.io.FilesimulinkProjectprotected booleanuseCurrentProjectprotected java.io.FileworkingDir-
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 voidaddPath(java.io.File path)voidaddPath(java.lang.String path)protected abstract voidcloseMatlabModel()protected ISimulinkModelElementcreateInstanceInModel(java.lang.String type)protected voiddisposeModel()voidflush()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.ObjectgetCacheKeyForType(java.lang.String type)Returns an identity for the given type, which will be used byCachedModelas a key for the memoization of model elements by type.MatlabEnginegetEngine()java.lang.StringgetEngineJarPath()java.lang.ObjectgetEnumerationValue(java.lang.String enumeration, java.lang.String label)java.io.FilegetFile()java.lang.StringgetLibraryPath()java.lang.StringgetMatlabPath()java.util.List<java.lang.String>getPaths()java.io.FilegetProject()java.io.FilegetWorkingDir()java.lang.ObjectgetWorkspaceVariable(java.lang.String value)java.lang.BooleanisCloseOnDispose()booleanisEnableTryCatch()booleanisInstantiable(java.lang.String type)booleanisLoaded()Convenience method for determining when a model has been loaded.java.lang.BooleanisOpenOnLoad()booleanisReduceExchanges()booleanisTrackApi()java.lang.BooleanisUseCurrentProject()voidload(StringProperties properties, IRelativePathResolver resolver)protected voidloadModel()booleanowns(java.lang.Object instance)Used to test whether an object is contained in this model.java.lang.ObjectparseMatlabEngineVariable(java.lang.String variableName)protected booleanresolvePaths()voidsetCloseOnDispose(java.lang.Boolean closeOnDispose)voidsetEnableTryCatch(boolean enableTryCatch)voidsetEngine(MatlabEngine engine)voidsetEngineJarPath(java.lang.String engineJarPath)voidsetFile(java.io.File file)voidsetLibraryPath(java.lang.String libraryPath)voidsetMatlabPath(java.lang.String matlabPath)voidsetOpenOnLoad(java.lang.Boolean openOnLoad)voidsetProject(java.io.File simulinkProject)voidsetProject(java.lang.String simulinkProject)voidsetReduceExchanges(boolean reduceExchanges)voidsetTrackApi(boolean track)voidsetUseCurrentProject(java.lang.Boolean currentSimulinkProject)voidsetWorkingDir(java.io.File workingDir)voidstatement(java.lang.String statement)java.lang.ObjectstatementWithResult(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
-
PROPERTY_TRACK_API
public static final java.lang.String PROPERTY_TRACK_API
- See Also:
- Constant Field Values
-
PROPERTY_REDUCE_EXCHANGES
public static final java.lang.String PROPERTY_REDUCE_EXCHANGES
- 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
-
reduceExchanges
protected boolean reduceExchanges
-
-
Method Detail
-
flush
public void flush() throws EolRuntimeException- Throws:
EolRuntimeException
-
loadModel
protected void loadModel() throws EolModelLoadingException- Specified by:
loadModelin classCachedModel<ISimulinkModelElement>- Throws:
EolModelLoadingException
-
disposeModel
protected void disposeModel()
- Specified by:
disposeModelin classCachedModel<ISimulinkModelElement>
-
closeMatlabModel
protected abstract void closeMatlabModel()
-
getCacheKeyForType
protected java.lang.Object getCacheKeyForType(java.lang.String type) throws EolModelElementTypeNotFoundExceptionDescription copied from class:CachedModelReturns an identity for the given type, which will be used byCachedModelas a key for the memoization of model elements by type.- Specified by:
getCacheKeyForTypein classCachedModel<ISimulinkModelElement>- Throws:
EolModelElementTypeNotFoundException
-
getAllTypeNamesOf
protected java.util.Collection<java.lang.String> getAllTypeNamesOf(java.lang.Object instance)
Description copied from class:CachedModelReturns the fully qualified names of every type to which the given object conforms. The values are used by byCachedModelfor the memoization of model elements by their kind (CachedModel.getAllOfKind(String)).- Specified by:
getAllTypeNamesOfin classCachedModel<ISimulinkModelElement>
-
getEnumerationValue
public java.lang.Object getEnumerationValue(java.lang.String enumeration, java.lang.String label) throws EolEnumerationValueNotFoundException- Specified by:
getEnumerationValuein interfaceIModel- Throws:
EolEnumerationValueNotFoundException
-
getFile
public java.io.File getFile()
- Specified by:
getFilein interfaceIGenericSimulinkModel
-
setFile
public void setFile(java.io.File file)
- Specified by:
setFilein interfaceIGenericSimulinkModel
-
getEngine
public MatlabEngine getEngine()
- Specified by:
getEnginein interfaceIGenericSimulinkModel
-
setEngine
public void setEngine(MatlabEngine engine)
-
getLibraryPath
public java.lang.String getLibraryPath()
- Specified by:
getLibraryPathin interfaceIGenericSimulinkModel
-
setLibraryPath
public void setLibraryPath(java.lang.String libraryPath)
- Specified by:
setLibraryPathin interfaceIGenericSimulinkModel
-
getEngineJarPath
public java.lang.String getEngineJarPath()
- Specified by:
getEngineJarPathin interfaceIGenericSimulinkModel
-
setEngineJarPath
public void setEngineJarPath(java.lang.String engineJarPath)
- Specified by:
setEngineJarPathin interfaceIGenericSimulinkModel
-
getMatlabPath
public java.lang.String getMatlabPath()
- Specified by:
getMatlabPathin interfaceIGenericSimulinkModel
-
setMatlabPath
public void setMatlabPath(java.lang.String matlabPath)
- Specified by:
setMatlabPathin interfaceIGenericSimulinkModel
-
setTrackApi
public void setTrackApi(boolean track)
- Specified by:
setTrackApiin interfaceIGenericSimulinkModel
-
isTrackApi
public boolean isTrackApi()
- Specified by:
isTrackApiin interfaceIGenericSimulinkModel
-
getProject
public java.io.File getProject()
- Specified by:
getProjectin interfaceIGenericSimulinkModel
-
setProject
public void setProject(java.lang.String simulinkProject)
- Specified by:
setProjectin interfaceIGenericSimulinkModel
-
setProject
public void setProject(java.io.File simulinkProject)
-
isUseCurrentProject
public java.lang.Boolean isUseCurrentProject()
- Specified by:
isUseCurrentProjectin interfaceIGenericSimulinkModel
-
setUseCurrentProject
public void setUseCurrentProject(java.lang.Boolean currentSimulinkProject)
- Specified by:
setUseCurrentProjectin interfaceIGenericSimulinkModel
-
setCloseOnDispose
public void setCloseOnDispose(java.lang.Boolean closeOnDispose)
- Specified by:
setCloseOnDisposein interfaceIGenericSimulinkModel
-
setOpenOnLoad
public void setOpenOnLoad(java.lang.Boolean openOnLoad)
- Specified by:
setOpenOnLoadin interfaceIGenericSimulinkModel
-
isCloseOnDispose
public java.lang.Boolean isCloseOnDispose()
- Specified by:
isCloseOnDisposein interfaceIGenericSimulinkModel
-
isOpenOnLoad
public java.lang.Boolean isOpenOnLoad()
- Specified by:
isOpenOnLoadin 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:IModelUsed to test whether an object is contained in this model.
-
isInstantiable
public boolean isInstantiable(java.lang.String type)
- Specified by:
isInstantiablein interfaceIModel
-
createInstanceInModel
protected ISimulinkModelElement createInstanceInModel(java.lang.String type) throws EolModelElementTypeNotFoundException, EolNotInstantiableModelElementTypeException
- Specified by:
createInstanceInModelin classCachedModel<ISimulinkModelElement>- Throws:
EolModelElementTypeNotFoundExceptionEolNotInstantiableModelElementTypeException
-
load
public void load(StringProperties properties, IRelativePathResolver resolver) throws EolModelLoadingException
- Specified by:
loadin interfaceIModel- Overrides:
loadin classCachedModel<ISimulinkModelElement>- Throws:
EolModelLoadingException
-
isLoaded
public boolean isLoaded()
Description copied from class:CachedModelConvenience method for determining when a model has been loaded.- Overrides:
isLoadedin classCachedModel<ISimulinkModelElement>- Returns:
- Whether the cache has been populated.
- Since:
- 1.6
-
getWorkingDir
public java.io.File getWorkingDir()
- Specified by:
getWorkingDirin interfaceIGenericSimulinkModel
-
setWorkingDir
public void setWorkingDir(java.io.File workingDir)
- Specified by:
setWorkingDirin interfaceIGenericSimulinkModel
-
addPath
public void addPath(java.lang.String path)
- Specified by:
addPathin interfaceIGenericSimulinkModel
-
addPath
public void addPath(java.io.File path)
- Specified by:
addPathin interfaceIGenericSimulinkModel
-
getPaths
public java.util.List<java.lang.String> getPaths()
- Specified by:
getPathsin interfaceIGenericSimulinkModel
-
resolvePaths
protected boolean resolvePaths()
- Returns:
trueiff the paths were successfully resolved.
-
isReduceExchanges
public boolean isReduceExchanges()
-
setReduceExchanges
public void setReduceExchanges(boolean reduceExchanges)
-
-