public abstract class ModuleInfo extends Object
Modifier and Type | Field and Description |
---|---|
static String |
PROP_ENABLED
Property name fired when enabled or disabled.
|
Modifier | Constructor and Description |
---|---|
protected |
ModuleInfo()
Do-nothing constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(PropertyChangeListener l)
Add a change listener.
|
protected void |
firePropertyChange(String prop,
Object old,
Object nue)
Indicate that something changed, as a subclass.
|
abstract Object |
getAttribute(String attr)
Get some attribute, for example OpenIDE-Module-Name.
|
String |
getBuildVersion()
The identification of the build version.
|
ClassLoader |
getClassLoader()
Get a class loader associated with this module that can load
classes defined in the module.
|
abstract String |
getCodeName()
The full code name, with release version after slash if defined.
|
abstract String |
getCodeNameBase()
The code name of the module, sans release version.
|
abstract int |
getCodeNameRelease()
The release version (-1 if undefined).
|
abstract Set<Dependency> |
getDependencies()
Get a list of all dependencies this module has.
|
String |
getDisplayName()
Get a localized display name, if available.
|
String |
getImplementationVersion()
The implementation version, or null.
|
abstract Object |
getLocalizedAttribute(String attr)
Get an attribute with localization.
|
String[] |
getProvides()
Get a set of capabilities which this module provides to others that may
require it.
|
abstract SpecificationVersion |
getSpecificationVersion()
The specification version, or null.
|
abstract boolean |
isEnabled()
Whether the module is currently enabled.
|
abstract boolean |
owns(Class<?> clazz)
Determine if the provided class
was loaded as a part of this module, and thus will only be
loadable later if this module is enabled.
|
void |
removePropertyChangeListener(PropertyChangeListener l)
Remove a change listener.
|
public static final String PROP_ENABLED
public abstract String getCodeNameBase()
public abstract int getCodeNameRelease()
public abstract String getCodeName()
public String getDisplayName()
public abstract SpecificationVersion getSpecificationVersion()
public String getImplementationVersion()
public String getBuildVersion()
ModuleInfo.getImplementationVersion()
.public abstract boolean isEnabled()
public abstract Object getAttribute(String attr)
public abstract Object getLocalizedAttribute(String attr)
public final void addPropertyChangeListener(PropertyChangeListener l)
public final void removePropertyChangeListener(PropertyChangeListener l)
protected final void firePropertyChange(String prop, Object old, Object nue)
public abstract Set<Dependency> getDependencies()
public abstract boolean owns(Class<?> clazz)
false
.Modules.ownerOf(java.lang.Class<?>)
public ClassLoader getClassLoader() throws IllegalArgumentException
You can only call this method on an enabled module, and the result may change if the module is disabled and reënabled.
The class loader may or may not be shared with any other module, or be the application's startup class loader, etc.
For reasons of backward compatibility, this method is not abstract
but will throw UnsupportedOperationException
if not
overridden. The instances obtainable from default lookup will
override the method to return a real value.
IllegalArgumentException
- if this module is disabledpublic String[] getProvides()