/* ================================================================== * 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; } }