Java Method Call invoke(Object object, String method, Object... args)

Here you can find the source of invoke(Object object, String method, Object... args)

Description

invoke

License

BSD License

Declaration

public static <T> T invoke(Object object, String method, Object... args) 

Method Source Code

//package com.java2s;
/*//  w w w  . ja  v  a  2 s . c om
 Copyright (C) 2008 Srinivas Hasti

 This source code is release under the BSD License.
    
 This file is part of JQuantLib, a free-software/open-source library
 for financial quantitative analysts and developers - http://jquantlib.org/

 JQuantLib is free software: you can redistribute it and/or modify it
 under the terms of the JQuantLib license.  You should have received a
 copy of the license along with this program; if not, please email
 <jquant-devel@lists.sourceforge.net>. The license is also available online at
 <http://www.jquantlib.org/index.php/LICENSE.TXT>.

 This program 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 license for more details.
    
 JQuantLib is based on QuantLib. http://quantlib.org/
 When applicable, the original copyright notice follows this notice.
 */

import java.lang.reflect.Method;

public class Main {
    public static <T> T invoke(Object object, String method, Object... args) {
        try {
            Class clazz = object.getClass();
            Method m = clazz.getMethod(method, getClassTypes(args));
            return (T) m.invoke(object, args);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    private static Class[] getClassTypes(Object[] args) {
        Class[] clzzes = new Class[args.length];
        for (int i = 0; i < args.length; i++) {
            clzzes[i] = args[i].getClass();
        }
        return clzzes;
    }
}

Related

  1. invoke(Object obj, String name, Object... args)
  2. invoke(Object object, Method method)
  3. invoke(Object object, Object[] args, String methodName)
  4. invoke(Object object, String function, Object... params)
  5. invoke(Object object, String function, String parameter)
  6. invoke(Object object, String methodName)
  7. invoke(Object object, String methodName, Class[] argTypes, Object... args)
  8. invoke(Object object, String methodName, Class returnType, Object... parameters)
  9. invoke(Object object, String methodName, Object[] args)