@Override public void bind(Injector builder) { // Bind provider builder.bindProvider( declaredType, getScope(), getQualifiers(), implementationType); } };
@Override public void bind(Injector builder) { // Bind provider builder.bindProvider( declaredType, getScope(), getQualifiers(), implementationType); } };
@Test public void test() throws Exception { init(); bootstrap.declareBean(Injected.class, null, null, null); Bean blue = new Bean(); Bean red = new Bean(); Bean green = new Bean.Green(); bootstrap.bindProvider(Bean.class, null, Collections.<Annotation>singleton(new ColorizedLiteral(Color.BLUE)), new BeanProvider(blue)); bootstrap.bindProvider(Bean.class, null, Collections.<Annotation>singleton(new ColorizedLiteral(Color.RED)), new BeanProvider(red)); bootstrap.bindProvider(Bean.class, null, Collections.<Annotation>singleton(new ColorizedLiteral(Color.GREEN)), new BeanProvider(green)); boot(); // Injected injected = getBean(Injected.class); assertNotNull(injected); assertSame(blue, injected.blue); assertSame(red, injected.red); assertSame(green, injected.green); } }
@Test public void test() throws Exception { init(); bootstrap.declareBean(Injected.class, null, null, null); Bean blue = new Bean(); Bean red = new Bean(); Bean green = new Bean.Green(); bootstrap.bindProvider(Bean.class, null, Collections.<Annotation>singleton(new ColorizedLiteral(Color.BLUE)), new BeanProvider(blue)); bootstrap.bindProvider(Bean.class, null, Collections.<Annotation>singleton(new ColorizedLiteral(Color.RED)), new BeanProvider(red)); bootstrap.bindProvider(Bean.class, null, Collections.<Annotation>singleton(new ColorizedLiteral(Color.GREEN)), new BeanProvider(green)); boot(); // Injected injected = getBean(Injected.class); assertNotNull(injected); assertSame(blue, injected.blue); assertSame(red, injected.red); assertSame(green, injected.green); } }
@Test public void testProvider() throws Exception { init(); bootstrap.bindProvider(Bean.class, null, null, new BeanProvider()); boot(); // Bean product = getBean(Bean.class); assertNotNull(product); } }
@Test public void testProvider() throws Exception { init(); bootstrap.bindProvider(Bean.class, null, null, new BeanProvider()); boot(); // Bean product = getBean(Bean.class); assertNotNull(product); } }
@Test public void test() throws Exception { BeanProvider provider = new BeanProvider(); // init(); bootstrap.declareBean(Injected.class, null, null, null); bootstrap.bindProvider(Bean.class, Scope.REQUEST, null, provider); boot(Scope.REQUEST); // beginScoping(); try { assertEquals(0, scopingContext.getEntries().size()); Injected injected = getBean(Injected.class); assertNotNull(injected); assertNotNull(injected.injected); String value = injected.injected.getValue(); assertEquals(1, scopingContext.getEntries().size()); ScopedKey key = scopingContext.getEntries().keySet().iterator().next(); assertEquals(Scope.REQUEST, key.getScope()); Bean scoped = (Bean)scopingContext.getEntries().get(key).get(); assertEquals(scoped.getValue(), value); assertSame(scoped, provider.bean); } finally { endScoping(); } } }
@Test public void test() throws Exception { BeanProvider provider = new BeanProvider(); // init(); bootstrap.declareBean(Injected.class, null, null, null); bootstrap.bindProvider(Bean.class, Scope.REQUEST, null, provider); boot(Scope.REQUEST); // beginScoping(); try { assertEquals(0, scopingContext.getEntries().size()); Injected injected = getBean(Injected.class); assertNotNull(injected); assertNotNull(injected.injected); String value = injected.injected.getValue(); assertEquals(1, scopingContext.getEntries().size()); ScopedKey key = scopingContext.getEntries().keySet().iterator().next(); assertEquals(Scope.REQUEST, key.getScope()); Bean scoped = (Bean)scopingContext.getEntries().get(key).get(); assertEquals(scoped.getValue(), value); assertSame(scoped, provider.bean); } finally { endScoping(); } } }