/** * 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()); } }
private void checkNoArgsConstructor(EnhancedAnnotatedType<T> type) { if (!beanManager.getServices().get(ProxyInstantiator.class).isUsingConstructor()) { return; } EnhancedAnnotatedConstructor<T> constructor = type.getNoArgsEnhancedConstructor(); if (constructor == null) { throw BeanLogger.LOG.decoratedHasNoNoargsConstructor(this); } else if (constructor.isPrivate()) { throw BeanLogger.LOG .decoratedNoargsConstructorIsPrivate(this, Formats.formatAsStackTraceElement(constructor.getJavaMember())); } }
public Constructor<T> getJavaMember() { return delegate().getJavaMember(); }
protected ConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> declaringBean, Class<?> declaringComponentClass, InjectionPointFactory factory, BeanManagerImpl manager) { super(constructor, declaringBean, declaringComponentClass, false, factory, manager); this.constructor = constructor.slim(); this.signature = constructor.getSignature(); this.accessibleConstructor = AccessController.doPrivileged(new GetAccessibleCopyOfMember<Constructor<T>>(constructor.getJavaMember())); }
protected ConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> declaringBean, Class<?> declaringComponentClass, InjectionPointFactory factory, BeanManagerImpl manager) { super(constructor, declaringBean, declaringComponentClass, false, factory, manager); this.constructor = constructor.slim(); this.signature = constructor.getSignature(); this.accessibleConstructor = AccessController.doPrivileged(new GetAccessibleCopyOfMember<Constructor<T>>(constructor.getJavaMember())); }
protected ConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> declaringBean, Class<?> declaringComponentClass, InjectionPointFactory factory, BeanManagerImpl manager) { super(constructor, declaringBean, declaringComponentClass, false, factory, manager); this.constructor = constructor.slim(); this.signature = constructor.getSignature(); this.accessibleConstructor = AccessController.doPrivileged(new GetAccessibleCopyOfMember<Constructor<T>>(constructor.getJavaMember())); }
protected ConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> declaringBean, Class<?> declaringComponentClass, InjectionPointFactory factory, BeanManagerImpl manager) { super(constructor, declaringBean, declaringComponentClass, false, factory, manager); this.constructor = constructor.slim(); this.signature = constructor.getSignature(); this.accessibleConstructor = AccessController.doPrivileged(new GetAccessibleCopyOfMember<Constructor<T>>(constructor.getJavaMember())); }
protected ConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> declaringBean, Class<?> declaringComponentClass, InjectionPointFactory factory, BeanManagerImpl manager) { super(constructor, declaringBean, declaringComponentClass, false, factory, manager); this.constructor = constructor.slim(); this.signature = constructor.getSignature(); this.accessibleConstructor = AccessController.doPrivileged(new GetAccessibleCopyOfMember<Constructor<T>>(constructor.getJavaMember())); }
protected ConstructorInjectionPoint(EnhancedAnnotatedConstructor<T> constructor, Bean<T> declaringBean, Class<?> declaringComponentClass, InjectionPointFactory factory, BeanManagerImpl manager) { super(constructor, declaringBean, declaringComponentClass, false, factory, manager); this.constructor = constructor.slim(); this.signature = constructor.getSignature(); this.accessibleConstructor = AccessController.doPrivileged(new GetAccessibleCopyOfMember<Constructor<T>>(constructor.getJavaMember())); }
/** * The overridden equals operation * * @param other The instance to compare to * @return True if equal, false otherwise */ @Override public boolean equals(Object other) { if (super.equals(other) && other instanceof EnhancedAnnotatedConstructor<?>) { EnhancedAnnotatedConstructor<?> that = (EnhancedAnnotatedConstructor<?>) other; return this.getJavaMember().equals(that.getJavaMember()) && this.getEnhancedParameters().equals(that.getEnhancedParameters()); } return false; }
/** * The overridden equals operation * * @param other The instance to compare to * @return True if equal, false otherwise */ @Override public boolean equals(Object other) { if (super.equals(other) && other instanceof EnhancedAnnotatedConstructor<?>) { EnhancedAnnotatedConstructor<?> that = (EnhancedAnnotatedConstructor<?>) other; return this.getJavaMember().equals(that.getJavaMember()) && this.getEnhancedParameters().equals(that.getEnhancedParameters()); } return false; }
/** * The overridden equals operation * * @param other The instance to compare to * @return True if equal, false otherwise */ @Override public boolean equals(Object other) { if (super.equals(other) && other instanceof EnhancedAnnotatedConstructor<?>) { EnhancedAnnotatedConstructor<?> that = (EnhancedAnnotatedConstructor<?>) other; return this.getJavaMember().equals(that.getJavaMember()) && this.getEnhancedParameters().equals(that.getEnhancedParameters()); } return false; }
/** * The overridden equals operation * * @param other The instance to compare to * @return True if equal, false otherwise */ @Override public boolean equals(Object other) { if (super.equals(other) && other instanceof EnhancedAnnotatedConstructor<?>) { EnhancedAnnotatedConstructor<?> that = (EnhancedAnnotatedConstructor<?>) other; return this.getJavaMember().equals(that.getJavaMember()) && this.getEnhancedParameters().equals(that.getEnhancedParameters()); } return false; }
/** * The overridden equals operation * * @param other The instance to compare to * @return True if equal, false otherwise */ @Override public boolean equals(Object other) { if (super.equals(other) && other instanceof EnhancedAnnotatedConstructor<?>) { EnhancedAnnotatedConstructor<?> that = (EnhancedAnnotatedConstructor<?>) other; return this.getJavaMember().equals(that.getJavaMember()) && this.getEnhancedParameters().equals(that.getEnhancedParameters()); } return false; }
public static <T> SubclassedComponentInstantiator<T> forSubclassedEjb(EnhancedAnnotatedType<T> componentType, EnhancedAnnotatedType<T> subclass, Bean<T> bean, BeanManagerImpl manager) { final EnhancedAnnotatedConstructor<T> componentConstructor = Beans.getBeanConstructor(componentType); final EnhancedAnnotatedConstructor<T> subclassConstructor = findMatchingConstructor(componentConstructor.getSignature(), subclass); final ConstructorInjectionPoint<T> cip = InjectionPointFactory.instance().createConstructorInjectionPoint(bean, componentType.getJavaClass(), subclassConstructor, manager); return new SubclassedComponentInstantiator<T>(cip, componentConstructor.getJavaMember()); }
public static <T> SubclassedComponentInstantiator<T> forSubclassedEjb(EnhancedAnnotatedType<T> componentType, EnhancedAnnotatedType<T> subclass, Bean<T> bean, BeanManagerImpl manager) { final EnhancedAnnotatedConstructor<T> componentConstructor = Beans.getBeanConstructor(componentType); final EnhancedAnnotatedConstructor<T> subclassConstructor = findMatchingConstructor(componentConstructor.getSignature(), subclass); final ConstructorInjectionPoint<T> cip = InjectionPointFactory.instance().createConstructorInjectionPoint(bean, componentType.getJavaClass(), subclassConstructor, manager); return new SubclassedComponentInstantiator<T>(cip, componentConstructor.getJavaMember()); }
public static <T> SubclassedComponentInstantiator<T> forSubclassedEjb(EnhancedAnnotatedType<T> componentType, EnhancedAnnotatedType<T> subclass, Bean<T> bean, BeanManagerImpl manager) { final EnhancedAnnotatedConstructor<T> componentConstructor = Beans.getBeanConstructor(componentType); final EnhancedAnnotatedConstructor<T> subclassConstructor = findMatchingConstructor(componentConstructor.getSignature(), subclass); final ConstructorInjectionPoint<T> cip = InjectionPointFactory.instance().createConstructorInjectionPoint(bean, componentType.getJavaClass(), subclassConstructor, manager); return new SubclassedComponentInstantiator<T>(cip, componentConstructor.getJavaMember()); }
public static <T> SubclassedComponentInstantiator<T> forSubclassedEjb(EnhancedAnnotatedType<T> componentType, EnhancedAnnotatedType<T> subclass, Bean<T> bean, BeanManagerImpl manager) { final EnhancedAnnotatedConstructor<T> componentConstructor = Beans.getBeanConstructor(componentType); final EnhancedAnnotatedConstructor<T> subclassConstructor = findMatchingConstructor(componentConstructor.getSignature(), subclass); final ConstructorInjectionPoint<T> cip = InjectionPointFactory.instance().createConstructorInjectionPoint(bean, componentType.getJavaClass(), subclassConstructor, manager); return new SubclassedComponentInstantiator<T>(cip, componentConstructor.getJavaMember()); }
public static <T> SubclassedComponentInstantiator<T> forSubclassedEjb(EnhancedAnnotatedType<T> componentType, EnhancedAnnotatedType<T> subclass, Bean<T> bean, BeanManagerImpl manager) { final EnhancedAnnotatedConstructor<T> componentConstructor = Beans.getBeanConstructor(componentType); final EnhancedAnnotatedConstructor<T> subclassConstructor = findMatchingConstructor(componentConstructor.getSignature(), subclass); final ConstructorInjectionPoint<T> cip = InjectionPointFactory.instance().createConstructorInjectionPoint(bean, componentType.getJavaClass(), subclassConstructor, manager); return new SubclassedComponentInstantiator<T>(cip, componentConstructor.getJavaMember()); }
public static <T> SubclassedComponentInstantiator<T> forSubclassedEjb(EnhancedAnnotatedType<T> componentType, EnhancedAnnotatedType<T> subclass, Bean<T> bean, BeanManagerImpl manager) { final EnhancedAnnotatedConstructor<T> componentConstructor = Beans.getBeanConstructor(componentType); final EnhancedAnnotatedConstructor<T> subclassConstructor = findMatchingConstructor(componentConstructor.getSignature(), subclass); final ConstructorInjectionPoint<T> cip = InjectionPointFactory.instance().createConstructorInjectionPoint(bean, componentType.getJavaClass(), subclassConstructor, manager); return new SubclassedComponentInstantiator<T>(cip, componentConstructor.getJavaMember()); }