| |||||||||||||||||||||||||||||||||
Retrieving data from a Mosel model Description mmexset.java: Using sets in Mosel (requires burglari.bim)
Further explanation of this example: 'Mosel Library Reference javadoc'
Source Files By clicking on a file name, a preview is opened at the bottom of this page.
Data Files
mmexrec.java /******************************************************* Mosel Library Examples ====================== file mmexrec.java ````````````````` Accessing modeling objects (enumerating an array of records and printing the value of each record field). (c) 2008 Fair Isaac Corporation author: S. Heipcke, 2007 ********************************************************/ import com.dashoptimization.*; public class mmexrec { public static void main(String[] args) throws Exception { XPRM mosel; XPRMModel mod; XPRMArray arr; XPRMUserType type; XPRMSet[] set; XPRMRecord rec; XPRMRecordField[] field=new XPRMRecordField[2]; int ct; int[] indices; mosel = new XPRM(); // Initialize Mosel mosel.compile("Models/burglar_rec.mos"); // Compile, load & run the model mod = mosel.loadModel("Models/burglar_rec.bim"); mod.run(); arr=(XPRMArray)mod.findIdentifier("I"); // Get the model object named 'I' // Expand type of a user type type=(XPRMUserType)mod.expandType(arr.getTypeCode()); // if (type.getStructCode()!=type.STR_REC) // Retrieve record field info (we know there are 2 fields) ct=0; for(XPRMRecordFields fields=type.fields(); fields.hasNext();) field[ct++]=(XPRMRecordField)fields.next(); // Enumerate the array (we know it has a single dimension) set=arr.getIndexSets(); // Get the indexing set indices=arr.getFirstIndex(); // Get the first index tuple do { // Retrieve the array index System.out.print("I(" + set[0].get(indices[0]) + "): \t"); rec=arr.get(indices).asRecord(); // Retrieve array entry (=record) // Contents of 1st record field System.out.print(field[0].getName() + "=" + rec.getValueAsReal(field[0]) + " "); // Contents of 2nd record field System.out.println(field[1].getName() + "=" + rec.getValueAsReal(field[1]) + " "); } while(arr.nextIndex(indices)); // Get the next index tuple mod.reset(); // Reset the model } } | |||||||||||||||||||||||||||||||||
© Copyright 2023 Fair Isaac Corporation. |