com.google.inject.spi.Element.acceptVisitor()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(259)

本文整理了Java中com.google.inject.spi.Element.acceptVisitor()方法的一些代码示例,展示了Element.acceptVisitor()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Element.acceptVisitor()方法的具体详情如下:
包路径:com.google.inject.spi.Element
类名称:Element
方法名:acceptVisitor

Element.acceptVisitor介绍

[英]Accepts an element visitor. Invokes the visitor method specific to this element's type.
[中]接受元素访问者。调用特定于此元素类型的访问者方法。

代码示例

代码示例来源:origin: com.google.inject/guice

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: com.google.inject/guice

  1. private static Module extractScanners(Iterable<Element> elements) {
  2. final List<ModuleAnnotatedMethodScannerBinding> scanners = Lists.newArrayList();
  3. ElementVisitor<Void> visitor =
  4. new DefaultElementVisitor<Void>() {
  5. @Override
  6. public Void visit(ModuleAnnotatedMethodScannerBinding binding) {
  7. scanners.add(binding);
  8. return null;
  9. }
  10. };
  11. for (Element element : elements) {
  12. element.acceptVisitor(visitor);
  13. }
  14. return new AbstractModule() {
  15. @Override
  16. protected void configure() {
  17. for (ModuleAnnotatedMethodScannerBinding scanner : scanners) {
  18. scanner.applyTo(binder());
  19. }
  20. }
  21. };
  22. }
  23. }

代码示例来源:origin: com.google.inject/guice

  1. public void process(InjectorImpl injector, List<Element> elements) {
  2. Errors errorsAnyElement = this.errors;
  3. this.injector = injector;
  4. try {
  5. for (Iterator<Element> i = elements.iterator(); i.hasNext(); ) {
  6. Element element = i.next();
  7. this.errors = errorsAnyElement.withSource(element.getSource());
  8. Boolean allDone = element.acceptVisitor(this);
  9. if (allDone) {
  10. i.remove();
  11. }
  12. }
  13. } finally {
  14. this.errors = errorsAnyElement;
  15. this.injector = null;
  16. }
  17. }

代码示例来源:origin: org.sonatype.sisu/sisu-guice

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: ArcBees/Jukito

  1. private void visitElements(List<Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }

代码示例来源:origin: org.jukito/jukito

  1. private void visitElements(List<Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }

代码示例来源:origin: at.bestsolution.efxclipse.eclipse/com.google.inject

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: com.jwebmp.inject/guice

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: com.google/inject

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: org.xbib/guice

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: Nextdoor/bender

  1. void writeAll(Iterable<? extends Element> elements) {
  2. for (Element element : elements) {
  3. element.acceptVisitor(this);
  4. }
  5. }
  6. }

代码示例来源:origin: com.googlecode.gwt-test-utils/gwt-test-utils

  1. private Set<Key<?>> collectBindedClasses(List<Element> elements) {
  2. final Set<Key<?>> bindedClasses = new HashSet<>();
  3. for (Element e : elements) {
  4. e.acceptVisitor(new DefaultElementVisitor<Void>() {
  5. @Override
  6. public <T> Void visit(Binding<T> binding) {
  7. bindedClasses.add(binding.getKey());
  8. return null;
  9. }
  10. });
  11. }
  12. return bindedClasses;
  13. }

代码示例来源:origin: gwt-test-utils/gwt-test-utils

  1. private Set<Key<?>> collectBindedClasses(List<Element> elements) {
  2. final Set<Key<?>> bindedClasses = new HashSet<>();
  3. for (Element e : elements) {
  4. e.acceptVisitor(new DefaultElementVisitor<Void>() {
  5. @Override
  6. public <T> Void visit(Binding<T> binding) {
  7. bindedClasses.add(binding.getKey());
  8. return null;
  9. }
  10. });
  11. }
  12. return bindedClasses;
  13. }

代码示例来源:origin: com.proofpoint.platform/configuration

  1. @Override
  2. public Void visit(PrivateElements privateElements)
  3. {
  4. for (Element element : privateElements.getElements()) {
  5. element.acceptVisitor(this);
  6. }
  7. return null;
  8. }
  9. });

代码示例来源:origin: com.netflix.governator/governator-core

  1. /**
  2. * Call the provided visitor for all elements of the current module.
  3. *
  4. * This call will not modify any bindings
  5. * @param visitor
  6. */
  7. public <T> InjectorBuilder forEachElement(ElementVisitor<T> visitor) {
  8. Elements
  9. .getElements(module)
  10. .forEach(element -> element.acceptVisitor(visitor));
  11. return this;
  12. }

代码示例来源:origin: io.github.gwtplus.gin/gin

  1. private void visitElements(List<Element> elements) {
  2. // We take advantage of the fact that iterating over the PrivateElements should
  3. // happen in the same order that the modules were installed. We match each PrivateElements
  4. // up with the {@link GinjectorBindings} that were created in the adapter.
  5. children = bindings.getChildren().iterator();
  6. for (Element element : elements) {
  7. element.acceptVisitor(this);
  8. }
  9. }

代码示例来源:origin: com.netflix.governator/governator

  1. @Override
  2. public Collection<Module> call(Collection<Module> modules) {
  3. for(Element element : Elements.getElements(Stage.TOOL, modules)) {
  4. element.acceptVisitor(new DefaultElementVisitor<Void>() {
  5. @Override
  6. public Void visit(StaticInjectionRequest request) {
  7. LOG.warn("You shouldn't be using static injection at: " + request.getSource());
  8. return null;
  9. }
  10. });
  11. }
  12. return modules;
  13. }

代码示例来源:origin: com.netflix.governator/governator-core

  1. /**
  2. * Iterate through all elements of the current module and pass the output of the
  3. * ElementVisitor to the provided consumer. 'null' responses from the visitor are ignored.
  4. *
  5. * This call will not modify any bindings
  6. * @param visitor
  7. */
  8. public <T> InjectorBuilder forEachElement(ElementVisitor<T> visitor, Consumer<T> consumer) {
  9. Elements
  10. .getElements(module)
  11. .forEach(element -> Optional.ofNullable(element.acceptVisitor(visitor)).ifPresent(consumer));
  12. return this;
  13. }

代码示例来源:origin: com.yahoo.vespa/jdisc_core

  1. private Module createModule() {
  2. List<Element> allElements = new LinkedList<>();
  3. for (List<Element> moduleElements : modules.values()) {
  4. allElements.addAll(moduleElements);
  5. }
  6. ElementCollector collector = new ElementCollector();
  7. for (ListIterator<Element> it = allElements.listIterator(allElements.size()); it.hasPrevious(); ) {
  8. it.previous().acceptVisitor(collector);
  9. }
  10. return Elements.getModule(collector.elements);
  11. }

代码示例来源:origin: com.atlassian.org.eclipse.sisu/org.eclipse.sisu.inject

  1. public void configure( final Binder binder )
  2. {
  3. final ElementMerger merger = new ElementMerger( binder );
  4. for ( final Module m : modules )
  5. {
  6. for ( final Element e : Elements.getElements( m ) )
  7. {
  8. e.acceptVisitor( merger );
  9. }
  10. }
  11. }
  12. }

相关文章