The plugin framework can be extend with plugin providers which provides plugins access to different forms of data at runtime.
Follow these steps to implement a plugin provider:
- public class ExecutionInfoProviderImpl implements ExecutionInfoProvider {
- public ExecutionInfo get(ExecutionResult result) {
- // TODO Auto-generated method stub
- return null;
- }
- }
- <!-- define execution info provider -->
- <bean id="executionInfoProviderImpl" class="com.alpha.pineapple.execution.ExecutionInfoProviderImpl" />
- /**
- * Execution info provider.
- */
- @Resource
- ExecutionInfoProvider executionInfoProvider;
- // register execution info provider
- factory.registerSingleton(EXECUTION_INFO_PROVIDER_BEANID, executionInfoProvider);
The result is that the same provider instance which is used by the core compoent is injected into all plugin contexts.