@Override public String toString() { return "Provider<" + getKey().getTypeLiteral() + ">"; } };
@Override public <T> Provider<T> getProvider(Key<T> key) { ProviderLookup<T> lookup = new ProviderLookup<>(key, key); lookups.add(lookup); return lookup.getProvider(); }
@Override public void applyTo(Binder binder) { initializeDelegate(binder.withSource(getSource()).getProvider(dependency)); }
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getDependency(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getKey(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
/** * Visit a lookup of the provider for a type. */ @Override public <T> Void visit(ProviderLookup<T> lookup) { foundKeys.add(lookup.getDependency().getKey()); return null; } });
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getKey(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getDependency(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
@Override public <T> Provider<T> getProvider(final Dependency<T> dependency) { final ProviderLookup<T> element = new ProviderLookup<>(getElementSource(), dependency); elements.add(element); return element.getProvider(); }
@Override public void applyTo(Binder binder) { initializeDelegate(binder.withSource(getSource()).getProvider(dependency)); }
@Override public Set<Dependency<?>> getDependencies() { // We depend on Provider<T>, not T directly. This is an important distinction // for dependency analysis tools that short-circuit on providers. Key<?> providerKey = getKey().ofType(Types.providerOf(getKey().getTypeLiteral().getType())); return ImmutableSet.<Dependency<?>>of(Dependency.get(providerKey)); }
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getKey(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getDependency(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
public <T> Provider<T> getProvider(Key<T> key) { ProviderLookup<T> lookup = new ProviderLookup<T>(key, key); lookups.add(lookup); return lookup.getProvider(); }
public void applyTo(Binder binder) { initializeDelegate(binder.withSource(getSource()).getProvider(key)); }
@Override public String toString() { return "Provider<" + getKey().getTypeLiteral() + ">"; } };
@Override public <T> Boolean visit(ProviderLookup<T> lookup) { // ensure the provider can be created try { Provider<T> provider = injector.getProviderOrThrow(lookup.getDependency(), errors); lookup.initializeDelegate(provider); } catch (ErrorsException e) { errors.merge(e.getErrors()); // TODO: source } return true; } }
@Override public <T> Provider<T> getProvider(Key<T> key) { ProviderLookup<T> lookup = new ProviderLookup<>(key, key); lookups.add(lookup); return lookup.getProvider(); }
@Override public void applyTo(Binder binder) { initializeDelegate(binder.withSource(getSource()).getProvider(dependency)); }
@Override public String toString() { return "Provider<" + getKey().getTypeLiteral() + ">"; } };