// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerService.java
// public interface MultipleSpeakerService {
// 	String getName();
// 	void speak(String message);
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerWithGenericsService.java
// public interface MultipleSpeakerWithGenericsService<T> {
// 
// 	T getMultipleSpeakerName();
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/NamedSpeakerService.java
// public interface NamedSpeakerService {
// 
// 	String getSpeakerName();
// 
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/SpeakerService.java
// public interface SpeakerService {
// 	String getName();
// 	void speak(String message);
// }


import java.util.List;
import javax.inject.Named;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import io.github.tomdw.java.modules.context.boot.api.ModuleServiceReference;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerWithGenericsService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.NamedSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.SpeakerService;
package io.github.tomdw.java.modules.spring.integration.tests;





@Named
public class IntegrationTestService implements ApplicationContextAware {

	@ModuleServiceReference
	private SpeakerService speakerService;

	@ModuleServiceReference
	@Named("multipleSpeakerServiceList")
	private List<MultipleSpeakerService> multipleSpeakerServices;

	@ModuleServiceReference
	private NamedSpeakerService namedSpeakerService;

	@ModuleServiceReference
	@Named("multipleSpeakerWithGenericsServiceList")
	private List<MultipleSpeakerWithGenericsService<?>> multipleSpeakerWithGenericsServices;

	private static ApplicationContext applicationContext;

	public List<MultipleSpeakerService> getMultipleSpeakerServices() {
		return multipleSpeakerServices;
	}

// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerService.java
// public interface MultipleSpeakerService {
// 	String getName();
// 	void speak(String message);
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerWithGenericsService.java
// public interface MultipleSpeakerWithGenericsService<T> {
// 
// 	T getMultipleSpeakerName();
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/NamedSpeakerService.java
// public interface NamedSpeakerService {
// 
// 	String getSpeakerName();
// 
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/SpeakerService.java
// public interface SpeakerService {
// 	String getName();
// 	void speak(String message);
// }


// Path: integration-tests/src/main/java/io/github/tomdw/java/modules/spring/integration/tests/IntegrationTestService.java
import java.util.List;
import javax.inject.Named;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import io.github.tomdw.java.modules.context.boot.api.ModuleServiceReference;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerWithGenericsService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.NamedSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.SpeakerService;

package io.github.tomdw.java.modules.spring.integration.tests;





@Named
public class IntegrationTestService implements ApplicationContextAware {

	@ModuleServiceReference
	private SpeakerService speakerService;

	@ModuleServiceReference
	@Named("multipleSpeakerServiceList")
	private List<MultipleSpeakerService> multipleSpeakerServices;

	@ModuleServiceReference
	private NamedSpeakerService namedSpeakerService;

	@ModuleServiceReference
	@Named("multipleSpeakerWithGenericsServiceList")
	private List<MultipleSpeakerWithGenericsService<?>> multipleSpeakerWithGenericsServices;

	private static ApplicationContext applicationContext;

	public List<MultipleSpeakerService> getMultipleSpeakerServices() {
		return multipleSpeakerServices;
	}

	public NamedSpeakerService getNamedSpeakerService() {