package fr.adrienbrault.idea.symfony2plugin.dic;
import fr.adrienbrault.idea.symfony2plugin.extension.ServiceCollector;
import fr.adrienbrault.idea.symfony2plugin.extension.ServiceCollectorParameter;
import fr.adrienbrault.idea.symfony2plugin.util.SymfonyUtil;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import java.util.Map;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public class DefaultServiceCollector implements ServiceCollector {
private static Map<String, String> DEFAULTS = new HashMap<String, String>() {{
put("service_container", "Symfony\\Component\\DependencyInjection\\ContainerInterface");
put("kernel", "Symfony\\Component\\HttpKernel\\KernelInterface");
put("controller_resolver", "Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface");
}};
@Override
public void collectServices(@NotNull ServiceCollectorParameter.Service parameter) {
DEFAULTS.forEach(parameter::add);
if(SymfonyUtil.isVersionLessThen(parameter.getProject(), "3.0")) {
parameter.add("request", "Symfony\\Component\\HttpFoundation\\Request");
}
}
@Override
public void collectIds(@NotNull ServiceCollectorParameter.Id parameter) {
parameter.addAll(DEFAULTS.keySet());
if(SymfonyUtil.isVersionLessThen(parameter.getProject(), "3.0")) {
parameter.add("request");
}
}
}