/** * Does the actual observer registration * * @param observer = */ public void addObserver(ObserverMethod<?> observer) { //checkEventType(observer.getObservedType()); observers.add(observer); for (BeanManagerImpl childActivity : childActivities) { childActivity.addObserver(observer); } }
private void processObserverRegistration(ObserverRegistration registration) { ObserverMethod<?> observerMethod = registration.initObserverMethod(); validateObserverMethod(observerMethod, getBeanManager(), null); BeanManagerImpl manager = getOrCreateBeanDeployment(observerMethod.getBeanClass()).getBeanManager(); if (Observers.isObserverMethodEnabled(observerMethod, manager)) { ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerMethod, registration.extension); if (processedObserver != null) { manager.addObserver(processedObserver); } } }
private void processObserverRegistration(ObserverRegistration registration) { ObserverMethod<?> observerMethod = registration.initObserverMethod(); validateObserverMethod(observerMethod, getBeanManager(), null); BeanManagerImpl manager = getOrCreateBeanDeployment(observerMethod.getBeanClass()).getBeanManager(); if (Observers.isObserverMethodEnabled(observerMethod, manager)) { ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerMethod, registration.extension); if (processedObserver != null) { manager.addObserver(processedObserver); } } }
protected AbstractBeanDeployer<E> deployObserverMethods() { for (ObserverInitializationContext<?, ?> observerInitializer : getEnvironment().getObservers()) { if (Observers.isObserverMethodEnabled(observerInitializer.getObserver(), manager)) { BootstrapLogger.LOG.foundObserverMethod(observerInitializer.getObserver()); ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerInitializer.getObserver()); if (processedObserver != null) { manager.addObserver(processedObserver); } } } return this; }
private void processObserverRegistration(ObserverRegistration registration) { ObserverMethod<?> observerMethod = registration.initObserverMethod(); validateObserverMethod(observerMethod, getBeanManager(), null); BeanManagerImpl manager = getOrCreateBeanDeployment(observerMethod.getBeanClass()).getBeanManager(); if (Observers.isObserverMethodEnabled(observerMethod, manager)) { ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerMethod, registration.extension); if (processedObserver != null) { manager.addObserver(processedObserver); } } }
private void processObserverRegistration(ObserverRegistration registration) { ObserverMethod<?> observerMethod = registration.initObserverMethod(); validateObserverMethod(observerMethod, getBeanManager(), null); BeanManagerImpl manager = getOrCreateBeanDeployment(observerMethod.getBeanClass()).getBeanManager(); if (Observers.isObserverMethodEnabled(observerMethod, manager)) { ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerMethod, registration.extension); if (processedObserver != null) { manager.addObserver(processedObserver); } } }
protected AbstractBeanDeployer<E> deployObserverMethods() { for (ObserverInitializationContext<?, ?> observerInitializer : getEnvironment().getObservers()) { if (Observers.isObserverMethodEnabled(observerInitializer.getObserver(), manager)) { BootstrapLogger.LOG.foundObserverMethod(observerInitializer.getObserver()); ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerInitializer.getObserver()); if (processedObserver != null) { manager.addObserver(processedObserver); } } } return this; }
protected AbstractBeanDeployer<E> deployObserverMethods() { for (ObserverInitializationContext<?, ?> observerInitializer : getEnvironment().getObservers()) { if (Observers.isObserverMethodEnabled(observerInitializer.getObserver(), manager)) { BootstrapLogger.LOG.foundObserverMethod(observerInitializer.getObserver()); ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerInitializer.getObserver()); if (processedObserver != null) { manager.addObserver(processedObserver); } } } return this; }
protected AbstractBeanDeployer<E> deployObserverMethods() { for (ObserverInitializationContext<?, ?> observerInitializer : getEnvironment().getObservers()) { if (Observers.isObserverMethodEnabled(observerInitializer.getObserver(), manager)) { BootstrapLogger.LOG.foundObserverMethod(observerInitializer.getObserver()); ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerInitializer.getObserver()); if (processedObserver != null) { manager.addObserver(processedObserver); } } } return this; }
private void processObserverRegistration(ObserverRegistration registration) { ObserverMethod<?> observerMethod = registration.initObserverMethod(); validateObserverMethod(observerMethod, getBeanManager(), null); BeanManagerImpl manager = getOrCreateBeanDeployment(observerMethod.getBeanClass()).getBeanManager(); if (Observers.isObserverMethodEnabled(observerMethod, manager)) { ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerMethod, registration.extension); if (processedObserver != null) { manager.addObserver(processedObserver); } } }
protected AbstractBeanDeployer<E> deployObserverMethods() { for (ObserverInitializationContext<?, ?> observerInitializer : getEnvironment().getObservers()) { if (Observers.isObserverMethodEnabled(observerInitializer.getObserver(), manager)) { BootstrapLogger.LOG.foundObserverMethod(observerInitializer.getObserver()); ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observerInitializer.getObserver()); if (processedObserver != null) { manager.addObserver(processedObserver); } } } return this; }
protected AbstractBeanDeployer<E> deployObserverMethods() { // TODO -- why do observers have to be the last? for (ObserverInitializationContext<?, ?> observerInitializer : getEnvironment().getObservers()) { if (Observers.isObserverMethodEnabled(observerInitializer.getObserver(), manager)) { BootstrapLogger.LOG.foundObserverMethod(observerInitializer.getObserver()); ProcessObserverMethodImpl.fire(manager, observerInitializer.getObserver()); manager.addObserver(observerInitializer.getObserver()); } } return this; }
/** * Bean and observer registration is delayed until after all {@link AfterBeanDiscovery} observers are notified. */ private void finish() { try { for (Bean<?> bean : additionalBeans) { processBean(bean); } for (ObserverMethod<?> observer : additionalObservers) { BeanManagerImpl manager = getOrCreateBeanDeployment(observer.getBeanClass()).getBeanManager(); if (Observers.isObserverMethodEnabled(observer, manager)) { ProcessObserverMethodImpl.fire(manager, observer); manager.addObserver(observer); } } } catch (Exception e) { throw new DefinitionException(e); } } }
private <E extends Extension> void deployBean(Metadata<E> extension, ClassTransformer classTransformer) { // Locate the BeanDeployment for this extension BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, bdaMapping, contexts, extension.getValue() .getClass()); EnhancedAnnotatedType<E> enchancedAnnotatedType = getEnhancedAnnotatedType(classTransformer, extension, beanDeployment); if (enchancedAnnotatedType != null) { ExtensionBean<E> bean = new ExtensionBean<E>(beanDeployment.getBeanManager(), enchancedAnnotatedType, extension); Set<ObserverInitializationContext<?, ?>> observerMethodInitializers = new HashSet<ObserverInitializationContext<?, ?>>(); createObserverMethods(bean, beanDeployment.getBeanManager(), enchancedAnnotatedType, observerMethodInitializers); beanDeployment.getBeanManager().addBean(bean); beanDeployment.getBeanDeployer().addExtension(bean); for (ObserverInitializationContext<?, ?> observerMethodInitializer : observerMethodInitializers) { observerMethodInitializer.initialize(); beanDeployment.getBeanManager().addObserver(observerMethodInitializer.getObserver()); containerLifecycleEventObservers.processObserverMethod(observerMethodInitializer.getObserver()); } BootstrapLogger.LOG.extensionBeanDeployed(bean); } }
private <E extends Extension> void deployBean(Metadata<E> extension, ClassTransformer classTransformer) { // Locate the BeanDeployment for this extension BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, bdaMapping, contexts, extension.getValue() .getClass()); // Do not register synthetic extension as a bean, only register container lifecycle observer methods if (extension.getValue() instanceof SyntheticExtension) { SyntheticExtension synthetic = (SyntheticExtension) extension.getValue(); synthetic.initialize(beanDeployment.getBeanManager()); for (ObserverMethod<?> observer : synthetic.getObservers()) { beanDeployment.getBeanManager().addObserver(observer); containerLifecycleEventObservers.processObserverMethod(observer); } return; } EnhancedAnnotatedType<E> enchancedAnnotatedType = getEnhancedAnnotatedType(classTransformer, extension, beanDeployment); if (enchancedAnnotatedType != null) { ExtensionBean<E> bean = new ExtensionBean<E>(beanDeployment.getBeanManager(), enchancedAnnotatedType, extension); Set<ObserverInitializationContext<?, ?>> observerMethodInitializers = new HashSet<ObserverInitializationContext<?, ?>>(); createObserverMethods(bean, beanDeployment.getBeanManager(), enchancedAnnotatedType, observerMethodInitializers); beanDeployment.getBeanManager().addBean(bean); beanDeployment.getBeanDeployer().addExtension(bean); for (ObserverInitializationContext<?, ?> observerMethodInitializer : observerMethodInitializers) { observerMethodInitializer.initialize(); beanDeployment.getBeanManager().addObserver(observerMethodInitializer.getObserver()); containerLifecycleEventObservers.processObserverMethod(observerMethodInitializer.getObserver()); } BootstrapLogger.LOG.extensionBeanDeployed(bean); } }
private <E extends Extension> void deployBean(Metadata<E> extension, ClassTransformer classTransformer) { // Locate the BeanDeployment for this extension BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, bdaMapping, contexts, extension.getValue() .getClass()); // Do not register synthetic extension as a bean, only register container lifecycle observer methods if (extension.getValue() instanceof SyntheticExtension) { SyntheticExtension synthetic = (SyntheticExtension) extension.getValue(); synthetic.initialize(beanDeployment.getBeanManager()); for (ObserverMethod<?> observer : synthetic.getObservers()) { beanDeployment.getBeanManager().addObserver(observer); containerLifecycleEventObservers.processObserverMethod(observer); } return; } EnhancedAnnotatedType<E> enchancedAnnotatedType = getEnhancedAnnotatedType(classTransformer, extension, beanDeployment); if (enchancedAnnotatedType != null) { ExtensionBean<E> bean = new ExtensionBean<E>(beanDeployment.getBeanManager(), enchancedAnnotatedType, extension); Set<ObserverInitializationContext<?, ?>> observerMethodInitializers = new HashSet<ObserverInitializationContext<?, ?>>(); createObserverMethods(bean, beanDeployment.getBeanManager(), enchancedAnnotatedType, observerMethodInitializers); beanDeployment.getBeanManager().addBean(bean); beanDeployment.getBeanDeployer().addExtension(bean); for (ObserverInitializationContext<?, ?> observerMethodInitializer : observerMethodInitializers) { observerMethodInitializer.initialize(); beanDeployment.getBeanManager().addObserver(observerMethodInitializer.getObserver()); containerLifecycleEventObservers.processObserverMethod(observerMethodInitializer.getObserver()); } BootstrapLogger.LOG.extensionBeanDeployed(bean); } }
private <E extends Extension> void deployBean(Metadata<E> extension, ClassTransformer classTransformer) { // Locate the BeanDeployment for this extension BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, bdaMapping, contexts, extension.getValue() .getClass()); // Do not register synthetic extension as a bean, only register container lifecycle observer methods if (extension.getValue() instanceof SyntheticExtension) { SyntheticExtension synthetic = (SyntheticExtension) extension.getValue(); synthetic.initialize(beanDeployment.getBeanManager()); for (ObserverMethod<?> observer : synthetic.getObservers()) { beanDeployment.getBeanManager().addObserver(observer); containerLifecycleEventObservers.processObserverMethod(observer); } return; } EnhancedAnnotatedType<E> enchancedAnnotatedType = getEnhancedAnnotatedType(classTransformer, extension, beanDeployment); if (enchancedAnnotatedType != null) { ExtensionBean<E> bean = new ExtensionBean<E>(beanDeployment.getBeanManager(), enchancedAnnotatedType, extension); Set<ObserverInitializationContext<?, ?>> observerMethodInitializers = new HashSet<ObserverInitializationContext<?, ?>>(); createObserverMethods(bean, beanDeployment.getBeanManager(), enchancedAnnotatedType, observerMethodInitializers); beanDeployment.getBeanManager().addBean(bean); beanDeployment.getBeanDeployer().addExtension(bean); for (ObserverInitializationContext<?, ?> observerMethodInitializer : observerMethodInitializers) { observerMethodInitializer.initialize(); beanDeployment.getBeanManager().addObserver(observerMethodInitializer.getObserver()); containerLifecycleEventObservers.processObserverMethod(observerMethodInitializer.getObserver()); } BootstrapLogger.LOG.extensionBeanDeployed(bean); } }
private <E extends Extension> void deployBean(Metadata<E> extension, ClassTransformer classTransformer) { // Locate the BeanDeployment for this extension BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, bdaMapping, contexts, extension.getValue() .getClass()); // Do not register synthetic extension as a bean, only register container lifecycle observer methods if (extension.getValue() instanceof SyntheticExtension) { SyntheticExtension synthetic = (SyntheticExtension) extension.getValue(); synthetic.initialize(beanDeployment.getBeanManager()); for (ObserverMethod<?> observer : synthetic.getObservers()) { beanDeployment.getBeanManager().addObserver(observer); containerLifecycleEventObservers.processObserverMethod(observer); } return; } EnhancedAnnotatedType<E> enchancedAnnotatedType = getEnhancedAnnotatedType(classTransformer, extension, beanDeployment); if (enchancedAnnotatedType != null) { ExtensionBean<E> bean = new ExtensionBean<E>(beanDeployment.getBeanManager(), enchancedAnnotatedType, extension); Set<ObserverInitializationContext<?, ?>> observerMethodInitializers = new HashSet<ObserverInitializationContext<?, ?>>(); createObserverMethods(bean, beanDeployment.getBeanManager(), enchancedAnnotatedType, observerMethodInitializers); beanDeployment.getBeanManager().addBean(bean); beanDeployment.getBeanDeployer().addExtension(bean); for (ObserverInitializationContext<?, ?> observerMethodInitializer : observerMethodInitializers) { observerMethodInitializer.initialize(); beanDeployment.getBeanManager().addObserver(observerMethodInitializer.getObserver()); containerLifecycleEventObservers.processObserverMethod(observerMethodInitializer.getObserver()); } BootstrapLogger.LOG.extensionBeanDeployed(bean); } }
private <E extends Extension> void deployBean(Metadata<E> extension, ClassTransformer classTransformer) { // Locate the BeanDeployment for this extension BeanDeployment beanDeployment = DeploymentStructures.getOrCreateBeanDeployment(deployment, beanManager, bdaMapping, contexts, extension.getValue() .getClass()); // Do not register synthetic extension as a bean, only register container lifecycle observer methods if (extension.getValue() instanceof SyntheticExtension) { SyntheticExtension synthetic = (SyntheticExtension) extension.getValue(); synthetic.initialize(beanDeployment.getBeanManager()); for (ObserverMethod<?> observer : synthetic.getObservers()) { beanDeployment.getBeanManager().addObserver(observer); containerLifecycleEventObservers.processObserverMethod(observer); } return; } EnhancedAnnotatedType<E> enchancedAnnotatedType = getEnhancedAnnotatedType(classTransformer, extension, beanDeployment); if (enchancedAnnotatedType != null) { ExtensionBean<E> bean = new ExtensionBean<E>(beanDeployment.getBeanManager(), enchancedAnnotatedType, extension); Set<ObserverInitializationContext<?, ?>> observerMethodInitializers = new HashSet<ObserverInitializationContext<?, ?>>(); createObserverMethods(bean, beanDeployment.getBeanManager(), enchancedAnnotatedType, observerMethodInitializers); beanDeployment.getBeanManager().addBean(bean); beanDeployment.getBeanDeployer().addExtension(bean); for (ObserverInitializationContext<?, ?> observerMethodInitializer : observerMethodInitializers) { observerMethodInitializer.initialize(); beanDeployment.getBeanManager().addObserver(observerMethodInitializer.getObserver()); containerLifecycleEventObservers.processObserverMethod(observerMethodInitializer.getObserver()); } BootstrapLogger.LOG.extensionBeanDeployed(bean); } }