@Override public boolean accept(String path) { if (!path.endsWith("Model.class")) return false; final String clsName = PathUtil.classFilePathToClassname(path); for (String pkg : this.skipPackages) if (clsName.startsWith(pkg)) return false; return true; } };
@Override public boolean accept(String path) { if (!path.endsWith("Model.class")) return false; final String clsName = PathUtil.classFilePathToClassname(path); for (String pkg : this.skipPackages) if (clsName.startsWith(pkg)) return false; return true; } };
/** * Attempts to convert a path name (possibly a path within an archive) to a package name. */ public static String pathToPackageName(String relativePath) { String qualifiedName = classFilePathToClassname(relativePath); return ClassNameUtil.getPackageName(qualifiedName); }
/** * Attempts to convert a path name (possibly a path within an archive) to a package name. */ public static String pathToPackageName(String relativePath) { String qualifiedName = classFilePathToClassname(relativePath); return ClassNameUtil.getPackageName(qualifiedName); }
/** * Recursively scan the provided path and return a list of all Java packages contained therein. */ private static Map<String, Integer> findClasses(Path path) { List<String> paths = findPaths(path, true); Map<String, Integer> results = new HashMap<>(); for (String subPath : paths) { if (subPath.endsWith(".java") || subPath.endsWith(".class")) { String qualifiedName = PathUtil.classFilePathToClassname(subPath); addClassToMap(results, qualifiedName); } } return results; }
/** * Recursively scan the provided path and return a list of all Java packages contained therein. */ private static Map<String, Integer> findClasses(Path path) { List<String> paths = findPaths(path, true); Map<String, Integer> results = new HashMap<>(); for (String subPath : paths) { if (subPath.endsWith(".java") || subPath.endsWith(".class")) { String qualifiedName = PathUtil.classFilePathToClassname(subPath); addClassToMap(results, qualifiedName); } } return results; }
/** * Recursively scan the provided path and return a list of all Java packages contained therein. */ private static Map<String, Integer> findClasses(Path currentPath, Path sourceRoot) { String sourceRootPath = sourceRoot.toString(); List<String> paths = findPaths(currentPath, true); Map<String, Integer> results = new HashMap<>(); for (String subPath : paths) { if (subPath.endsWith(".java") || subPath.endsWith(".class")) { String relativePath = subPath; if (subPath.contains(sourceRootPath)) { relativePath = subPath.substring(sourceRoot.toString().length()); } String qualifiedName = PathUtil.classFilePathToClassname(relativePath); addClassToMap(results, qualifiedName); } } return results; }
/** * Scans all Forge addons for classes accepted by given filter. * * TODO: Could be refactored - scan() is almost the same. */ public List<Class<?>> scanClasses(Predicate<String> filter) { List<Class<?>> discoveredClasses = new ArrayList<>(128); // For each Forge addon... for (Addon addon : furnace.getAddonRegistry().getAddons(AddonFilters.allStarted())) { List<String> discoveredFileNames = filterAddonResources(addon, filter); // Then try to load the classes. for (String discoveredFilename : discoveredFileNames) { String clsName = PathUtil.classFilePathToClassname(discoveredFilename); try { Class<?> clazz = addon.getClassLoader().loadClass(clsName); discoveredClasses.add(clazz); } catch (ClassNotFoundException ex) { LOG.log(Level.WARNING, "Failed to load class for name '" + clsName + "':\n" + ex.getMessage(), ex); } } } return discoveredClasses; }
/** * Scans all Forge addons for classes accepted by given filter. * * TODO: Could be refactored - scan() is almost the same. */ public List<Class<?>> scanClasses(Predicate<String> filter) { List<Class<?>> discoveredClasses = new ArrayList<>(128); // For each Forge addon... for (Addon addon : furnace.getAddonRegistry().getAddons(AddonFilters.allStarted())) { List<String> discoveredFileNames = filterAddonResources(addon, filter); // Then try to load the classes. for (String discoveredFilename : discoveredFileNames) { String clsName = PathUtil.classFilePathToClassname(discoveredFilename); try { Class<?> clazz = addon.getClassLoader().loadClass(clsName); discoveredClasses.add(clazz); } catch (ClassNotFoundException ex) { LOG.log(Level.WARNING, "Failed to load class for name '" + clsName + "':\n" + ex.getMessage(), ex); } } } return discoveredClasses; }
continue; String classname = PathUtil.classFilePathToClassname(entryName);
continue; String classname = PathUtil.classFilePathToClassname(entryName);