private JavaImplementationFactory createJavaImplementationFactory(AssemblyFactory assemblyFactory) {
JavaImplementationFactory javaImplementationFactory = new DefaultJavaImplementationFactory();
// Create the list of class visitors
BaseJavaClassVisitor[] extensions =
new BaseJavaClassVisitor[] {
new ConstructorProcessor(assemblyFactory),
new AllowsPassByReferenceProcessor(assemblyFactory),
new ComponentNameProcessor(assemblyFactory),
new ContextProcessor(assemblyFactory),
new ConversationProcessor(assemblyFactory),
new DestroyProcessor(assemblyFactory),
new EagerInitProcessor(assemblyFactory),
new InitProcessor(assemblyFactory),
new PropertyProcessor(assemblyFactory),
new ReferenceProcessor(assemblyFactory, javaInterfaceFactory),
new ResourceProcessor(assemblyFactory),
new OSGiScopeProcessor(assemblyFactory),
new ServiceProcessor(assemblyFactory, javaInterfaceFactory),
new HeuristicPojoProcessor(assemblyFactory, javaInterfaceFactory),
new PolicyProcessor(assemblyFactory, policyFactory)};
for (JavaClassVisitor extension : extensions) {
javaImplementationFactory.addClassVisitor(extension);
}
return javaImplementationFactory;
}