Invoker.java :  » Database-ORM » jaxor-3.5 » net » sourceforge » jaxor » tests » Java Open Source

Java Open Source » Database ORM » jaxor 3.5 
jaxor 3.5 » net » sourceforge » jaxor » tests » Invoker.java
package net.sourceforge.jaxor.tests;

import junit.framework.Assert;
import net.sourceforge.jaxor.util.NullProxy;
import net.sourceforge.jaxor.util.SystemException;

import java.lang.reflect.Method;

/*
 * User: Mike
 * Date: Oct 18, 2002
 * Time: 9:38:00 PM
 */

public class Invoker {

    public static void invoke(Object set) {
        Class[] interfaces = set.getClass().getInterfaces();
        for (int j = 0; j < interfaces.length; j++) {
            Class inter = interfaces[j];
            Method[] methods = inter.getMethods();
            for (int i = 0; i < methods.length; i++) {
                Method method = methods[i];
                Class[] params = method.getParameterTypes();
                Object[] args = createArgs(params);
                Assert.assertNotNull("method cannot be null", method);
                try {
                    method.invoke(set, args);
                } catch (Exception e) {
                    throw new SystemException(method.getName(), e);
                }
            }
        }
    }

    private static Object[] createArgs(Class[] params) {
        Object[] args = new Object[params.length];
        for (int i = 0; i < args.length; i++) {
            Class param = params[i];
            args[i] = NullProxy.getDefaultInstance(param);
        }
        return args;
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.