Here you can find the source of invoke(Object obj, String name, Object... args)
public static Object invoke(Object obj, String name, Object... args) throws Exception
//package com.java2s; /**/*from w ww .j av a 2 s . c om*/ * Copyright 2012 Rafal Lewczuk <rafal.lewczuk@jitlogic.com> * * ZORKA is free software. You can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * ZORKA is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * ZORKA. If not, see <http://www.gnu.org/licenses/>. */ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static Object invoke(Object obj, String name, Object... args) throws Exception { Method method = null; Class<?> clazz = obj.getClass(); for (Method met : clazz.getMethods()) { if (name.equals(met.getName())) { method = met; break; } } try { if (method != null) { if (args.length == 0) { return method.invoke(obj); } else { return method.invoke(obj, args); } } } catch (InvocationTargetException e) { return e.getCause(); } catch (Throwable e) { return e; } return null; } }