/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.core.cachepool.proxy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* <p> ProxyUtil.java </p>
*
* @author Jon.King 2007-1-5
*/
public class ProxyUtil {
/**
* 获取对象所有的接口,包括其父类的接口,以及父类的父类的。。。
* @param clazz
* @return
*/
@SuppressWarnings("unchecked")
public static Class[] getInterfaces(Class clazz){
List interfaces = new ArrayList();
Class superClazz = clazz;
while(superClazz != Object.class){
interfaces.addAll(Arrays.asList(superClazz.getInterfaces()));
superClazz = superClazz.getSuperclass();
}
Class[] classes = new Class[interfaces.size()];
for(int i = 0; i < interfaces.size(); i++){
classes[i] = (Class) interfaces.get(i);
}
return classes;
}
public static int getArgsNum(Object[] args){
return args == null ? -1 : args.length;
}
}