@Bean(name={"airtel"}) public Operator getOperator1() { return new Airtel(); } @Bean(name={"idea"}) public Operator getOperator2() { return new Idea(); }
Class C { public void processStuff(Thinker t) { t.think(); } }
public void dispose(Thinker thinker, @Disposes Idea idea, BeanManager beanManager) { thinker.forget(idea); }
@Test @SpecAssertions({ @SpecAssertion(section = DECLARING_DISPOSER_METHOD, id = "h"), @SpecAssertion(section = DECLARING_PRODUCER_METHOD, id = "i"), @SpecAssertion(section = DISPOSER_METHOD_DISPOSED_PARAMETER, id = "a") }) public void testDisposedParameterPosition() { assertEquals(thinker.getIdeas().size(), 0); Bean<Idea> bean = getUniqueBean(Idea.class); CreationalContext<Idea> ctx = getCurrentManager().createCreationalContext(bean); Idea instance = bean.create(ctx); assertEquals(thinker.getIdeas().size(), 1); bean.destroy(instance, ctx); assertEquals(thinker.getIdeas().size(), 0); }
@Bean public Operator airtel() { return new Airtel(); } @Bean public Operator idea() { return new Idea(); }
@Produces public Idea produce(Thinker thinker) { return thinker.think(); }
public Idea think() { Idea idea = new Idea(UUID.randomUUID().toString()); ideas.add(idea); return idea; }