Java tutorial
/* * file: MethodInfoDemo.java * package: oreilly.hcj.reflection * * This software is granted under the terms of the Common Public License, * CPL, which may be found at the following URL: * http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm * * Copyright(c) 2003-2005 by the authors indicated in the @author tags. * All Rights are Reserved by the various authors. * ########## DO NOT EDIT ABOVE THIS LINE ########## */ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * Demonstrates how to get simple method information. * * @author <a href=mailto:kraythe@arcor.de>Robert Simmons jr. (kraythe)</a> * @version $Revision: 1.3 $ */ public class MethodInfoDemo { /** * __UNDOCUMENTED__ * * @param obj * __UNDOCUMENTED__ * * @throws IllegalAccessException * __UNDOCUMENTED__ * @throws InvocationTargetException * __UNDOCUMENTED__ */ public static void emptyStrings(final Object obj) throws IllegalAccessException, InvocationTargetException { final String PREFIX = "set"; //$NON-NLS-1$ Method[] methods = obj.getClass().getMethods(); for (int idx = 0; idx < methods.length; idx++) { if (methods[idx].getName().startsWith(PREFIX)) { if (methods[idx].getParameterTypes()[0] == String.class) { methods[idx].invoke(obj, new Object[] { new String() }); } } } } /** * Demo method. * * @param args * Command line arguments. */ public static void main(final String[] args) { String s = ""; printMethodInfo(s); try { emptyStrings(s); } catch (final Exception ex) { ex.printStackTrace(); } } /** * __UNDOCUMENTED__ * * @param obj * __UNDOCUMENTED__ */ public static void printMethodInfo(final Object obj) { Class type = obj.getClass(); final Method[] methods = type.getMethods(); for (int idx = 0; idx < methods.length; idx++) { System.out.println(methods[idx]); } } } /* ########## End of File ########## */