public abstract class ModuleInstaller extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
ModuleInstaller()
No-op constructor for subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
classLoaderUp(ClassLoader cl)
Tells the installer that new classloader is ready for use.
|
abstract void |
close(List<Module> modules)
Notify modules the IDE will be shut down.
|
Task |
closeAsync(List<Module> modules)
Initializes closing sequence on given modules.
|
abstract boolean |
closing(List<Module> modules)
Ask to shut down the IDE from a set of modules.
|
abstract void |
dispose(Module m)
Called when a module is being uninstalled and runtime information
about it is no longer needed.
|
abstract void |
load(List<Module> modules)
Actually load some modules into the IDE.
|
protected Set<Dependency> |
loadDependencies(String cnb)
Loads dependencies cached from previous run, if possible.
|
Manifest |
loadManifest(File jar)
Scan a disabled module JAR file for its manifest contents.
|
abstract void |
prepare(Module m)
Called to ensure that a module is valid to be installed, before continuing.
|
void |
refineClassLoader(Module m,
List parents)
Permit a module installer to add extra parent classloaders for a module.
|
void |
refineDependencies(Module m,
Set<Dependency> dependencies)
Optionally refine the dependencies for a module.
|
String[] |
refineProvides(Module m)
Optionally adds additional token for the module.
|
boolean |
shouldDelegateClasspathResource(String pkg)
Similar to
shouldDelegateResource(org.netbeans.Module, org.netbeans.Module, java.lang.String) but checks whether the
system class loader should delegate to the classpath. |
boolean |
shouldDelegateResource(Module m,
Module parent,
String pkg)
Optionally mask package use in a module classloader.
|
abstract void |
unload(List<Module> modules)
Unload some modules from the IDE.
|
public abstract void prepare(Module m) throws InvalidException
InvalidExceptionpublic abstract void dispose(Module m)
protected void classLoaderUp(ClassLoader cl)
public abstract void load(List<Module> modules)
public abstract void unload(List<Module> modules)
public abstract boolean closing(List<Module> modules)
public abstract void close(List<Module> modules)
public Task closeAsync(List<Module> modules)
Task is returned for callers to wait
till closing sequence is successfully finished.modules - list of modules to closepublic void refineDependencies(Module m, Set<Dependency> dependencies)
m - a module to possibly refine dependencies for; overriders must not call
getDependencies on this module nor attempt to directly change it
in any way; overriders may ask for module code name, version, etc.dependencies - a set of Dependency's; mutable, entries may be added or removed
during the dynamic scope of this callpublic boolean shouldDelegateResource(Module m, Module parent, String pkg)
The module system automatically excludes improper access
to non-public packages (as declared via OpenIDE-Module-Public-Packages)
and cross-module access to the META-INF/ directory.
The default implementation of this method permits all other package delegation.
m - the module requesting use of a given packageparent - the module which might possibly supply that package, or
null if the possible provider is not a module (i.e. application
classpath)pkg - the name of the package in use, in the form "org/netbeans/modules/foo/"
(i.e. slash-separated and ending in a slash as well)public boolean shouldDelegateClasspathResource(String pkg)
shouldDelegateResource(org.netbeans.Module, org.netbeans.Module, java.lang.String) but checks whether the
system class loader should delegate to the classpath.pkg - as in shouldDelegateResource(org.netbeans.Module, org.netbeans.Module, java.lang.String)public Manifest loadManifest(File jar) throws IOException
The default implementation simply opens the JAR and gets its manifest using the standard JRE calls.
Never called for reloadable JARs.
jar - a module JAR to openIOException - if the JAR cannot be opened or does not have a manifest at allpublic void refineClassLoader(Module m, List parents)
m - a module which is about to be enabledparents - current list of ClassLoader parents; may be mutated (appended to)public String[] refineProvides(Module m)
m - the module to add token toprotected Set<Dependency> loadDependencies(String cnb)
cnb - the code name base of the module to get dependencies forBuilt on June 17 2013. | Portions Copyright 1997-2013 Oracle. All rights reserved.