@Override public String toString() { return "JerseyInstantiator [constructor=" + injectionPoint.getMember() + "]"; }
@Override public Constructor<T> getConstructor() { return injectionPoint.getAnnotated().getJavaMember(); }
private void buildInterceptionModel(EnhancedAnnotatedType<T> annotatedType, AbstractInstantiator<T> instantiator) { new InterceptionModelInitializer<>(beanManager, annotatedType, annotatedType.getDeclaredEnhancedConstructor( instantiator.getConstructorInjectionPoint().getSignature()), getBean()).init(); }
private void initializeProcessors() { resourceInjectionProcessors.add(new PersistenceUnitResourceInjectionProcessor()); resourceInjectionProcessors.add(new PersistenceContextResourceInjectionProcessor()); resourceInjectionProcessors.add(new ResourceResourceInjectionProcessor()); resourceInjectionProcessors.add(new WebServiceResourceInjectionProcessor()); }
public static Annotated getResourceAnnotated(InjectionPoint injectionPoint) { if(injectionPoint instanceof ParameterInjectionPoint) { return ((ParameterInjectionPoint<?, ?>)injectionPoint).getAnnotated().getDeclaringCallable(); } return injectionPoint.getAnnotated(); }
/** * Calls all initializers of the bean * * @param instance The bean instance */ public static <T> void callInitializers(T instance, CreationalContext<T> creationalContext, BeanManagerImpl manager, Iterable<? extends MethodInjectionPoint<?, ?>> initializerMethods) { for (MethodInjectionPoint<?, ?> initializer : initializerMethods) { initializer.invoke(instance, null, manager, creationalContext, CreationException.class); } }
/** * Creates an injection point without firing the {@link ProcessInjectionPoint} event. */ public static <T, X> FieldInjectionPoint<T, X> silent(FieldInjectionPointAttributes<T, X> attributes) { return new FieldInjectionPoint<T, X>(attributes); }
/** * Creates a new constructor injection point suitable for Jersey components. * * @param constructor resolved constructor that can be injected using Jersey. * @param bean bean descriptor dedicated to the parent class. * @param manager current bean manager. * @param resolvers all registered resolvers. */ public JerseyConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> bean, BeanManagerImpl manager, Collection<InjectionResolver> resolvers) { super(constructor, null, constructor.getJavaClass(), InjectionPointFactory.instance(), manager); List<InjecteeToSupplier> valueSuppliers = createValueSuppliers(constructor.getJavaMember(), getParameterInjectionPoints(), resolvers); /* * Caches either created proxies if the component class is not RequestScoped or caches the supplier that just create * values every component creates. */ if (proxyResolver.isPrixiable(bean.getScope())) { this.cachedProxies = generateProxies(valueSuppliers); } else { this.cachedSuppliers = valueSuppliers.stream() .map(is -> is.supplier) .collect(Collectors.toList()); } }
@Override public void invalidate() { /* * This cached item is being invalidated. * It does not necessarily mean that the request is being destroyed - it may just be the case that it is being flushed in the middle * of a request (e.g. for AlterableContext.destroy()). * Therefore, we cannot remove the stack now but we just set removeWhenEmpty flag and let it remove itself once the stack gets empty. */ removeWhenEmpty = true; removeIfEmpty(); } }
/** * Injects bound fields * * @param instance The instance to inject into */ public static <T> void injectBoundFields(T instance, CreationalContext<T> creationalContext, BeanManagerImpl manager, Iterable<? extends FieldInjectionPoint<?, ?>> injectableFields) { for (FieldInjectionPoint<?, ?> injectableField : injectableFields) { injectableField.inject(instance, manager, creationalContext); } }
/** * Creates an injection point without firing the {@link ProcessInjectionPoint} event. */ public static <T, X> ParameterInjectionPointImpl<T, X> silent(ParameterInjectionPointAttributes<T, X> attributes) { return new ParameterInjectionPointImpl<T, X>(attributes); }
private void initializeProcessors() { resourceInjectionProcessors.add(new PersistenceUnitResourceInjectionProcessor()); resourceInjectionProcessors.add(new PersistenceContextResourceInjectionProcessor()); resourceInjectionProcessors.add(new ResourceResourceInjectionProcessor()); resourceInjectionProcessors.add(new WebServiceResourceInjectionProcessor()); }
/** * Maps the parameters of the selected constructor to the injection resolver. * * @param params all parameters of a constructor. * @param resolvers registered injection resolvers. * @return map of the parameter to injection resolver. */ private List<InjecteeToSupplier> createValueSuppliers(Constructor<T> constructor, List<ParameterInjectionPoint<?, T>> params, Collection<InjectionResolver> resolvers) { List<InjecteeToSupplier> suppliers = new ArrayList<>(); Map<? extends Class<?>, InjectionResolver> injectAnnotations = InjectionUtils.mapAnnotationToResolver(resolvers); for (int i = 0; i < params.size(); i++) { Parameter parameter = params.get(i).getAnnotated().getJavaParameter(); InjectionResolver resolver = InjectionUtils.findResolver(injectAnnotations, parameter); Injectee injectee = parameterToInjectee(constructor, parameter, i); suppliers.add(new InjecteeToSupplier(injectee, () -> resolver.resolve(injectee))); } return suppliers; }
/** * Calls all initializers of the bean * * @param instance The bean instance */ public static <T> void callInitializers(T instance, CreationalContext<T> creationalContext, BeanManagerImpl manager, Iterable<? extends MethodInjectionPoint<?, ?>> initializerMethods) { for (MethodInjectionPoint<?, ?> initializer : initializerMethods) { initializer.invoke(instance, null, manager, creationalContext, CreationException.class); } }
/** * Creates an injection point without firing the {@link ProcessInjectionPoint} event. */ public static <T, X> FieldInjectionPoint<T, X> silent(FieldInjectionPointAttributes<T, X> attributes) { return new FieldInjectionPoint<T, X>(attributes); }
private void initializeProcessors() { resourceInjectionProcessors.add(new PersistenceUnitResourceInjectionProcessor()); resourceInjectionProcessors.add(new PersistenceContextResourceInjectionProcessor()); resourceInjectionProcessors.add(new ResourceResourceInjectionProcessor()); resourceInjectionProcessors.add(new WebServiceResourceInjectionProcessor()); }
private void initializeProcessors() { resourceInjectionProcessors.add(new PersistenceUnitResourceInjectionProcessor()); resourceInjectionProcessors.add(new PersistenceContextResourceInjectionProcessor()); resourceInjectionProcessors.add(new ResourceResourceInjectionProcessor()); resourceInjectionProcessors.add(new WebServiceResourceInjectionProcessor()); }
private void initializeProcessors() { resourceInjectionProcessors.add(new PersistenceUnitResourceInjectionProcessor()); resourceInjectionProcessors.add(new PersistenceContextResourceInjectionProcessor()); resourceInjectionProcessors.add(new ResourceResourceInjectionProcessor()); resourceInjectionProcessors.add(new WebServiceResourceInjectionProcessor()); }
private List<ResourceInjectionProcessor<?, ?>> initializeProcessors() { List<ResourceInjectionProcessor<?, ?>> processors = new ArrayList<ResourceInjectionFactory.ResourceInjectionProcessor<?, ?>>(); processors.add(new EjbResourceInjectionProcessor()); processors.add(new PersistenceUnitResourceInjectionProcessor()); processors.add(new PersistenceContextResourceInjectionProcessor()); processors.add(new ResourceResourceInjectionProcessor()); processors.add(new WebServiceResourceInjectionProcessor()); return processors; }