1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package net.ep.db4o.javassist;
18
19 import java.lang.reflect.Array;
20
21 import com.db4o.reflect.ArrayInfo;
22 import com.db4o.reflect.MultidimensionalArrayInfo;
23 import com.db4o.reflect.ReflectClass;
24 import com.db4o.reflect.Reflector;
25 import com.db4o.reflect.core.AbstractReflectArray;
26 import com.db4o.reflect.jdk.JdkReflector;
27
28 public class JVSTArray extends AbstractReflectArray {
29
30 JVSTArray(Reflector reflector) {
31 super(reflector);
32 }
33
34 @Override
35 public Object newInstance(ReflectClass componentType, int length) {
36 return Array.newInstance(JdkReflector.toNative(componentType), length);
37 }
38
39 @Override
40 public Object newInstance(ReflectClass componentType, int[] dimensions) {
41 return Array.newInstance(JdkReflector.toNative(componentType), dimensions);
42 }
43
44 public void analyze(Object obj, ArrayInfo info) {
45
46
47
48 }
49
50 public Object newInstance(ReflectClass componentType, ArrayInfo info) {
51 Class clazz = JdkReflector.toNative(componentType);
52 if(info instanceof MultidimensionalArrayInfo){
53 return Array.newInstance(clazz, ((MultidimensionalArrayInfo)info).dimensions());
54 }
55 return Array.newInstance(clazz, info.elementCount());
56 }
57
58 }