[jboss-cvs] JBossAS SVN: r102413 - in projects/jboss-reflect/trunk/src: test/java/org/jboss/test/classinfo/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 15 12:10:40 EDT 2010
Author: kabir.khan at jboss.com
Date: 2010-03-15 12:10:39 -0400 (Mon, 15 Mar 2010)
New Revision: 102413
Modified:
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java
Log:
[JBREFLECT-5] GenericArrayType
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2010-03-15 16:00:11 UTC (rev 102412)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2010-03-15 16:10:39 UTC (rev 102413)
@@ -23,6 +23,7 @@
import java.lang.annotation.Annotation;
import java.lang.ref.WeakReference;
+import java.lang.reflect.GenericArrayType;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.lang.reflect.WildcardType;
@@ -42,6 +43,7 @@
import org.jboss.reflect.plugins.AnnotationHelper;
import org.jboss.reflect.plugins.AnnotationValueFactory;
import org.jboss.reflect.plugins.AnnotationValueImpl;
+import org.jboss.reflect.plugins.ArrayInfoImpl;
import org.jboss.reflect.plugins.EnumConstantInfoImpl;
import org.jboss.reflect.plugins.GenericsUtil;
import org.jboss.reflect.plugins.WildcardNumberInfo;
@@ -544,7 +546,9 @@
return getParameterizedType((ParameterizedType)type);
else if (type instanceof WildcardType)
return getWildcardType((WildcardType)type);
- // TODO JBREFLECT-5 getTypeInfo + NumberInfo
+ else if (type instanceof GenericArrayType)
+ return getGenericArrayType((GenericArrayType)type);
+
throw new org.jboss.util.NotImplementedException("getTypeInfo");
}
@@ -800,4 +804,18 @@
throw new IllegalArgumentException("Unhandled type " + type.getClass().getName());
}
}
+
+ /**
+ * Get the information for an array type
+ *
+ * @param type the array type
+ * @return the info
+ */
+ protected TypeInfo getGenericArrayType(GenericArrayType type)
+ {
+ Type compType = type.getGenericComponentType();
+ TypeInfo componentType = getTypeInfo(compType);
+ return new ArrayInfoImpl(componentType);
+ }
+
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java 2010-03-15 16:00:11 UTC (rev 102412)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java 2010-03-15 16:10:39 UTC (rev 102413)
@@ -235,6 +235,20 @@
assertComponentType(ClassInfoGenericExtendsCollectionNotGeneric.class, Object.class);
}
+ public static Collection<String>[] signatureGenericArrayType()
+ {
+ return null;
+ }
+
+ public void testGenericArrayType() throws Throwable
+ {
+ Type type = getGenericReturnType("signatureGenericArrayType");
+ TypeInfo info = getTypeInfoFactory().getTypeInfo(type);
+ assertNotNull(info);
+ assertTrue(info.isArray());
+
+ }
+
public static Collection<Boolean> signatureCollectionBoolean()
{
return null;
More information about the jboss-cvs-commits
mailing list