/** Records the elements executed by {@code modules}. */ public static List<Element> getElements(Iterable<? extends Module> modules) { return getElements(Stage.DEVELOPMENT, modules); }
/** * Filter out elements for which the provided visitor returns true. * @param predicate */ public InjectorBuilder filter(ElementVisitor<Boolean> predicate) { List<Element> elements = new ArrayList<Element>(); for (Element element : Elements.getElements(Stage.TOOL, module)) { if (element.acceptVisitor(predicate)) { elements.add(element); } } this.module = Elements.getModule(elements); return this; }
@Override public void configure(Binder binder) { Module baseModule = Elements.getModule(boundElements); binder.install(baseModule); }
@Override public Collection<Module> call(Collection<Module> modules) { final List<Element> noStatics = Lists.newArrayList(); for(Element element : Elements.getElements(Stage.TOOL, modules)) { element.acceptVisitor(new DefaultElementVisitor<Void>() { @Override public Void visit(StaticInjectionRequest request) { // override to not call visitOther return null; } @Override public Void visitOther(Element element) { noStatics.add(element); return null; } }); } return ImmutableList.<Module>of(Elements.getModule(noStatics)); } }
@Override public void configure(Binder binder) { Module baseModule = Elements.getModule(boundElements); binder.install(baseModule); }
/** Records the elements executed by {@code modules}. */ public static List<Element> getElements(Stage stage, Module... modules) { return getElements(stage, Arrays.asList(modules)); }
@Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { modules = new ArrayList<Module>(((ConfigurableListableBeanFactory) registry) .getBeansOfType(Module.class).values()); modules.add(new SpringModule((ConfigurableListableBeanFactory) registry)); Map<Key<?>, Binding<?>> bindings = new HashMap<Key<?>, Binding<?>>(); List<Element> elements = Elements.getElements(Stage.TOOL, modules); if (applicationContext.getEnvironment().getProperty( SPRING_GUICE_DEDUPE_BINDINGS_PROPERTY_NAME, Boolean.class, false)) { elements = removeDuplicates(elements); modules = Collections.singletonList(Elements.getModule(elements)); } for (Element e : elements) { if (e instanceof Binding) { Binding<?> binding = (Binding<?>) e; bindings.put(binding.getKey(), binding); } else if (e instanceof PrivateElements) { extractPrivateElements(bindings, (PrivateElements) e); } } mapBindings(bindings, registry); }
private Module createModule() { List<Element> allElements = new LinkedList<>(); for (List<Element> moduleElements : modules.values()) { allElements.addAll(moduleElements); } ElementCollector collector = new ElementCollector(); for (ListIterator<Element> it = allElements.listIterator(allElements.size()); it.hasPrevious(); ) { it.previous().acceptVisitor(collector); } return Elements.getModule(collector.elements); }
/** Records the elements executed by {@code modules}. */ public static List<Element> getElements(Module... modules) { return getElements(Stage.DEVELOPMENT, Arrays.asList(modules)); }
modules.add(Elements.getModule(Elements.getElements(servletsModule))); Module module = service.configure(); if (module != null) { service.setElements(Elements.getElements(duplicateDetection.wrap(module))); } else { service.setElements(Collections.<com.google.inject.spi.Element>emptyList()); modules.add(Elements.getModule(service.getElements()));
@Override public void configure() { Binder baseBinder = binder(); List<Element> baseElements = Elements.getElements(currentStage(), baseModules); final Module scannersModule = extractScanners(elements); final List<Element> overrideElements = Elements.getElements( currentStage(), ImmutableList.<Module>builder().addAll(overrides).add(scannersModule).build());
boolean calledCustom = false; for (Element e : Elements.getElements(underTest)) { if (e instanceof Binding) { Key key = ((Binding) e).getKey();
List<Element> elements = Elements.getElements(underTest);
modules.add(0, new InheritedScannersModule(parent.state)); elements.addAll(Elements.getElements(stage, modules));
public void testServletModuleReuse() { Module module = new Module(); Elements.getElements(module); // use the module once (to, say, introspect bindings) Injector injector = Guice.createInjector(module); // use it again. Visitor visitor = new Visitor(); // Validate only a single servlet binding & a single filter binding exist. for (Binding<?> binding : injector.getAllBindings().values()) { binding.acceptTargetVisitor(visitor); } assertEquals( "wrong linked servlets: " + visitor.linkedServlets, 0, visitor.linkedServlets.size()); assertEquals("wrong linked filters: " + visitor.linkedFilters, 0, visitor.linkedFilters.size()); assertEquals( "wrong instance servlets: " + visitor.instanceServlets, 1, visitor.instanceServlets.size()); assertEquals( "wrong instance filters: " + visitor.instanceFilters, 1, visitor.instanceFilters.size()); }
/** * Records the elements executed by {@code modules}. */ public static List<Element> getElements(Iterable<? extends Module> modules) { return getElements(Stage.DEVELOPMENT, modules); }
/** * Records the elements executed by {@code modules}. */ public static List<Element> getElements(Iterable<? extends Module> modules) { return getElements(Stage.DEVELOPMENT, modules); }
/** * Records the elements executed by {@code modules}. */ public static List<Element> getElements(Iterable<? extends Module> modules) { return getElements(Stage.DEVELOPMENT, modules); }
/** Records the elements executed by {@code modules}. */ public static List<Element> getElements(Iterable<? extends Module> modules) { return getElements(Stage.DEVELOPMENT, modules); }
/** * @return Return all elements in the managed module */ public List<Element> getElements() { return Elements.getElements(Stage.TOOL, module); }