// Utilities.java -- random utility functions // public abstract class Utilities extends Object { // helper functions -- why aren't these java built-ins? static public boolean isInstance (Object o, Class c) { return isSubclass (o.getClass(), c); } static public boolean isInstance (Object o, String s) { try return isInstance (o, Class.forName(s)); catch (Exception e) return false; } static public boolean isSubclass (Class c1, Class c2) { if (c1.equals(c2)) return true; else if (c1.getName().equals("Object")) return false; else return (isSubclass(c1.getSuperclass(), c2)); } }