oms3.ngmf.ui.calc.JelLibrarySupport Maven / Gradle / Ivy
///*
// * JelLibrarySupport.java
// *
// * Created on April 26, 2007, 9:52 AM
// *
// * To change this template, choose Tools | Template Manager
// * and open the template in the editor.
// */
//package oms3.ngmf.ui.calc;
//
//import oms3.util.Stats;
//import gnu.jel.CompilationException;
//import gnu.jel.Library;
//import javax.swing.table.TableModel;
//
///**
// *
// * @author od
// */
//public class JelLibrarySupport {
//
// TableResolver symtab = new TableResolver();
// Object[] context = {symtab};
// Library lib = new Library(new Class[]{
// Math.class, Mathx.class, Stats.class
// },
// new Class[]{TableResolver.class}, null, symtab, null);
// TableModel model;
//
// /** Creates a new instance of TableCalculator
// * @param model
// */
// public JelLibrarySupport(TableModel model) {
// this.model = model;
// try {
// lib.markStateDependent("random", null);
// lib.markStateDependent("random", new Class[]{double.class, double.class});
// lib.markStateDependent("ramp", new Class[]{double.class, double.class});
// lib.markStateDependent("reset_ramp", null);
// } catch (CompilationException ex) {
// ex.printStackTrace();
// }
// }
//
// public void setModel(TableModel model) {
// this.model = model;
// }
//
// Library getLibrary() {
// return lib;
// }
//
// Object[] getContext() {
// return context;
// }
//
// TableResolver getResolver() {
// return symtab;
// }
//
// public class TableResolver extends gnu.jel.DVMap {
//
// int row;
//
// void setRow(int row) {
// this.row = row;
// }
// // used by the compiler to query about available dynamic
// // variables
//
// @Override
// public String getTypeName(String name) {
// boolean isArray = true;
// if (name.startsWith("$")) {
// isArray = false;
// name = name.substring(1);
// }
// int col = Util.findColumn(model, name);
// if (col == -1) {
// return null;
// }
//
// if (!isArray && Number.class.isAssignableFrom(model.getColumnClass(col))) {
// return "Number";
// }
// if (isArray && Number.class.isAssignableFrom(model.getColumnClass(col))) {
// return "NumberArray";
// }
// if (!isArray && model.getColumnClass(col) == String.class) {
// return "String";
// }
// if (isArray && model.getColumnClass(col) == String.class) {
// return "StringArray";
// }
// return null;
// }
//
// public double getNumberProperty(String name) {
// int col = Util.findColumn(model, name.substring(1));
// return ((Number) model.getValueAt(row, col)).doubleValue();
// }
//
// public double[] getNumberArrayProperty(String name) {
// int col = Util.findColumn(model, name);
// double[] a = new double[model.getRowCount()];
// for (int i = 0; i < a.length; i++) {
// a[i] = ((Number) model.getValueAt(i, col)).doubleValue();
// }
// return a;
// }
//
// public double getStringProperty(String name) {
// int col = Util.findColumn(model, name.substring(1));
// return Double.parseDouble(model.getValueAt(row, col).toString());
// }
//
// public double[] getStringArrayProperty(String name) {
// int col = Util.findColumn(model, name);
// double[] a = new double[model.getRowCount()];
// for (int i = 0; i < a.length; i++) {
// a[i] = Double.parseDouble(model.getValueAt(i, col).toString());
// }
// return a;
// }
// }
//}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy