private InterceptorBindings getInterceptorBindings(final String ejbName, final BeanManagerImpl manager) { InterceptorBindings retVal = null; if (ejbName != null) { retVal = interceptorSupport.getInterceptorBindings(ejbName, manager); } else { // This is a managed bean SlimAnnotatedType<?> type = (SlimAnnotatedType<?>) manager.createAnnotatedType(componentClass); if (!manager.getInterceptorModelRegistry().containsKey(type)) { EnhancedAnnotatedType<?> enhancedType = manager.getServices().get(ClassTransformer.class).getEnhancedAnnotatedType(type); InterceptionModelInitializer.of(manager, enhancedType, null).init(); } InterceptionModel model = manager.getInterceptorModelRegistry().get(type); if (model != null) { retVal = new InterceptorBindingsAdapter(manager.getInterceptorModelRegistry().get(type)); } } return retVal != null ? retVal : NullInterceptorBindings.INSTANCE; }
AnnotatedType<?> type = beanManager.createAnnotatedType(interceptor); @SuppressWarnings("rawtypes") InjectionTarget injectionTarget = beanManager.getInjectionTargetFactory(type).createInterceptorInjectionTarget();
@Override public <T> AnnotatedType<T> createAnnotatedType(Class<T> type, String id) { return delegate().createAnnotatedType(type, id); }
@Override protected InterceptionFactory<?> newInstance(InjectionPoint ip, CreationalContext<InterceptionFactory<?>> creationalContext) { AnnotatedParameter<?> annotatedParameter = (AnnotatedParameter<?>) ip.getAnnotated(); ParameterizedType parameterizedType = (ParameterizedType) annotatedParameter.getBaseType(); AnnotatedType<?> annotatedType = beanManager.createAnnotatedType(Reflections.getRawType(parameterizedType.getActualTypeArguments()[0])); return InterceptionFactoryImpl.of(beanManager, creationalContext, annotatedType); }
@Override public <T> AnnotatedTypeConfigurator<T> addAnnotatedType(Class<T> type, String id) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(type)); additionalAnnotatedTypes.add(new AnnotatedTypeRegistration<T>(configurator, id)); return configurator; }
@Override protected InterceptionFactory<?> newInstance(InjectionPoint ip, CreationalContext<InterceptionFactory<?>> creationalContext) { AnnotatedParameter<?> annotatedParameter = (AnnotatedParameter<?>) ip.getAnnotated(); ParameterizedType parameterizedType = (ParameterizedType) annotatedParameter.getBaseType(); AnnotatedType<?> annotatedType = beanManager.createAnnotatedType(Reflections.getRawType(parameterizedType.getActualTypeArguments()[0])); return InterceptionFactoryImpl.of(beanManager, creationalContext, annotatedType); }
@Override protected InterceptionFactory<?> newInstance(InjectionPoint ip, CreationalContext<InterceptionFactory<?>> creationalContext) { AnnotatedParameter<?> annotatedParameter = (AnnotatedParameter<?>) ip.getAnnotated(); ParameterizedType parameterizedType = (ParameterizedType) annotatedParameter.getBaseType(); AnnotatedType<?> annotatedType = beanManager.createAnnotatedType(Reflections.getRawType(parameterizedType.getActualTypeArguments()[0])); return InterceptionFactoryImpl.of(beanManager, creationalContext, annotatedType); }
@Override public <T> AnnotatedTypeConfigurator<T> addAnnotatedType(Class<T> type, String id) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(type)); additionalAnnotatedTypes.add(new AnnotatedTypeRegistration<T>(configurator, id)); return configurator; }
@Override public <T extends Annotation> AnnotatedTypeConfigurator<T> configureInterceptorBinding(Class<T> bindingType) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(bindingType)); additionalInterceptorBindings.add(configurator); BootstrapLogger.LOG.configureInterceptorBindingCalled(getReceiver(), bindingType); return configurator; }
@Override public <T extends Annotation> AnnotatedTypeConfigurator<T> configureQualifier(Class<T> qualifier) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(qualifier)); additionalQualifiers.add(configurator); BootstrapLogger.LOG.configureQualifierCalled(getReceiver(), qualifier); return configurator; }
@Override public <T extends Annotation> AnnotatedTypeConfigurator<T> configureQualifier(Class<T> qualifier) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(qualifier)); additionalQualifiers.add(configurator); BootstrapLogger.LOG.configureQualifierCalled(getReceiver(), qualifier); return configurator; }
@Override public <T extends Annotation> AnnotatedTypeConfigurator<T> configureQualifier(Class<T> qualifier) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(qualifier)); additionalQualifiers.add(configurator); BootstrapLogger.LOG.configureQualifierCalled(getReceiver(), qualifier); return configurator; }
@Override public <T extends Annotation> AnnotatedTypeConfigurator<T> configureInterceptorBinding(Class<T> bindingType) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(bindingType)); additionalInterceptorBindings.add(configurator); BootstrapLogger.LOG.configureInterceptorBindingCalled(getReceiver(), bindingType); return configurator; }
@Override public <T> AnnotatedTypeConfigurator<T> addAnnotatedType(Class<T> type, String id) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(type)); additionalAnnotatedTypes.add(new AnnotatedTypeRegistration<T>(configurator, id)); BootstrapLogger.LOG.addAnnotatedTypeCalledInBBD(getReceiver(), type); return configurator; }
@Override public <T> AnnotatedTypeConfigurator<T> addAnnotatedType(Class<T> type, String id) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(type)); additionalAnnotatedTypes.add(new AnnotatedTypeRegistration<T>(configurator, id)); BootstrapLogger.LOG.addAnnotatedTypeCalledInBBD(getReceiver(), type); return configurator; }
@Override public <T> AnnotatedTypeConfigurator<T> addAnnotatedType(Class<T> type, String id) { checkWithinObserverNotification(); AnnotatedTypeConfiguratorImpl<T> configurator = new AnnotatedTypeConfiguratorImpl<>(getBeanManager().createAnnotatedType(type)); additionalAnnotatedTypes.add(new AnnotatedTypeRegistration<T>(configurator, id)); BootstrapLogger.LOG.addAnnotatedTypeCalledInBBD(getReceiver(), type); return configurator; }
@Override public <T> InjectionTarget<T> createInjectionTarget(EjbDescriptor<T> descriptor) { if (descriptor.isMessageDriven()) { AnnotatedType<T> type = Reflections.cast(createAnnotatedType(descriptor.getBeanClass())); return getLocalInjectionTargetFactory(type).createMessageDrivenInjectionTarget(descriptor); } else { InjectionTarget<T> injectionTarget = getBean(descriptor).getProducer(); return injectionTarget; } }
@Override public <T> InjectionTarget<T> createInjectionTarget(EjbDescriptor<T> descriptor) { if (descriptor.isMessageDriven()) { AnnotatedType<T> type = Reflections.cast(createAnnotatedType(descriptor.getBeanClass())); return getLocalInjectionTargetFactory(type).createMessageDrivenInjectionTarget(descriptor); } else { InjectionTarget<T> injectionTarget = getBean(descriptor).getProducer(); return injectionTarget; } }
@Override public <T> InjectionTarget<T> createInjectionTarget(EjbDescriptor<T> descriptor) { if (descriptor.isMessageDriven()) { AnnotatedType<T> type = Reflections.cast(createAnnotatedType(descriptor.getBeanClass())); return getLocalInjectionTargetFactory(type).createMessageDrivenInjectionTarget(descriptor); } else { InjectionTarget<T> injectionTarget = getBean(descriptor).getProducer(); return injectionTarget; } }
@Override public <T> InjectionTarget<T> createInjectionTarget(EjbDescriptor<T> descriptor) { if (descriptor.isMessageDriven()) { InternalEjbDescriptor<T> internalDescriptor = InternalEjbDescriptor.of(descriptor); AnnotatedType<T> type = Reflections.cast(createAnnotatedType(internalDescriptor.getBeanClass())); return getLocalInjectionTargetFactory(type).createMessageDrivenInjectionTarget(internalDescriptor); } else { InjectionTarget<T> injectionTarget = getBean(descriptor).getProducer(); return injectionTarget; } }