I have multiple Impl classes which implements the same service. I need to write a single factory class in osgi where I should write getter method to return appropriate Impl Object. Below is the code I tried. I am struck in factory class. Any ideas to proceed ?
public interface ServiceA {
public void display();
}
@Component (description = "Test1 service", ds = true, immediate = true)
@Service (value = {ServiceA.class})
class Test1 implements ServiceA{
public void display(){
Log.debug("Test1");
}
}
@Component (description = "Test2 service", ds = true, immediate = true)
@Service (value = {ServiceA.class})
class Test2 implements ServiceA{
public void display(){
Log.debug("Test2");
}
}
//How to write factory ?
class Factory{
public ServiceA getObject(String testType){
if(testType.equals("Test1")){
return Test1;
}
else{
return Test2;
}
}
}