Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.sonatype.plexus.template;
- import java.net.URLClassLoader;
- import org.sonatype.guice.bean.reflect.ClassSpace;
- import org.sonatype.guice.bean.reflect.URLClassSpace;
- import org.sonatype.guice.bean.scanners.QualifiedScannerModule;
- import com.google.inject.Injector;
- import com.google.inject.InjectorBuilder;
- import com.google.inject.Stage;
- public class TychoInjector {
- private Injector injector;
- public TychoInjector() {
- URLClassLoader loader = (URLClassLoader) getClass().getClassLoader();
- final ClassSpace space = new URLClassSpace(loader);
- final InjectorBuilder injectorBuilder = new InjectorBuilder();
- injectorBuilder.stage(Stage.PRODUCTION); // TODO: hack to get eager singletons
- injectorBuilder.addModules(new QualifiedScannerModule(space));
- injector = injectorBuilder.build();
- }
- public <T> T lookup(Class<T> key) {
- return injector.getInstance(key);
- }
- }
Add Comment
Please, Sign In to add comment