package hep.aida.jni; public class AIDAJNIUtil { private AIDAJNIUtil() { } public static String convert(Class clazz) { if (Integer.class.isAssignableFrom(clazz)) { return "int"; } else if (Short.class.isAssignableFrom(clazz)) { return "short"; }else if (Long.class.isAssignableFrom(clazz)) { return "long"; }else if (Float.class.isAssignableFrom(clazz)) { return "float"; }else if (Double.class.isAssignableFrom(clazz)) { return "double"; }else if (Boolean.class.isAssignableFrom(clazz)) { return "boolean"; }else if (Byte.class.isAssignableFrom(clazz)) { return "byte"; }else if (Character.class.isAssignableFrom(clazz)) { return "char"; }else if (String.class.isAssignableFrom(clazz)) { return "string"; }else if (hep.aida.ITuple.class.isAssignableFrom(clazz)) { // FIXME check no package ? return "ITuple"; }else { return "java.lang.Object"; } } public static String[] convert(Class[] classes) { String[] result = new String[classes.length]; for (int i=0; i<result.length; i++) { result[i] = convert(classes[i]); } return result; } public static Class convert(String type) { type = type.intern(); if (type == "int") return Integer.class; if (type == "short") return Short.class; if (type == "long") return Long.class; if (type == "float") return Float.class; if (type == "double") return Double.class; if (type == "boolean") return Boolean.class; if (type == "byte") return Byte.class; if (type == "char") return Character.class; if (type == "string") return String.class; if (type == "java.lang.Object") return Object.class; // FIXME check, also for package name if (type == "ITuple") return hep.aida.ITuple.class; System.err.println("AIDAJNIUtil.convert(type) could not find jclass for type: "+type); return null; } public static Class[] convert(String[] types) { Class[] result = new Class[types.length]; for (int i=0; i<result.length; i++) { result[i] = convert(types[i]); } return result; } public static long toPtr(String[] arg) { // FIXME System.err.println("WARNING toPtr(String[]) called"); return 0; } public static String[] toStringArray(long ptr) { // FIXME System.err.println("WARNING toStringArray(long) called"); return null; } public static long toPtr(hep.aida.ITuple[] arg) { // FIXME System.err.println("WARNING toPtr(hep.aida.ITuple[]) called"); return 0; } public static hep.aida.ITuple[] toITupleArray(long ptr) { // FIXME System.err.println("WARNING toITupleArray(long) called"); return null; } public static long toPtr(hep.aida.IEvaluator[] arg) { // FIXME System.err.println("WARNING toPtr(hep.aida.IEvaluator[]) called"); return 0; } public static hep.aida.IEvaluator[] toIEvaluatorArray(long ptr) { // FIXME System.err.println("WARNING toIEvaluatorArray(long) called"); return null; } public static Class[] toClassArray(long ptr) { // FIXME System.err.println("WARNING toClassArray(long) called"); return null; } public static long toPtr(Class[] arg) { // FIXME System.err.println("WARNING toPtr(Class[]) called"); return 0; } }