@Override public <T> T getInstance(Class<T> clazz, String name) { crashIfClosed(); ConfigurationHolder.configuration.checkCyclesStart(clazz, name); T t; try { t = lookupProvider(clazz, name).get(this); } finally { ConfigurationHolder.configuration.checkCyclesEnd(clazz, name); } return t; }
@Test(expected = RuntimeException.class) public void testLookup_shouldFail_whenNotFindingABindingForANamedProvider() { //GIVEN //WHEN new ScopeImpl("").lookupProvider(Foo.class, "Bar"); //THEN fail("Should throw an exception"); }
@Override public <T> Provider<T> getProvider(Class<T> clazz) { InternalProviderImpl<? extends T> provider = lookupProvider(clazz, null); return new ThreadSafeProviderImpl<>(this, provider, false); }
@Override public <T> Lazy<T> getLazy(Class<T> clazz) { InternalProviderImpl<? extends T> provider = lookupProvider(clazz, null); return new ThreadSafeProviderImpl<>(this, provider, true); }
@Override public <T> Provider<T> getProvider(Class<T> clazz, String name) { InternalProviderImpl<? extends T> provider = lookupProvider(clazz, name); return new ThreadSafeProviderImpl<>(this, provider, false); }
@Override public <T> Lazy<T> getLazy(Class<T> clazz, String name) { InternalProviderImpl<? extends T> provider = lookupProvider(clazz, name); return new ThreadSafeProviderImpl<>(this, provider, true); }
@Override public <T> T getInstance(Class<T> clazz) { Configuration.instance.checkCyclesStart(clazz); T t = lookupProvider(clazz, null).get(this); Configuration.instance.checkCyclesEnd(clazz); return t; }
@Override public <T> T getInstance(Class<T> clazz, String name) { Configuration.instance.checkCyclesStart(clazz); T t = lookupProvider(clazz, name).get(this); Configuration.instance.checkCyclesEnd(clazz); return t; }
@Override public <T> T getInstance(Class<T> clazz, String name) { crashIfClosed(); ConfigurationHolder.configuration.checkCyclesStart(clazz, name); T t; try { t = lookupProvider(clazz, name).get(this); } finally { ConfigurationHolder.configuration.checkCyclesEnd(clazz, name); } return t; }