private String dirName;\r
\r
private String[] variableNames;\r
+ private String[] variableDescriptions;\r
+ private String[] variableDeclaredTypes;\r
private int[] variableReferences;\r
+ private int[] variableTypes;\r
+ private int[] variableCausalities;\r
+ private int[] variableVariabilities;\r
+ \r
+ private String[] declaredTypes;\r
+ private String[] declaredTypeDescriptions;\r
+ private String[] declaredTypeQuantities;\r
+ private String[] declaredTypeUnits;\r
+ \r
private TObjectIntHashMap<String> variableMap = new TObjectIntHashMap<String>();\r
\r
private Set<String> subscriptionSet = new HashSet<String>();\r
\r
fmuLoaded = true;\r
} catch (UnsatisfiedLinkError err) {\r
- throw new FMILException(UNSATISFIED_LINK);\r
+ throw new FMILException(UNSATISFIED_LINK, err);\r
} catch (Exception e) {\r
throw new FMILException(e.getMessage());\r
}\r
\r
private native String[] getAllVariables_(int id);\r
\r
- /**\r
- * Get all variables in a loaded model\r
- * @return all variables in a loaded model\r
- */\r
+ public String[] getAllVariableDescriptions() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(variableDescriptions == null) {\r
+ variableDescriptions = getAllVariableDescriptions_(getModelIDNew());\r
+ }\r
+ return variableDescriptions;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native String[] getAllVariableDescriptions_(int id);\r
+ \r
+ public String[] getAllVariableDeclaredTypes() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(variableDeclaredTypes == null) {\r
+ variableDeclaredTypes = getAllVariableDeclaredTypes_(getModelIDNew());\r
+ }\r
+ return variableDeclaredTypes;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native String[] getAllVariableDeclaredTypes_(int id);\r
+\r
public int[] getAllVariableReferences() throws FMILException {\r
synchronized(syncObject) {\r
\r
}\r
\r
private native int[] getAllVariableReferences_(int id, int[] array);\r
+\r
+ public int[] getAllVariableTypes() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(variableTypes == null) {\r
+ variableTypes = getAllVariableTypes_(getModelIDNew(), new int[variableNames.length]); \r
+ }\r
+ return variableTypes;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native int[] getAllVariableTypes_(int id, int[] array);\r
+\r
+ public int[] getAllVariableCausalities() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(variableCausalities == null) {\r
+ variableCausalities = getAllVariableCausalities_(getModelIDNew(), new int[variableNames.length]); \r
+ }\r
+ return variableCausalities;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native int[] getAllVariableCausalities_(int id, int[] array);\r
+\r
+ public int[] getAllVariableVariabilities() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(variableVariabilities == null) {\r
+ variableVariabilities = getAllVariableVariabilities_(getModelIDNew(), new int[variableNames.length]); \r
+ }\r
+ return variableVariabilities;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native int[] getAllVariableVariabilities_(int id, int[] array);\r
+\r
+ /**\r
+ * Get all variables in a loaded model\r
+ * @return all variables in a loaded model\r
+ */\r
+ public String[] getAllDeclaredTypes() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(declaredTypes == null) {\r
+ declaredTypes = getAllDeclaredTypes_(getModelIDNew());\r
+ }\r
+ return declaredTypes;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native String[] getAllDeclaredTypes_(int id);\r
+ \r
+ public String[] getAllDeclaredTypeDescriptions() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(declaredTypeDescriptions == null) {\r
+ declaredTypeDescriptions = getAllDeclaredTypeDescriptions_(getModelIDNew());\r
+ }\r
+ return declaredTypeDescriptions;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native String[] getAllDeclaredTypeDescriptions_(int id);\r
+ \r
+ public String[] getAllDeclaredTypeQuantities() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(declaredTypeQuantities == null) {\r
+ declaredTypeQuantities = getAllDeclaredTypeQuantities_(getModelIDNew());\r
+ }\r
+ return declaredTypeQuantities;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native String[] getAllDeclaredTypeQuantities_(int id);\r
+\r
+ public String[] getAllDeclaredTypeUnits() throws FMILException {\r
+ synchronized(syncObject) {\r
+\r
+ try {\r
+\r
+ if(declaredTypeUnits == null) {\r
+ declaredTypeUnits = getAllDeclaredTypeUnits_(getModelIDNew());\r
+ }\r
+ return declaredTypeUnits;\r
+\r
+ } catch (UnsatisfiedLinkError err) {\r
+ throw new FMILException(UNSATISFIED_LINK);\r
+ } catch (Exception e) {\r
+ throw new FMILException(e.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ private native String[] getAllDeclaredTypeUnits_(int id);\r
+ \r
\r
//\r
// /**\r