public static void main(String[] args) { if (args.length < 1) { print(usage); System.exit(0); } int lines = 0; try { Class<?> c = Class.forName(args[0]); Method[] methods = c.getMethods(); Constructor[] ctors = c.getConstructors(); if (args.length == 1) { for (Method method : methods) print(p.matcher(method.toString()).replaceAll("")); for (Constructor ctor : ctors) print(p.matcher(ctor.toString()).replaceAll("")); lines = methods.length + ctors.length; } else { for (Method method : methods) if (method.toString().indexOf(args[1]) != -1) { print(p.matcher(method.toString()).replaceAll("")); lines++; } for (Constructor ctor : ctors) if (ctor.toString().indexOf(args[1]) != -1) { print(p.matcher(ctor.toString()).replaceAll("")); lines++; } } } catch (ClassNotFoundException e) { print("No such class: " + e); } }
public ClassAsFactory(Class<T> kind) { try { x = kind.newInstance(); } catch (Exception e) { throw new RuntimeException(e); } }
// Classtoken version: public static <T> void fill(Addable<T> addable, Class<? extends T> classToken, int size) { for (int i = 0; i < size; i++) try { addable.add(classToken.newInstance()); } catch (Exception e) { throw new RuntimeException(e); } }
public static void perform(Object speaker) { Class<?> spkr = speaker.getClass(); try { try { Method speak = spkr.getMethod("speak"); speak.invoke(speaker); } catch (NoSuchMethodException e) { print(speaker + " cannot speak"); } try { Method sit = spkr.getMethod("sit"); sit.invoke(speaker); } catch (NoSuchMethodException e) { print(speaker + " cannot sit"); } } catch (Exception e) { throw new RuntimeException(speaker.toString(), e); } }
public static void main(String[] args) { Class c = null; try { c = Class.forName("typeinfo.toys.FancyToy"); } catch (ClassNotFoundException e) { print("Can't find FancyToy"); System.exit(1); } printInfo(c); for (Class face : c.getInterfaces()) printInfo(face); Class up = c.getSuperclass(); Object obj = null; try { // Requires default constructor in order to // create a super or Toy object: obj = up.newInstance(); } catch (InstantiationException e) { print("Cannot instantiate"); System.exit(1); } catch (IllegalAccessException i) { print("Cannot access"); System.exit(1); } printInfo(obj.getClass()); }
static void printInfo(Class cc) { print("Class name: " + cc.getName() + " is interface? [" + cc.isInterface() + "]"); print("Simple name: " + cc.getSimpleName()); print("Canonical name: " + cc.getCanonicalName()); }