void afterBeanDiscovery(@Observes AfterBeanDiscovery event, BeanManager beanManager) { if (context != null) { for (Scope scope : context.injector.scopes) { if (!scope.isBuiltIn()) { event.addContext(new ContextImpl(context.injector.scopeController, scope, scope.getAnnotationType())); } } // Add the manager event.addBean(new SingletonBean(InjectionContext.class, Tools.set(AbstractBean.DEFAULT_QUALIFIER, AbstractBean.ANY_QUALIFIER), context)); // Add bound beans for (AbstractBean bean : context.injector.boundBeans) { bean.register(beanManager); event.addBean(bean); } } }
@Override public int hashCode() { return scope.hashCode() ^ scoped.hashCode(); } }
@Override public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) { ScopeMetadata metadata = new ScopeMetadata(); if (definition instanceof AnnotatedBeanDefinition) { AnnotatedBeanDefinition annDef = (AnnotatedBeanDefinition)definition; Set<String> annotationTypes = annDef.getMetadata().getAnnotationTypes(); // String scopeName; if (annotationTypes.contains(Singleton.class.getName())) { scopeName = "singleton"; } else { scopeName = "prototype"; for (Scope scope : scopes) { if (annotationTypes.contains(scope.getAnnotationType().getName())) { scopeName = scope.name().toLowerCase(); break; } } } metadata.setScopeName(scopeName); return metadata; } else { return super.resolveScopeMetadata(definition); } } }
@Override void configure(String name, SpringInjector builder, DefaultListableBeanFactory factory) { AnnotatedGenericBeanDefinition definition = new AnnotatedGenericBeanDefinition(type); // if (scope != null) { definition.setScope(scope.name().toLowerCase()); } else { ScopeMetadata scopeMD = builder.scopeResolver.resolveScopeMetadata(definition); if (scopeMD != null) { definition.setScope(scopeMD.getScopeName()); } } // if (qualifiers != null) { for (AutowireCandidateQualifier qualifier : qualifiers) { definition.addQualifier(qualifier); } } // factory.registerBeanDefinition(name, definition); } }
scopeType = scope.getAnnotationType();
juzu.Scope beanScope = scope != null ? juzu.Scope.valueOf(scope.toUpperCase()) : null; Class<?> beanImplClass = implementation != null ? loader.loadClass(implementation) : null;
for (Scope scope : Scope.values()) { injector.addScope(scope);
@Override void configure(String name, SpringInjector builder, DefaultListableBeanFactory factory) { AnnotatedGenericBeanDefinition definition = new AnnotatedGenericBeanDefinition(type); // if (scope != null) { definition.setScope(scope.name().toLowerCase()); } else { ScopeMetadata scopeMD = builder.scopeResolver.resolveScopeMetadata(definition); if (scopeMD != null) { definition.setScope(scopeMD.getScopeName()); } } // if (qualifiers != null) { for (AutowireCandidateQualifier qualifier : qualifiers) { definition.addQualifier(qualifier); } } // factory.registerBeanDefinition(name, definition); } }
scopeType = scope.getAnnotationType();
juzu.Scope beanScope = scope != null ? juzu.Scope.valueOf(scope.toUpperCase()) : null; Class<?> beanImplClass = implementation != null ? loader.loadClass(implementation) : null;
for (Scope scope : Scope.values()) { injector.addScope(scope);
void afterBeanDiscovery(@Observes AfterBeanDiscovery event, BeanManager beanManager) { if (context != null) { for (Scope scope : context.injector.scopes) { if (!scope.isBuiltIn()) { event.addContext(new ContextImpl(context.injector.scopeController, scope, scope.getAnnotationType())); } } // Add the manager event.addBean(new SingletonBean(InjectionContext.class, Tools.set(AbstractBean.DEFAULT_QUALIFIER, AbstractBean.ANY_QUALIFIER), context)); // Add bound beans for (AbstractBean bean : context.injector.boundBeans) { bean.register(beanManager); event.addBean(bean); } } }
@Override public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) { ScopeMetadata metadata = new ScopeMetadata(); if (definition instanceof AnnotatedBeanDefinition) { AnnotatedBeanDefinition annDef = (AnnotatedBeanDefinition)definition; Set<String> annotationTypes = annDef.getMetadata().getAnnotationTypes(); // String scopeName; if (annotationTypes.contains(Singleton.class.getName())) { scopeName = "singleton"; } else { scopeName = "prototype"; for (Scope scope : scopes) { if (annotationTypes.contains(scope.getAnnotationType().getName())) { scopeName = scope.name().toLowerCase(); break; } } } metadata.setScopeName(scopeName); return metadata; } else { return super.resolveScopeMetadata(definition); } } }
definition.setScope(scope.name().toLowerCase());
scopeAnnotation = scope.getAnnotationType();
@Override public int hashCode() { return scope.hashCode() ^ scoped.hashCode(); } }
if (!scope.isBuiltIn()) { bindScope(scope.getAnnotationType(), new GuiceScope(scope, scopeController));
definition.setScope(scope.name().toLowerCase());