* @version $Rev: 702000 $ $Date: 2008-10-06 09:32:38 +0100 (Mon, 06 Oct 2008) $
*/
public class JavaImplementationActivator implements ModuleActivator {
public void start(ExtensionPointRegistry registry) {
FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
JavaInterfaceFactory javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class);
BaseJavaClassVisitor[] extensions =
new BaseJavaClassVisitor[] {new ConstructorProcessor(assemblyFactory),
new AllowsPassByReferenceProcessor(assemblyFactory),
new ComponentNameProcessor(assemblyFactory),
new ContextProcessor(assemblyFactory),
new ConversationIDProcessor(assemblyFactory),
new ConversationProcessor(assemblyFactory),
new DestroyProcessor(assemblyFactory), new EagerInitProcessor(assemblyFactory),
new InitProcessor(assemblyFactory), new PropertyProcessor(assemblyFactory),
new ReferenceProcessor(assemblyFactory, javaFactory),
new ResourceProcessor(assemblyFactory), new ScopeProcessor(assemblyFactory),
new ServiceProcessor(assemblyFactory, javaFactory),
new HeuristicPojoProcessor(assemblyFactory, javaFactory),
new PolicyProcessor(assemblyFactory, policyFactory)};
JavaImplementationFactory javaImplementationFactory = modelFactories.getFactory(JavaImplementationFactory.class);
for (JavaClassVisitor extension : extensions) {
javaImplementationFactory.addClassVisitor(extension);
}
}