|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.enterprise.module.impl.ModuleImpl
public final class ModuleImpl
A module represents a set of resources accessible to third party modules.
Each module has a module definition which defines its name, its list of
exported resources and its dependencies to other modules.
A module instance stores references to the class loader instances giving
access to the module's implementation.
A module instance belongs to a 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.
Method Summary | ||
---|---|---|
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() . |
|
|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
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 Module
ClassLoader
public ModuleDefinition getModuleDefinition()
getModuleDefinition
in interface Module
public ModulesRegistryImpl getRegistry()
getRegistry
in interface Module
public void detach()
detach
in interface Module
public String toString()
toString
in class Object
public void addListener(ModuleChangeListener listener)
addListener
in interface Module
listener
- the listenerpublic void removeListener(ModuleChangeListener listener)
removeListener
in interface Module
listener
- the listener to unregisterprotected void fireChangeEvent()
public void refresh()
refresh
in interface Module
public ModuleMetadata getMetadata()
getMetadata
in interface Module
public 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 Module
ResolveError
- 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 Module
ResolveError
public 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
.
stop
in interface Module
public List<Module> getImports()
getImports
in interface Module
public Module addImport(ModuleDependency dependency)
addImport
in interface Module
dependency
- new module's definitionpublic ModuleState getState()
getState
in interface Module
public void addImport(Module module)
addImport
in interface Module
public void removeImport(ModuleImpl module)
public String getName()
getModuleDefinition().getName()
.
getName
in interface Module
public boolean isShared()
isShared
in interface Module
public boolean isSticky()
isSticky
in interface Module
public void setSticky(boolean sticky)
setSticky
in interface Module
sticky
- true if the module should stick aroundpublic <T> Iterable<Class<? extends T>> getProvidersClass(Class<T> serviceClass)
getProvidersClass
in interface Module
public Iterable<Class> getProvidersClass(String name)
getProvidersClass
in interface Module
public boolean hasProvider(Class serviceClass)
hasProvider
in interface Module
public void dumpState(PrintStream writer)
dumpState
in interface Module
public void uninstall()
Module
uninstall
in interface Module
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |