SpringSide的工具类。
pk: org.springside.core.utils
public class GenericsUtils
/**
* 通过反射,获得定义Class时声明的父类的范型参数的类型. 如public BookManager extends GenricManager<Book>
*
* @param clazz clazz The class to introspect
* @param index the Index of the generic ddeclaration,start from 0.
* @return the index generic declaration, or <code>Object.class</code> if cannot be determined
*/
public static Class getSuperClassGenricType(Class clazz, int index) {
//得到clazz的父类
Type genType = clazz.getGenericSuperclass();
//如果没有实现ParameterizedType 接口,即不支持泛型,所以直接返回Object.class
//**这个接口是jdk1.5以后才出来的。
if (!(genType instanceof ParameterizedType)) {
log.warn(clazz.getSimpleName() + "'s superclass not ParameterizedType");
return Object.class;
}
// 返回表示此类型实际类型参数的 Type 对象的数组,数组里放的都是对应类型的Class
//如UserAction extends StrutsSecurityAction<User, UserManager> 就返回User和UserManager类型
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
if (index >= params.length || index < 0) {
log.warn("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: "+ params.length);
return Object.class;
}
if (!(params[index] instanceof Class)) {
log.warn(clazz.getSimpleName() + " not set the actual class on superclass generic parameter");
return Object.class;
}
return (Class) params[index];
}
分享到:
相关推荐
springside-core-4.3.0.jar 最新版springside-core的jar包
springside-3.2.2源码springside-3.2.2源码
springside-core-4.1.0.GA的jar包,实际包含springside-core-4.1.0.GA以及springside-core-3.3.4.jar。
pom.xml配置 ...mvn install:install-file -DgroupId=org.springside -DartifactId=springside-core -Dversion=4.2.2.GA -Dfile=./springside-core-4.2.2.GA.jar -Dpackaging=jar -DgeneratePom=true
包含core的两个关键jar包,网上难找,分享出来给大家,如果还有其他需要的没有的jar包,可私信我,分享给你
springside-core-4.2.2是spring,springMVC入门和学习的好东西。
备份自己用,太难找了,springside-core.4.0.0.RC3 。
springside-joddform-2.0.zip
springside-core-4.2.2.GA.jar
springside-core-4.2.3-GA.jar,如果jar包不完整,可能会导致异常:LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context
springside-core-4.2.2.GA.jar 包,需要的可以自行下载,
springside3-core-3.0.4 源码
java开发依赖 springside-core-4.1.0.GA springside-core-4.1.0.GA.pom.lastUpdated
SpringSide是以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中的主流技术选型,最佳实践的总结与演示。
springside-core-4.2.2.GA.pom springside-core-4.2.2.GA.pomspringside-core-4.2.2.GA.pomspringside-core-4.2.2.GA.pomspringside-core-4.2.2.GA.pom
springside-springside4-1dff3fc.zip
可用的jar包,springside-core-4.1.1-SNAPSHOT.jar 免费下载
springside-core-4.2.2.GA 学习spring springMVC 必备架包
springside-3.3.4 源码(无JAR)