[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