View Javadoc
1   package io.github.magwas.inez.query;
2   
3   import java.util.Arrays;
4   
5   import org.springframework.beans.BeansException;
6   import org.springframework.beans.factory.annotation.Autowired;
7   import org.springframework.context.ApplicationContext;
8   import org.springframework.stereotype.Service;
9   
10  import io.github.magwas.runtime.LoggerService;
11  
12  @Service
13  public class GetServiceByNameService {
14  
15  	@Autowired
16  	private ApplicationContext applicationContext;
17  
18  	@Autowired
19  	LoggerService logger;
20  
21  	public BridiFunction apply(final String serviceName) throws BeansException, ClassNotFoundException {
22  		logger.debug(serviceName);
23  
24  		Arrays.asList(applicationContext.getBeanDefinitionNames()).forEach(logger::debug);
25  		return (BridiFunction) applicationContext.getBean(Class.forName(serviceName));
26  	}
27  }