Doesn't work. I tried [Ljava/lang/Object; and both without the semicolon.
-dain
Jason Dillon wrote:
> Try loading "[Ljava.lang.Object;" instead... which is the class name
> returned from Object[].class.getName();
>
> --jason
>
>
> Dain Sundstrom wrote:
>
>>
>>
>> Jason Dillon wrote:
>>
>>> What is the value for name you are using?
>>
>>
>>
>>
>> In my test code "java.lang.Object[]"
>>
>>
>>> Why not just use Class.class?
>>
>>
>>
>>
>> Because I am trying to load a parameter type from an xml file that
>>
>> just has the string name of the type.
>>
>>
>>
>>> Or if you really want to use Class.forName to load Class, then you
>>> should be able to use the system class loader.
>>
>>
>>
>>>
>>> Is this after yesterdays Server/ServerLoader change?
>>
>>
>>
>>
>> No new feature. Class.forName docs say you can load arrays but it is
>> broken. Here is the code I use now:
>>
>> private Class convertToJavaClass(String name) throws
>> DeploymentException {
>> // Check primitive first
>> for (int i = 0; i < PRIMITIVES.length; i++) {
>> if(name.equals(PRIMITIVES[i])) {
>> return PRIMITIVE_CLASSES[i];
>> }
>> }
>>
>> int arraySize = 0;
>> while(name.endsWith("[]")) {
>> name = name.substring(0, name.length()-2);
>> arraySize++;
>> }
>>
>> try {
>> // get the base class
>> Class c = entity.getClassLoader().loadClass(name);
>>
>> // if we have an array get the array class
>> if(arraySize > 0) {
>> int[] dimensions = new int[arraySize];
>> for(int i=0; i<arraySize; i++) {
>> dimensions[i]=1;
>> }
>> c = Array.newInstance(c, dimensions).getClass();
>> }
>>
>> return c;
>> } catch(ClassNotFoundException e) {
>> throw new DeploymentException("Parameter class not found: " +
>> name);
>> }
>> }
>>
>> This is lame but works.
>>
>> -dain
>
>
>
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development