public class DynamicLibrariesManager extends Object implements ArtifactsLibrariesManager
| Constructor and Description |
|---|
DynamicLibrariesManager(List<File> devPaths,
SplashScreen splash,
List<LibraryDescriptorLoader> loaders,
File appDir,
ApplicationConfiguration cfg,
List<Triple<String,String,String>> plugins)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
List<File> |
getLibrariesLocations()
Return the list of libraries loaded.
|
LoadedLibrary |
getLibrary(String groupId,
String artifactId)
Return a loaded library, or null if not loaded.
|
IO.Readable |
getResource(String path,
byte priority)
Open a resource or return null if it does not exist.
|
IO.Readable |
getResource(String groupId,
String artifactId,
String path,
byte priority)
Open a resource from a specific library if possible, or return null if it does not exist.
|
IO.Readable |
getResourceFrom(ClassLoader cl,
String path,
byte priority)
Open a resource from the given class loader.
|
AsyncSupplier<LoadedLibrary,LibraryManagementException> |
loadNewLibrary(String groupId,
String artifactId,
VersionSpecification version,
boolean optional,
byte priority,
WorkProgress progress,
long work)
Load a new library.
|
IAsync<LibraryManagementException> |
onLibrariesLoaded()
Return a synchronization point which is blocked until this libraries manager has been initialized
and has loaded all required libraries.
|
void |
scanLibraries(String rootPackage,
boolean includeSubPackages,
Predicate<String> packageFilter,
Predicate<String> classFilter,
Consumer<Class<?>> classScanner)
Go through each library to scan its content.
|
ApplicationClassLoader |
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 DynamicLibrariesManager(List<File> devPaths, SplashScreen splash, List<LibraryDescriptorLoader> loaders, File appDir, ApplicationConfiguration cfg, List<Triple<String,String,String>> plugins)
public ApplicationClassLoader start(Application app)
LibrariesManagerstart in interface LibrariesManagerpublic IAsync<LibraryManagementException> onLibrariesLoaded()
LibrariesManageronLibrariesLoaded in interface LibrariesManagerpublic AsyncSupplier<LoadedLibrary,LibraryManagementException> loadNewLibrary(String groupId, String artifactId, VersionSpecification version, boolean optional, byte priority, WorkProgress progress, long work)
ArtifactsLibrariesManagerloadNewLibrary in interface ArtifactsLibrariesManagerpublic LoadedLibrary getLibrary(String groupId, String artifactId)
ArtifactsLibrariesManagergetLibrary in interface ArtifactsLibrariesManagerpublic IO.Readable getResource(String groupId, String artifactId, String path, byte priority)
ArtifactsLibrariesManagergetResource in interface ArtifactsLibrariesManagerpublic IO.Readable getResource(String path, byte priority)
LibrariesManagergetResource in interface LibrariesManagerpublic IO.Readable getResourceFrom(ClassLoader cl, String path, byte priority)
public 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 LibrariesManagerCopyright © 2019. All rights reserved.