package org.wamblee.cdi; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.inject.Produces; import javax.inject.Inject; /** * Singleton injector access. This should be used as main entry point for injection. * @author Erik Brakkee * */ public class SimpleInjector { private static InjectorCache cache = new InjectorCache( new CdiInjectorFactory()); /** * Override the injector factory (mainly fo runit test). * @param aFactory Factory. */ public static void setInjectorFactory(InjectorFactory aFactory) { cache = new InjectorCache(aFactory); } /** * Injects into a given object. * @param aObject Object to inject into. */ public static void inject(Object aObject) { cache.getInjector(aObject.getClass()).inject(aObject); } }