private Class loadArrayClass(Bundle b, String cname) throws ClassNotFoundException { // We are never called with primitive types, so we don't have to check for primitive types. assert(cname.charAt(0) == 'L'); // An array Class component; // component class int dcount; // dimension for (dcount = 1; cname.charAt(dcount) == '['; dcount++){ } assert(cname.charAt(dcount) == 'L'); component = loadClassFromBundle(b, cname.substring(dcount + 1, cname.length() - 1)); int dim[] = new int[dcount]; for (int i = 0; i < dcount; i++) { dim[i] = 0; } return Array.newInstance(component, dim).getClass(); }
private Class loadArrayClass(Bundle b, String cname) throws ClassNotFoundException { // We are never called with primitive types, so we don't have to check for primitive types. assert(cname.charAt(0) == 'L'); // An array Class component; // component class int dcount; // dimension for (dcount = 1; cname.charAt(dcount) == '['; dcount++){ } assert(cname.charAt(dcount) == 'L'); component = loadClassFromBundle(b, cname.substring(dcount + 1, cname.length() - 1)); int dim[] = new int[dcount]; for (int i = 0; i < dcount; i++) { dim[i] = 0; } return Array.newInstance(component, dim).getClass(); }
public Class<?> resolveClass(ObjectInputStream in, final ObjectStreamClass desc) throws IOException, ClassNotFoundException { String key = in.readUTF(); if (! NOT_A_BUNDLE_KEY.equals(key)) { Long bundleId = name2Id.get(key); if (bundleId != null) { final Bundle b = ctx.getBundle(bundleId); String cname = desc.getName(); if (cname.startsWith("[")) { return loadArrayClass(b, cname); } else { return loadClassFromBundle(b, cname); } } } return null; }
public Class<?> resolveClass(ObjectInputStream in, final ObjectStreamClass desc) throws IOException, ClassNotFoundException { String key = in.readUTF(); if (! NOT_A_BUNDLE_KEY.equals(key)) { Long bundleId = name2Id.get(key); if (bundleId != null) { final Bundle b = ctx.getBundle(bundleId); String cname = desc.getName(); if (cname.startsWith("[")) { return loadArrayClass(b, cname); } else { return loadClassFromBundle(b, cname); } } } return null; }