@Override public InjectionPoint create(TypeLiteral<?> typeLiteral, Method member, Errors errors) { checkForMisplacedBindingAnnotations(member, errors); return new InjectionPoint(typeLiteral, member); } };
@Override public <T> T acceptVisitor(ElementVisitor<T> visitor) { return visitor.visit(this); } }
@Override protected Void visitOther(Element element) { element.applyTo(binder); return null; }
@Override public <T> Provider<T> getProvider(final Key<T> key) { final ProviderLookup<T> element = new ProviderLookup<>(getSource(), key); elements.add(element); return element.getProvider(); }
@Override public V visit(Message message) { return visitOther(message); }
@Override public V visit(ConstructorBinding<? extends T> constructorBinding) { return visitOther(constructorBinding); }
@Override public V visitNoScoping() { return visitOther(); } }
/** * Returns a new dependency that is not attached to an injection point. The returned dependency is * nullable. */ public static <T> Dependency<T> get(Key<T> key) { return new Dependency<>(null, key, true, -1); }
/** * Returns the looked up provider. The result is not valid until this lookup has been initialized, * which usually happens when the injector is created. The provider will throw an {@code * IllegalStateException} if you try to use it beforehand. */ public Provider<T> getProvider() { return new ProviderImpl<>(this); } }
void writeAll(Iterable<? extends Element> elements) { for (Element element : elements) { element.acceptVisitor(this); } } }
@Override public RecordingBinder withSource(final Object source) { return new RecordingBinder(this, source, null); }
@Override public void expose(Key<?> key) { exposeInternal(key); }
StaticInjection(InjectorImpl injector, StaticInjectionRequest request) { this.injector = injector; this.source = request.getSource(); this.request = request; }
/** * @since 2.0 */ @Override public <T> T acceptVisitor(ElementVisitor<T> visitor) { return visitor.visit(this); }
@Override public <T> V visit(ProviderLookup<T> providerLookup) { return visitOther(providerLookup); }
@Override public InjectionPoint create(TypeLiteral<?> typeLiteral, Field member, Errors errors) { return new InjectionPoint(typeLiteral, member); } };
@Override public void configure(Binder binder) { for (Element element : elements) { element.applyTo(binder); } } };
@Override @SuppressWarnings("unchecked") public V visit(ProviderBinding<? extends T> providerBinding) { return visitOther((Binding<? extends T>) providerBinding); } }
@Override public <T> T acceptVisitor(ElementVisitor<T> visitor) { return visitor.visit(this); }
@Override public <T> V visit(MembersInjectorLookup<T> lookup) { return visitOther(lookup); }