[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