[jboss-cvs] JBossAS SVN: r70356 - in projects/jboss-reflect/trunk/src/main/org/jboss/reflect: plugins/javassist and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 4 06:09:28 EST 2008


Author: adrian at jboss.org
Date: 2008-03-04 06:09:27 -0500 (Tue, 04 Mar 2008)
New Revision: 70356

Modified:
   projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java
   projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java
   projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/PrimitiveInfo.java
Log:
[JBREFLECT-18] - Add helpers to PrimitiveInfo used by arrays

Modified: projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java	2008-03-04 10:56:58 UTC (rev 70355)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java	2008-03-04 11:09:27 UTC (rev 70356)
@@ -23,7 +23,6 @@
 
 import java.lang.reflect.UndeclaredThrowableException;
 
-import org.jboss.metadata.spi.signature.Signature;
 import org.jboss.reflect.spi.AnnotationValue;
 import org.jboss.reflect.spi.ArrayInfo;
 import org.jboss.reflect.spi.PrimitiveInfo;
@@ -75,8 +74,7 @@
       }
       if (PrimitiveInfo.class.equals(temp.getClass()))
       {
-         //builder.append(temp.getName());
-         String encodedName = Signature.getPrimativeArrayType(temp.getName());
+         String encodedName = PrimitiveInfo.getPrimativeArrayType(temp.getName());
          builder.append(encodedName);
       }
       else

Modified: projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java	2008-03-04 10:56:58 UTC (rev 70355)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java	2008-03-04 11:09:27 UTC (rev 70356)
@@ -23,9 +23,9 @@
 
 import javassist.CtClass;
 
-import org.jboss.metadata.spi.signature.Signature;
 import org.jboss.reflect.spi.AnnotationValue;
 import org.jboss.reflect.spi.ArrayInfo;
+import org.jboss.reflect.spi.PrimitiveInfo;
 import org.jboss.reflect.spi.TypeInfo;
 
 /**
@@ -61,7 +61,7 @@
       if (temp.isPrimitive())
       {
          // Use the signature encoded name for the primitive element type
-         String encodedName = Signature.getPrimativeArrayType(temp.getName());
+         String encodedName = PrimitiveInfo.getPrimativeArrayType(temp.getName());
          builder.append(encodedName);
       }
       else

Modified: projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/PrimitiveInfo.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/PrimitiveInfo.java	2008-03-04 10:56:58 UTC (rev 70355)
+++ projects/jboss-reflect/trunk/src/main/org/jboss/reflect/spi/PrimitiveInfo.java	2008-03-04 11:09:27 UTC (rev 70356)
@@ -82,6 +82,15 @@
    /** The type */
    protected final transient Class<? extends Object> type;
 
+   /** The primitive types indexed by name */
+   private static final HashMap<String, Class<?>> primitiveTypes = new HashMap<String, Class<?>>();
+   
+   /** The primitive array types indexed by name */
+   private static final HashMap<String, String> primitiveArrayTypes = new HashMap<String, String>();
+   
+   /** The primitive array classes indexed by name */
+   private static final HashMap<String, Class<?>> primitiveArrayTypesClassMap = new HashMap<String, Class<?>>();
+
    /** The primitives */
    private static final HashMap<String, PrimitiveInfo> map = new HashMap<String, PrimitiveInfo>();
 
@@ -96,6 +105,33 @@
       map.put("long", LONG);
       map.put("short", SHORT);
       map.put("void", VOID);
+
+      primitiveTypes.put(Byte.TYPE.getName(), Byte.TYPE);
+      primitiveTypes.put(Boolean.TYPE.getName(), Boolean.TYPE);
+      primitiveTypes.put(Character.TYPE.getName(), Character.TYPE);
+      primitiveTypes.put(Double.TYPE.getName(), Double.TYPE);
+      primitiveTypes.put(Float.TYPE.getName(), Float.TYPE);
+      primitiveTypes.put(Integer.TYPE.getName(), Integer.TYPE);
+      primitiveTypes.put(Long.TYPE.getName(), Long.TYPE);
+      primitiveTypes.put(Short.TYPE.getName(), Short.TYPE);
+      
+      primitiveArrayTypes.put(Byte.TYPE.getName(), "B");
+      primitiveArrayTypes.put(Boolean.TYPE.getName(), "Z");
+      primitiveArrayTypes.put(Character.TYPE.getName(), "C");
+      primitiveArrayTypes.put(Double.TYPE.getName(), "D");
+      primitiveArrayTypes.put(Float.TYPE.getName(), "F");
+      primitiveArrayTypes.put(Integer.TYPE.getName(), "I");
+      primitiveArrayTypes.put(Long.TYPE.getName(), "J");
+      primitiveArrayTypes.put(Short.TYPE.getName(), "S");
+      
+      primitiveArrayTypesClassMap.put("B", Byte.TYPE);
+      primitiveArrayTypesClassMap.put("Z", Boolean.TYPE);
+      primitiveArrayTypesClassMap.put("C", Character.TYPE);
+      primitiveArrayTypesClassMap.put("D", Double.TYPE);
+      primitiveArrayTypesClassMap.put("F", Float.TYPE);
+      primitiveArrayTypesClassMap.put("I", Integer.TYPE);
+      primitiveArrayTypesClassMap.put("J", Long.TYPE);
+      primitiveArrayTypesClassMap.put("S", Short.TYPE);
    }
 
    /**
@@ -110,6 +146,39 @@
    }
 
    /**
+    * Get a primtive array type
+    * 
+    * @param name the primtive type name
+    * @param the array type or null if not found
+    */   
+   public static String getPrimativeArrayType(String name)
+   {
+      return primitiveArrayTypes.get(name);
+   }
+
+   /**
+    * Get the primtive type for a name
+    * 
+    * @param name the primtive type name
+    * @param the primitive type
+    */   
+   public static Class<?> getPrimativeType(String name)
+   {
+      return primitiveTypes.get(name);
+   }
+   
+   /**
+    * Get the primtive array type class map for a name
+    * 
+    * @param name the array type name
+    * @param the component type
+    */   
+   public static Class<?> getPrimativeArrayComponentType(String name)
+   {
+      return primitiveArrayTypesClassMap.get(name);
+   }
+   
+   /**
     * Create a new primitive info
     * 
     * @param name the name




More information about the jboss-cvs-commits mailing list