Package io.vertigo.core.node.component
Interface Plugin
- All Superinterfaces:
CoreComponent
- All Known Subinterfaces:
AnalyticsConnectorPlugin,AspectPlugin,ParamPlugin,ResourceResolverPlugin
- All Known Implementing Classes:
ClassPathResourceResolverPlugin,EnvParamPlugin,JavassistAspectPlugin,LocalResourceResolverPlugin,LoggerAnalyticsConnectorPlugin,ManifestParamPlugin,PropertiesParamPlugin,SmartLoggerAnalyticsConnectorPlugin,SocketLoggerAnalyticsConnectorPlugin,SocketLoggerJsonAnalyticsConnectorPlugin,SystemPropertyParamPlugin,UnsafeURLResourceResolverPlugin,URLResourceResolverPlugin,XmlParamPlugin
A plugin is a particular component.
A plugin is not referenced in the ComponentSpace.
A plugin is usefull to encapsulate a specific set of operations.
A plugin is often used as a strategy pattern to make an operation interchangeable without changing the component.
All plugins MUST BE thread safe.
Plugins are singletons.
As a plugin is a component, it can own component's behaviors such as Activeable.
- Author:
- pchretien