/** * {@inheritDoc} */ @Override public Set<InjectionPoint> getInjectionPoints() { return getProducer().getInjectionPoints(); }
@Override public void destroy(T instance, CreationalContext<T> creationalContext) { if (getScope().equals(Dependent.class) && creationalContext instanceof CreationalContextImpl && ((CreationalContextImpl<T>)creationalContext).containsDependent(this, instance)) { // we just have to call release, because release will destroy us since we are @Dependent creationalContext.release(); return; } try { Producer<T> producer = getProducer(); if (producer instanceof InjectionTarget) { InjectionTarget<T> injectionTarget = (InjectionTarget<T>)producer; injectionTarget.preDestroy(instance); } producer.dispose(instance); //Destroy dependent instances creationalContext.release(); } catch(Exception e) { getLogger().log(Level.SEVERE, WebBeansLoggerFacade.constructMessage(OWBLogConst.FATAL_0001, this), e); } }
Producer<T> producer = getProducer(); T instance = producer.produce(creationalContext); if (producer instanceof InjectionTarget && instance != null) // @AroundConstruct can skip proceed and then it returns null
final AbstractOwbBean<?> aob = AbstractOwbBean.class.cast(bean); final Producer producer = aob.getProducer(); implementor = producer.produce(creationalContext); if (producer instanceof InjectionTarget) {
final AbstractOwbBean<?> aob = AbstractOwbBean.class.cast(bean); final Producer producer = aob.getProducer(); implementor = producer.produce(creationalContext); if (producer instanceof InjectionTarget) {