package restx.factory.conditional.components;
import com.google.common.collect.ImmutableList;
import java.util.List;
import javax.inject.Named;
import restx.factory.Alternative;
import restx.factory.Module;
import restx.factory.Provides;
import restx.factory.When;
/**
* @author apeyrard
*/
@Module(priority = -100)
@When(name = "my-mode", value = "dev")
public class TestDevModule {
@Alternative(to = TestInterfaces.Resolver.class, named = "prodResolver")
public TestInterfaces.Resolver devResolver() {
return new TestInterfaces.Resolver() {
@Override
public String resolve(String constraint) {
return "dev:"+constraint;
}
};
}
@Provides
public TestInterfaces.Workspace workspace() {
return new TestInterfaces.Workspace() {
@Override
public List<String> modules() {
return ImmutableList.of("mod1", "mod2");
}
};
}
@Provides @Named("db.type")
public String dbType() {
return "derby";
}
}