@Override public Object getInstance() { return provider.getInstance(); }
@Override public Object getBean(final String name) { logger.debug("Looking up bean {}", name); final List<JsTypeProvider<?>> providers = beanProviders.get(name); if (providers.isEmpty()) { throw new IOCResolutionException("no matching bean instances for: " + name); } else if (providers.size() > 1) { throw new IOCResolutionException("multiple matching bean instances for: " + name); } else { return providers.get(0).getInstance(); } }
public void testNoDuplicatesWithSuperTypeAliases() throws Exception { final JsArray<JsTypeProvider<?>> providers = WindowInjectionContextStorage.createOrGet() .getProviders(DuplicateInterface.class.getName()); assertEquals(2, providers.length()); assertEquals( new HashSet<>(Arrays.asList( JsSubTypeWithDuplicateInterface.class.getName(), JsSuperTypeWithDuplicateInterface.class.getName())), new HashSet<>(Arrays.asList( providers.get(0).getInstance().getClass().getName(), providers.get(1).getInstance().getClass().getName()))); }