public class OSGiModuleImpl extends Object implements Module
| Constructor and Description |
|---|
OSGiModuleImpl(AbstractOSGiModulesRegistryImpl registry,
org.osgi.framework.Bundle bundle,
ModuleDefinition md) |
| 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) |
boolean |
equals(Object obj) |
org.osgi.framework.Bundle |
getBundle() |
ClassLoader |
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) |
ModulesRegistry |
getRegistry()
Returns the registry owning this module
|
ModuleState |
getState()
Returns the module's state
|
int |
hashCode() |
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.
|
boolean |
isTransientlyActive() |
void |
refresh()
Trigger manual refresh mechanism, the module will check all its
URLs and generate change events if any of them has changed.
|
void |
removeListener(ModuleChangeListener listener)
Unregister a module change listener
|
void |
resolve()
Ensure that this module is
resolved. |
protected void |
setBundle(org.osgi.framework.Bundle bundle) |
void |
setSticky(boolean sticky)
Sets the sticky flag.
|
void |
start()
Forces module startup.
|
boolean |
stop()
Forces module stop.
|
String |
toString() |
void |
uninstall()
Removes the module from the registry backing store, the module will need
be reinstalled to be loaded.
|
public OSGiModuleImpl(AbstractOSGiModulesRegistryImpl registry, org.osgi.framework.Bundle bundle, ModuleDefinition md)
public ModuleDefinition getModuleDefinition()
ModulegetModuleDefinition in interface Modulepublic String getName()
ModulegetModuleDefinition().getName().public ModulesRegistry getRegistry()
ModulegetRegistry in interface Modulepublic ModuleState getState()
Modulepublic void resolve()
throws ResolveError
Moduleresolved.
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
ModuleModuleState.READY, the
Lifecycle.start method will be invoked.start in interface ModuleResolveErrorpublic boolean stop()
ModuleLifecyclePolicy 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 void detach()
Modulepublic void uninstall()
Modulepublic void refresh()
Modulepublic ModuleMetadata getMetadata()
ModulegetMetadata in interface Modulepublic <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)
ModulehasProvider in interface Modulepublic void addListener(ModuleChangeListener listener)
ModuleaddListener in interface Modulelistener - the listenerpublic void removeListener(ModuleChangeListener listener)
ModuleremoveListener in interface Modulelistener - the listener to unregisterpublic void dumpState(PrintStream writer)
public ClassLoader getClassLoader()
ModuleClassLoader instance associated with this module.
Only designated public interfaces will be loaded and returned by
this classloadergetClassLoader in interface ModuleClassLoaderpublic Module addImport(ModuleDependency dependency)
Modulepublic boolean isSticky()
Modulepublic void setSticky(boolean sticky)
Modulepublic List<Module> getImports()
Module
This is the module version of ModuleDefinition.getDependencies(),
but after fully resolved.
To enforce the stable class visibility, once Module is
created, dependencies cannot be changed — that is, we
don't want "a.b.C" to suddenly mean something different once
the code starts running.
getImports in interface Modulepublic boolean isShared()
Modulepublic org.osgi.framework.Bundle getBundle()
public boolean isTransientlyActive()
protected void setBundle(org.osgi.framework.Bundle bundle)
Copyright © 2013 Oracle Corporation. All rights reserved.