public final class ModuleImpl extends Object implements Module
ModuleRegistry which can be used
to get the list of available modules and/or get particular module
implementation.
Modules can only satisfy their dependencies within the ModuleRegistry
instance they are registered in.| Modifier and Type | Method and Description |
|---|---|
void |
addImport(Module module) |
Module |
addImport(ModuleDependency dependency)
Create and add a new module to this module's list of
imports.
|
void |
addListener(ModuleChangeListener listener)
Add a new module change listener
|
void |
detach()
Detach this module from its registry.
|
void |
dumpState(PrintStream writer) |
protected void |
fireChangeEvent()
fires a ModuleChange event to all listeners
|
com.sun.enterprise.module.impl.ClassLoaderFacade |
getClassLoader()
Return the
ClassLoader instance associated with this module. |
List<Module> |
getImports()
Returns the list of imported modules
|
ModuleMetadata |
getMetadata()
Gets the metadata of this module.
|
ModuleDefinition |
getModuleDefinition()
Returns the module definition for this module instance
|
String |
getName()
Short-cut for
getModuleDefinition().getName(). |
<T> Iterable<Class<? extends T>> |
getProvidersClass(Class<T> serviceClass) |
Iterable<Class> |
getProvidersClass(String name) |
ModulesRegistryImpl |
getRegistry()
Returns the registry owning this module
|
ModuleState |
getState()
Returns the module's state
|
boolean |
hasProvider(Class serviceClass)
Returns true if this module has any provider for the given service class.
|
boolean |
isShared()
Returns true if this module is sharable.
|
boolean |
isSticky()
Returns true if the module is sticky.
|
void |
refresh()
Trigger manual refresh mechanism, the module will check all its
URLs and generate change events if any of them has changed.
|
void |
removeImport(ModuleImpl module) |
void |
removeListener(ModuleChangeListener listener)
Unregister a module change listener
|
void |
resolve()
Ensure that this module is
resolved. |
void |
setSticky(boolean sticky)
Sets the sticky flag.
|
void |
start()
Forces module startup.
|
boolean |
stop()
Forces module stop.
|
String |
toString()
Return a String representation
|
void |
uninstall()
Removes the module from the registry backing store, the module will need
be reinstalled to be loaded.
|
public com.sun.enterprise.module.impl.ClassLoaderFacade getClassLoader()
ClassLoader instance associated with this module.
Only designated public interfaces will be loaded and returned by
this classloader.getClassLoader in interface ModuleClassLoaderpublic ModuleDefinition getModuleDefinition()
getModuleDefinition in interface Modulepublic ModulesRegistryImpl getRegistry()
getRegistry in interface Modulepublic void detach()
public String toString()
public void addListener(ModuleChangeListener listener)
addListener in interface Modulelistener - the listenerpublic void removeListener(ModuleChangeListener listener)
removeListener in interface Modulelistener - the listener to unregisterprotected void fireChangeEvent()
public void refresh()
public ModuleMetadata getMetadata()
getMetadata in interface Modulepublic void resolve()
throws ResolveError
resolved.
If the module is already resolved, this method does nothing.
Otherwise, iterate over all declared ModuleDependency instances and use the
associated ModuleRegistry to resolve it. After successful
completion of this method, the module state is
ModuleState.RESOLVED.
resolve in interface ModuleResolveError - if any of the declared dependency of this module
cannot be satisfiedpublic void start()
throws ResolveError
ModuleState.READY, the
Lifecycle.start method will be invoked.start in interface ModuleResolveErrorpublic boolean stop()
LifecyclePolicy for this module is defined, the
Lifecycle.stop(Module)
method will be called and finally the module state will be
returned to ModuleState.NEW.public List<Module> getImports()
getImports in interface Modulepublic Module addImport(ModuleDependency dependency)
public ModuleState getState()
public void removeImport(ModuleImpl module)
public String getName()
getModuleDefinition().getName().public boolean isShared()
public boolean isSticky()
public void setSticky(boolean sticky)
public <T> Iterable<Class<? extends T>> getProvidersClass(Class<T> serviceClass)
getProvidersClass in interface Modulepublic Iterable<Class> getProvidersClass(String name)
getProvidersClass in interface Modulepublic boolean hasProvider(Class serviceClass)
hasProvider in interface Modulepublic void dumpState(PrintStream writer)
Copyright © 2009-2014 Oracle Corporation. All Rights Reserved.