@Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>());
@Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>());
@Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>());
@Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>());
@Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>());
@Override public T newInstance(CreationalContext<T> ctx, BeanManagerImpl manager) { return getConstructorInjectionPoint().newInstance(manager, ctx); }
@Override public T newInstance(CreationalContext<T> ctx, BeanManagerImpl manager) { return getConstructorInjectionPoint().newInstance(manager, ctx); }
@Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>());
@Override public T newInstance(CreationalContext<T> ctx, BeanManagerImpl manager) { return getConstructorInjectionPoint().newInstance(manager, ctx); }
@Override public T newInstance(CreationalContext<T> ctx, BeanManagerImpl manager) { return getConstructorInjectionPoint().newInstance(manager, ctx); }
@Override public T newInstance(CreationalContext<T> ctx, BeanManagerImpl manager) { return getConstructorInjectionPoint().newInstance(manager, ctx); }
@Override public T newInstance(CreationalContext<T> ctx, BeanManagerImpl manager) { return getConstructorInjectionPoint().newInstance(manager, ctx); }
private T invokeAroundConstructCallbacks(Object[] parameters, CreationalContextImpl<T> ctx) { final List<AroundConstructCallback<T>> callbacks = ctx.getAroundConstructCallbacks(); if (callbacks.isEmpty()) { return newInstance(parameters); } final Iterator<AroundConstructCallback<T>> iterator = callbacks.iterator(); return invokeAroundConstructCallback(iterator.next(), new ConstructionHandle<T>() { @Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>()); }
private T invokeAroundConstructCallbacks(Object[] parameters, CreationalContextImpl<T> ctx) { final List<AroundConstructCallback<T>> callbacks = ctx.getAroundConstructCallbacks(); if (callbacks.isEmpty()) { return newInstance(parameters); } final Iterator<AroundConstructCallback<T>> iterator = callbacks.iterator(); return invokeAroundConstructCallback(iterator.next(), new ConstructionHandle<T>() { @Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>()); }
private T invokeAroundConstructCallbacks(Object[] parameters, CreationalContextImpl<T> ctx) { final List<AroundConstructCallback<T>> callbacks = ctx.getAroundConstructCallbacks(); if (callbacks.isEmpty()) { return newInstance(parameters); } final Iterator<AroundConstructCallback<T>> iterator = callbacks.iterator(); return invokeAroundConstructCallback(iterator.next(), new ConstructionHandle<T>() { @Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>()); }
private T invokeAroundConstructCallbacks(Object[] parameters, CreationalContextImpl<T> ctx) { final List<AroundConstructCallback<T>> callbacks = ctx.getAroundConstructCallbacks(); if (callbacks.isEmpty()) { return newInstance(parameters); } final Iterator<AroundConstructCallback<T>> iterator = callbacks.iterator(); return invokeAroundConstructCallback(iterator.next(), new ConstructionHandle<T>() { @Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>()); }
private T invokeAroundConstructCallbacks(Object[] parameters, CreationalContextImpl<T> ctx) { final List<AroundConstructCallback<T>> callbacks = ctx.getAroundConstructCallbacks(); if (callbacks.isEmpty()) { return newInstance(parameters); } final Iterator<AroundConstructCallback<T>> iterator = callbacks.iterator(); return invokeAroundConstructCallback(iterator.next(), new ConstructionHandle<T>() { @Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>()); }
private T invokeAroundConstructCallbacks(Object[] parameters, CreationalContextImpl<T> ctx) { final List<AroundConstructCallback<T>> callbacks = ctx.getAroundConstructCallbacks(); if (callbacks.isEmpty()) { return newInstance(parameters); } final Iterator<AroundConstructCallback<T>> iterator = callbacks.iterator(); return invokeAroundConstructCallback(iterator.next(), new ConstructionHandle<T>() { @Override public T proceed(Object[] parameters, Map<String, Object> data) { if (iterator.hasNext()) { return invokeAroundConstructCallback(iterator.next(), this, getComponentConstructor(), parameters, data); } else { return newInstance(parameters); } } }, getComponentConstructor(), parameters, new HashMap<String, Object>()); }
public T newInstance(BeanManagerImpl manager, CreationalContext<?> ctx) { CreationalContext<?> transientReferenceContext = null; if (hasTransientReferenceParameter) { transientReferenceContext = manager.createCreationalContext(null); } try { Object[] parameterValues = getParameterValues(manager, ctx, transientReferenceContext); if (ctx instanceof CreationalContextImpl<?>) { CreationalContextImpl<T> weldCtx = Reflections.cast(ctx); return invokeAroundConstructCallbacks(parameterValues, weldCtx); } else { return newInstance(parameterValues); } } finally { if (hasTransientReferenceParameter) { transientReferenceContext.release(); } } }
@Override protected T newInstance(Object[] parameterValues) { // Once the instance is created, a method handler is required regardless of whether // an actual bean instance is known yet. final T instance = super.newInstance(parameterValues); if (decorator) { BeanInstance beanInstance = null; if (hasDelegateInjectionPoint()) { Object decoratorDelegate = parameterValues[delegateInjectionPointPosition]; beanInstance = new TargetBeanInstance(decoratorDelegate); } ProxyFactory.setBeanInstance(contextId, instance, beanInstance, bean); } else { if (instance instanceof ProxyObject) { ((ProxyObject) instance).weld_setHandler(new CombinedInterceptorAndDecoratorStackMethodHandler()); // Set method handler for private methods if necessary InterceptedSubclassFactory.setPrivateMethodHandler(instance); } } return instance; }