private Constructor<T> getDefaultConstructor() { return webBeansContext.getWebBeansUtil().getNoArgConstructor(annotatedType.getJavaClass()); }
/** * Add a CDI Extension to our internal list. * @param ext Extension to add */ public void addExtension(Extension ext) { Bean<?> bean = webBeansContext.getWebBeansUtil().createExtensionComponent(ext.getClass()); Class<?> extensionClass = ext.getClass(); extensions.put(extensionClass, ext); manager.addBean(bean); }
/** * Creates a new injection resolve for given bean manager. * * @param webBeansContext WebBeansContext */ public InjectionResolver(WebBeansContext webBeansContext) { this.webBeansContext = webBeansContext; alternativesManager = webBeansContext.getAlternativesManager(); startup = true; fastMatching = false; instanceBean = webBeansContext.getWebBeansUtil().getInstanceBean(); eventBean = webBeansContext.getWebBeansUtil().getEventBean(); }
public boolean isContainerEvent(AnnotatedParameter<?> annotatedParameter) { AnnotatedCallable<?> method = annotatedParameter.getDeclaringCallable(); if (!AnnotatedMethod.class.isInstance(method) || method.getParameters().isEmpty()) { return false; } Class<?> paramType = AnnotatedMethod.class.cast(method).getJavaMember().getParameterTypes()[0]; return webBeansContext.getWebBeansUtil().isContainerEventType(paramType); }
private void validateObservers(Collection<ObserverMethod<?>> observerMethods) { for (ObserverMethod<?> observerMethod: observerMethods) { if (observerMethod instanceof OwbObserverMethod) { OwbObserverMethod<?> owbObserverMethod = (OwbObserverMethod<?>)observerMethod; webBeansContext.getWebBeansUtil().validate(owbObserverMethod.getInjectionPoints(), null); } } }
@Override public <T> Producer<T> createProducer(Bean<T> bean) { return webBeansContext.getWebBeansUtil().fireProcessProducerEvent( new ResourceProducer<T, P>(owner, member, webBeansContext, ref), member); } }
/** * Defines enterprise bean via plugin. * @param <T> bean class type * @param clazz bean class */ protected <T> void defineEnterpriseWebBean(Class<T> clazz, AnnotatedType<T> annotatedType, BeanAttributes<T> attributes) { InjectionTargetBean<T> bean = (InjectionTargetBean<T>) EJBWebBeansConfigurator.defineEjbBean( clazz, annotatedType, attributes, webBeansContext); webBeansContext.getWebBeansUtil().setInjectionTargetBeanEnableFlag(bean); }
/** * Check passivation check. */ protected void checkScopeType(String producerName, Object instance) { String errorMessage = "WebBeans producer : %s" + " instance in the component implementation class : %s" + " with passivating scope @%s" + " must be Serializable"; getWebBeansContext().getWebBeansUtil().checkSerializableScopeType(getScope(), Serializable.class.isInstance(instance), errorMessage, producerName, getBeanClass().getName(), getScope().getName()); }
public SpecializationUtil(WebBeansContext webBeansContext) { this.webBeansContext = webBeansContext; this.alternativesManager = webBeansContext.getAlternativesManager(); this.webBeansUtil = webBeansContext.getWebBeansUtil(); this.ejbPlugin = webBeansContext.getPluginLoader().getEjbPlugin(); }
@Override public <T> Producer<T> createProducer(Bean<T> bean) { Set<InjectionPoint> disposalIPs = getInjectionPoints(bean); Producer<T> producer = new ProducerFieldProducer<>(parent, producerField, disposalMethod, disposalIPs, webBeansContext); return webBeansContext.getWebBeansUtil().fireProcessProducerEvent(producer, producerField); }
@Override public <U extends T> CompletionStage<U> fireAsync(U event, NotificationOptions notificationOptions) { Type eventType = event.getClass(); webBeansContext.getWebBeansUtil().validEventType(eventType.getClass(), metadata.getType()); return webBeansContext.getNotificationManager().fireEvent(event, metadata.select(eventType), false, notificationOptions); }
public EventMetadataImpl select(TypeLiteral<?> subtype, Annotation... bindings) { webBeansContext.getWebBeansUtil().checkTypeVariables(subtype); return select(subtype.getType(), bindings); }
/** * Fires event with given event object. */ @Override public void fire(T event) { Type eventType = event.getClass(); webBeansContext.getWebBeansUtil().validEventType(eventType.getClass(), metadata.getType()); webBeansContext.getBeanManagerImpl().fireEvent(event, metadata.select(eventType), false); }
private ProcessBeanAttributesImpl<T> fireProcessBeanAttributes(AnnotatedField<? super T> annotatedField) { return webBeansContext.getWebBeansUtil().fireProcessBeanAttributes( annotatedField, annotatedField.getJavaMember().getType(), BeanAttributesBuilder.forContext(webBeansContext).newBeanAttibutes((AnnotatedField<T>)annotatedField).build()); } }
@Override public <T> Producer<T> createProducer(Bean<T> bean) { Set<InjectionPoint> disposalIPs = getInjectionPoints(bean); Producer<T> producer = new ProducerMethodProducer<>(parent, producerMethod, disposalMethod, createInjectionPoints(bean), disposalIPs, webBeansContext); return webBeansContext.getWebBeansUtil().fireProcessProducerEvent(producer, producerMethod); }
public <X> InjectionPoint buildInjectionPoint(Bean<?> owner, AnnotatedParameter<X> parameter, boolean fireEvent) { Asserts.assertNotNull(parameter, "annotatedParameter"); Set<Annotation> anns = parameter.getAnnotations(); Annotation[] qualifierAnnots = webBeansContext.getAnnotationManager().getQualifierAnnotations(anns.toArray(new Annotation[anns.size()])); InjectionPointImpl injectionPoint = new InjectionPointImpl(owner, Arrays.asList(qualifierAnnots), parameter); if (fireEvent) { GProcessInjectionPoint event = webBeansContext.getWebBeansUtil().fireProcessInjectionPointEvent(injectionPoint); InjectionPoint ip = event.getInjectionPoint(); event.setStarted(); return ip; } return injectionPoint; }
/** * Fires event after deployment valdiation. */ private void fireAfterDeploymentValidationEvent() { BeanManagerImpl manager = webBeansContext.getBeanManagerImpl(); manager.setAfterDeploymentValidationFired(true); AfterDeploymentValidationImpl event = new AfterDeploymentValidationImpl(manager); manager.fireLifecycleEvent(event); webBeansContext.getWebBeansUtil().inspectDeploymentErrorStack( "There are errors that are added by AfterDeploymentValidation event observers. Look at logs for further details"); packageVetoCache.clear(); // no more needed, free the memory event.setStarted(); }
protected Instance<Object> instance() { WebBeansContext webBeansContext = getWebBeansContext(); BeanManagerImpl bm = webBeansContext.getBeanManagerImpl(); CreationalContextImpl<Instance<Object>> creationalContext = bm.createCreationalContext(null); return webBeansContext.getWebBeansUtil().getInstanceBean().create(creationalContext); }
public <T> Producer<T> fireProcessProducerEvent(Producer<T> producer, AnnotatedMember<?> annotatedMember) { GProcessProducer processProducerEvent = new GProcessProducer(producer, annotatedMember); //Fires ProcessProducer webBeansContext.getBeanManagerImpl().fireEvent(processProducerEvent, true, AnnotationUtil.EMPTY_ANNOTATION_ARRAY); webBeansContext.getWebBeansUtil().inspectDefinitionErrorStack("There are errors that are added by ProcessProducer event observers. Look at logs for further details"); Producer prod = processProducerEvent.getProducer(); processProducerEvent.setStarted(); return prod; }
@Override public InjectionTarget<T> createInjectionTarget(final Bean<T> bean) { final EjbInjectionTargetImpl<T> injectionTarget = new EjbInjectionTargetImpl<T>(getAnnotatedType(), createInjectionPoints(bean), getWebBeansContext()); final InjectionTarget<T> it = getWebBeansContext().getWebBeansUtil().fireProcessInjectionTargetEvent(injectionTarget, getAnnotatedType()).getInjectionTarget(); if (!EjbInjectionTargetImpl.class.isInstance(it)) { return new EjbInjectionTargetImpl<T>(injectionTarget, it); } return it; }