Package org.ametys.runtime.plugin.component
-
Interface Summary Interface Description LogEnabled Components that need to log messages.ParentAware Components acception this marker interface indicate that they want to have a reference to their parent.PluginAware Used by components needing to know their declaring plugin. -
Class Summary Class Description AbstractComponentExtensionPoint<T> Avalon based implementation of an ExtensionPoint.AbstractLogEnabled Abstract implementation of LogEnabled for Ametys components.AbstractSelectorExtensionPoint<T extends Component> Bridge between the plugin stuff and Cocoon ComponentSelectors.
The aim is to provide a way to declare InputModules, DataSources, SourceFactories, ...AbstractThreadSafeComponentExtensionPoint<T> Avalon based implementation of an ExtensionPoint.
Subclasses only need to calladdComponent()
for each new extension.PluginsComponentManager Implementation of an Avalon ComponentManager handling the PluginAware and ParentAware interfaces.
See theThreadSafeComponentManager
for more details.ThreadSafeComponentManager<T> Special ServiceManager able to handle extensions.
It does not actually implements the Avalon ServiceManager interface, to be able to use the Java 5 generic parameter.
This class is also intended to be used "locally" : its lookup(role) method does NOT propagate to the parent manager if the component does not exist.
To use the real ServiceManager, use the PluginsServiceManager subclass instead.
It handles the "PluginAware" interface, implemented by extensions.
It handles the following Avalon interfaces : LogEnabled Contextualizable Serviceable Configurable Parameterizable Initializable Startable Disposable All handled components are considered ThreadSafe, ie only one instance is created at initialization time and returned at each lookup()