public void addBean( final Class type, final Class beanType, final AsyncBeanProvider provider, final boolean singleton, final Annotation[] qualifiers, final String name, final boolean concrete) { if (singleton) { final CreationalCallback creationalCallback = new CreationalCallback() { @Override public void callback(final Object beanInstance) {} @Override public String toString() { return type.getName(); } }; context.getSingletonInstanceOrNew( this, provider, creationalCallback, type, beanType, qualifiers, name); } else { ((AsyncBeanManagerSetup) manager) .addBean(type, beanType, provider, null, qualifiers, name, concrete); } }
public void addBean( final Class type, final Class beanType, final AsyncBeanProvider callback, final boolean singleton, final Annotation[] qualifiers) { if (singleton) { final CreationalCallback creationalCallback = new CreationalCallback() { @Override public void callback(final Object beanInstance) { ((AsyncBeanManagerSetup) manager) .addBean(type, beanType, callback, beanInstance, qualifiers); context.getBeanContext().finish(this); } }; context.getBeanContext().wait(creationalCallback); callback.getInstance(creationalCallback, context); } else { ((AsyncBeanManagerSetup) manager).addBean(type, beanType, callback, null, qualifiers); } }