private static List<Class> findClasses(File dir, String pkgName) throws ClassNotFoundException { List<Class> classes = new ArrayList<Class>(); if (!dir.exists()) { return classes; } File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { assert !file.getName().contains("."); classes.addAll(findClasses(file, pkgName + "." + file.getName())); } else if (file.getName().endsWith(".class")) { classes.add(Class.forName(pkgName + '.' + file.getName().substring(0, file.getName().length() - 6))); } } return classes; }
/** * @deprecated This cannot be implemented in a reasonable way that works in * all deployment methods. */ @Deprecated public static SerializerRegistration[] registerPackage(String pkgName) { try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); String path = pkgName.replace('.', '/'); Enumeration<URL> resources = classLoader.getResources(path); List<File> dirs = new ArrayList<File>(); while (resources.hasMoreElements()) { URL resource = resources.nextElement(); dirs.add(new File(resource.getFile())); } ArrayList<Class> classes = new ArrayList<Class>(); for (File directory : dirs) { classes.addAll(findClasses(directory, pkgName)); } SerializerRegistration[] registeredClasses = new SerializerRegistration[classes.size()]; for (int i = 0; i != classes.size(); ++i) { Class clz = classes.get(i); registeredClasses[i] = registerClass(clz, false); } return registeredClasses; } catch (Exception e) { e.printStackTrace(); } return new SerializerRegistration[0]; }
private static List<Class> findClasses(File dir, String pkgName) throws ClassNotFoundException { List<Class> classes = new ArrayList<Class>(); if (!dir.exists()) { return classes; } File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { assert !file.getName().contains("."); classes.addAll(findClasses(file, pkgName + "." + file.getName())); } else if (file.getName().endsWith(".class")) { classes.add(Class.forName(pkgName + '.' + file.getName().substring(0, file.getName().length() - 6))); } } return classes; }
private static List<Class> findClasses(File dir, String pkgName) throws ClassNotFoundException { List<Class> classes = new ArrayList<Class>(); if (!dir.exists()) { return classes; } File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { assert !file.getName().contains("."); classes.addAll(findClasses(file, pkgName + "." + file.getName())); } else if (file.getName().endsWith(".class")) { classes.add(Class.forName(pkgName + '.' + file.getName().substring(0, file.getName().length() - 6))); } } return classes; }
/** * @deprecated This cannot be implemented in a reasonable way that works in * all deployment methods. */ @Deprecated public static SerializerRegistration[] registerPackage(String pkgName) { try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); String path = pkgName.replace('.', '/'); Enumeration<URL> resources = classLoader.getResources(path); List<File> dirs = new ArrayList<File>(); while (resources.hasMoreElements()) { URL resource = resources.nextElement(); dirs.add(new File(resource.getFile())); } ArrayList<Class> classes = new ArrayList<Class>(); for (File directory : dirs) { classes.addAll(findClasses(directory, pkgName)); } SerializerRegistration[] registeredClasses = new SerializerRegistration[classes.size()]; for (int i = 0; i != classes.size(); ++i) { Class clz = classes.get(i); registeredClasses[i] = registerClass(clz, false); } return registeredClasses; } catch (Exception e) { e.printStackTrace(); } return new SerializerRegistration[0]; }
/** * @deprecated This cannot be implemented in a reasonable way that works in * all deployment methods. */ @Deprecated public static SerializerRegistration[] registerPackage(String pkgName) { try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); String path = pkgName.replace('.', '/'); Enumeration<URL> resources = classLoader.getResources(path); List<File> dirs = new ArrayList<File>(); while (resources.hasMoreElements()) { URL resource = resources.nextElement(); dirs.add(new File(resource.getFile())); } ArrayList<Class> classes = new ArrayList<Class>(); for (File directory : dirs) { classes.addAll(findClasses(directory, pkgName)); } SerializerRegistration[] registeredClasses = new SerializerRegistration[classes.size()]; for (int i = 0; i != classes.size(); ++i) { Class clz = classes.get(i); registeredClasses[i] = registerClass(clz, false); } return registeredClasses; } catch (Exception e) { e.printStackTrace(); } return new SerializerRegistration[0]; }