public class DefaultLibrariesManager extends Object implements LibrariesManager
| Constructor and Description |
|---|
DefaultLibrariesManager()
Constructor.
|
DefaultLibrariesManager(File[] additionalClassPath)
Constructor with additional files to load.
|
| Modifier and Type | Method and Description |
|---|---|
List<File> |
getLibrariesLocations()
Return the list of libraries loaded.
|
IO.Readable |
getResource(String path,
byte priority)
Open a resource or return null if it does not exist.
|
IAsync<LibraryManagementException> |
onLibrariesLoaded()
Return a synchronization point which is blocked until this libraries manager has been initialized
and has loaded all required libraries.
|
static void |
scanDirectoryLibrary(ApplicationClassLoader classLoader,
File dir,
String rootPackage,
boolean includeSubPackages,
Predicate<String> packageFilter,
Predicate<String> classFilter,
Consumer<Class<?>> classScanner)
Scan a directory looking for class files.
|
static void |
scanJarLibrary(ApplicationClassLoader classLoader,
File file,
String rootPackage,
boolean includeSubPackages,
Predicate<String> packageFilter,
Predicate<String> classFilter,
Consumer<Class<?>> classScanner)
Scan a JAR looking for class files.
|
static void |
scanJarLibrary(ApplicationClassLoader classLoader,
ZipFile jar,
String rootPackage,
boolean includeSubPackages,
Predicate<String> packageFilter,
Predicate<String> classFilter,
Consumer<Class<?>> classScanner)
Scan a JAR looking for class files.
|
void |
scanLibraries(String rootPackage,
boolean includeSubPackages,
Predicate<String> packageFilter,
Predicate<String> classFilter,
Consumer<Class<?>> classScanner)
Go through each library to scan its content.
|
DefaultApplicationClassLoader |
start(Application app)
This method is automatically called on application startup so this libraries manager
can initialize and load libraries as needed for the given application.
|
public DefaultLibrariesManager(File[] additionalClassPath)
public DefaultLibrariesManager()
public DefaultApplicationClassLoader start(Application app)
LibrariesManagerstart in interface LibrariesManagerpublic IAsync<LibraryManagementException> onLibrariesLoaded()
LibrariesManageronLibrariesLoaded in interface LibrariesManagerpublic IO.Readable getResource(String path, byte priority)
LibrariesManagergetResource in interface LibrariesManagerpublic List<File> getLibrariesLocations()
LibrariesManagergetLibrariesLocations in interface LibrariesManagerpublic void scanLibraries(String rootPackage, boolean includeSubPackages, Predicate<String> packageFilter, Predicate<String> classFilter, Consumer<Class<?>> classScanner)
LibrariesManagerscanLibraries in interface LibrariesManagerpublic static void scanDirectoryLibrary(ApplicationClassLoader classLoader, File dir, String rootPackage, boolean includeSubPackages, Predicate<String> packageFilter, Predicate<String> classFilter, Consumer<Class<?>> classScanner)
public static void scanJarLibrary(ApplicationClassLoader classLoader, File file, String rootPackage, boolean includeSubPackages, Predicate<String> packageFilter, Predicate<String> classFilter, Consumer<Class<?>> classScanner)
Copyright © 2019. All rights reserved.