@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { InjectionResolver<?> resolver = descriptor.create(root); return resolver.resolve(injectee, root); } }
/* package */ boolean isInjectAnnotation(Annotation annotation, boolean isConstructor) { InjectionResolver<?> resolver; resolver = allResolvers.get(annotation.annotationType()); if (resolver == null) return false; if (isConstructor) { return resolver.isConstructorParameterIndicator(); } return resolver.isMethodParameterIndicator(); }
/** * Injection constructor. * * @param defaultAnalyzer default HK2 class analyzer. * @param resolvers configured injection resolvers. */ @Inject JerseyClassAnalyzer(@Named(ClassAnalyzer.DEFAULT_IMPLEMENTATION_NAME) final ClassAnalyzer defaultAnalyzer, final IterableProvider<InjectionResolver<?>> resolvers) { this.defaultAnalyzer = defaultAnalyzer; final HashSet<Class<? extends Annotation>> tmp = new HashSet<Class<? extends Annotation>>(); for (final InjectionResolver<?> resolver : resolvers) { if (resolver.isConstructorParameterIndicator()) { final ReflectionHelper.DeclaringClassInterfacePair pair = ReflectionHelper.getClass(resolver.getClass(), InjectionResolver.class); final Type paramType = ReflectionHelper.getParameterizedTypeArguments(pair)[0]; final Class<?> paramClass = ReflectionHelper.erasure(paramType); if (Annotation.class.isAssignableFrom(paramClass)) { tmp.add(paramClass.asSubclass(Annotation.class)); } } } this.resolverAnnotations = (tmp.size() > 0) ? Collections.unmodifiableSet(tmp) : Collections.<Class<? extends Annotation>>emptySet(); }
/** * Injection constructor. * * @param defaultAnalyzer default HK2 class analyzer. * @param resolvers configured injection resolvers. */ @Inject JerseyClassAnalyzer(@Named(ClassAnalyzer.DEFAULT_IMPLEMENTATION_NAME) final ClassAnalyzer defaultAnalyzer, final IterableProvider<InjectionResolver<?>> resolvers) { this.defaultAnalyzer = defaultAnalyzer; final HashSet<Class<? extends Annotation>> tmp = new HashSet<Class<? extends Annotation>>(); for (final InjectionResolver<?> resolver : resolvers) { if (resolver.isConstructorParameterIndicator()) { final ReflectionHelper.DeclaringClassInterfacePair pair = ReflectionHelper.getClass(resolver.getClass(), InjectionResolver.class); final Type paramType = ReflectionHelper.getParameterizedTypeArguments(pair)[0]; final Class<?> paramClass = ReflectionHelper.erasure(paramType); if (Annotation.class.isAssignableFrom(paramClass)) { tmp.add(paramClass.asSubclass(Annotation.class)); } } } this.resolverAnnotations = (tmp.size() > 0) ? Collections.unmodifiableSet(tmp) : Collections.<Class<? extends Annotation>>emptySet(); }
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { InjectionResolver<?> resolver = descriptor.create(root); return resolver.resolve(injectee, root); } }
/* package */ boolean isInjectAnnotation(Annotation annotation, boolean isConstructor) { InjectionResolver<?> resolver; resolver = allResolvers.get(annotation.annotationType()); if (resolver == null) return false; if (isConstructor) { return resolver.isConstructorParameterIndicator(); } return resolver.isMethodParameterIndicator(); }
/** * Injection constructor. * * @param defaultAnalyzer default HK2 class analyzer. * @param resolvers configured injection resolvers. */ @Inject JerseyClassAnalyzer(@Named(ClassAnalyzer.DEFAULT_IMPLEMENTATION_NAME) final ClassAnalyzer defaultAnalyzer, final IterableProvider<InjectionResolver<?>> resolvers) { this.defaultAnalyzer = defaultAnalyzer; final HashSet<Class<? extends Annotation>> tmp = new HashSet<Class<? extends Annotation>>(); for (final InjectionResolver<?> resolver : resolvers) { if (resolver.isConstructorParameterIndicator()) { final ReflectionHelper.DeclaringClassInterfacePair pair = ReflectionHelper.getClass(resolver.getClass(), InjectionResolver.class); final Type paramType = ReflectionHelper.getParameterizedTypeArguments(pair)[0]; final Class<?> paramClass = ReflectionHelper.erasure(paramType); if (Annotation.class.isAssignableFrom(paramClass)) { tmp.add(paramClass.asSubclass(Annotation.class)); } } } this.resolverAnnotations = (tmp.size() > 0) ? Collections.unmodifiableSet(tmp) : Collections.<Class<? extends Annotation>>emptySet(); }
Object findThreeThirtyService(Injectee injectee, ServiceHandle root) { //TODO: we need to be able to get the asutal injectee resolver for types //other than @Inject. HK2 no longer provides ability to do that via API //will file a bug. InjectionResolver threeThirtyResolver = serviceLocator.getService(InjectionResolver.class, SYSTEM_RESOLVER_NAME); return threeThirtyResolver.resolve(injectee, root); }
/* package */ boolean isInjectAnnotation(Annotation annotation, boolean isConstructor) { InjectionResolver<?> resolver; resolver = allResolvers.get(annotation.annotationType()); if (resolver == null) return false; if (isConstructor) { return resolver.isConstructorParameterIndicator(); } return resolver.isMethodParameterIndicator(); }
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { InjectionResolver<?> resolver = descriptor.create(root); return resolver.resolve(injectee, root); } }
/* package */ boolean isInjectAnnotation(Annotation annotation, boolean isConstructor) { InjectionResolver<?> resolver; resolver = allResolvers.get(annotation.annotationType()); if (resolver == null) return false; if (isConstructor) { return resolver.isConstructorParameterIndicator(); } return resolver.isMethodParameterIndicator(); }
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { InjectionResolver<?> resolver = descriptor.create(root); return resolver.resolve(injectee, root); } }
Object findThreeThirtyService(Injectee injectee, ServiceHandle root) { //TODO: we need to be able to get the asutal injectee resolver for types //other than @Inject. HK2 no longer provides ability to do that via API //will file a bug. InjectionResolver threeThirtyResolver = injectionManager.getInstance( InjectionResolver.class, new NamedImpl(SYSTEM_RESOLVER_NAME) ); return threeThirtyResolver.resolve(injectee, root); }
private void resolve(Map<SystemInjecteeImpl, Object> addToMe, InjectionResolver<?> resolver, SystemInjecteeImpl injectee, ServiceHandle<?> root, Collector errorCollection) { if (injectee.isSelf()) { addToMe.put(injectee, selfDescriptor); return; } Object addIn = null; try { addIn = resolver.resolve(injectee, root); } catch (Throwable th) { errorCollection.addThrowable(th); } if (addIn != null) { addToMe.put(injectee, addIn); } }
private void resolve(Map<SystemInjecteeImpl, Object> addToMe, InjectionResolver<?> resolver, SystemInjecteeImpl injectee, ServiceHandle<?> root, Collector errorCollection) { if (injectee.isSelf()) { addToMe.put(injectee, selfDescriptor); return; } Object addIn = null; try { addIn = resolver.resolve(injectee, root); } catch (Throwable th) { errorCollection.addThrowable(th); } if (addIn != null) { addToMe.put(injectee, addIn); } }
private void resolve(Map<SystemInjecteeImpl, Object> addToMe, InjectionResolver<?> resolver, SystemInjecteeImpl injectee, ServiceHandle<?> root, Collector errorCollection) { if (injectee.isSelf()) { addToMe.put(injectee, selfDescriptor); return; } Object addIn = null; try { addIn = resolver.resolve(injectee, root); } catch (Throwable th) { errorCollection.addThrowable(th); } if (addIn != null) { addToMe.put(injectee, addIn); } }
private void resolve(Map<SystemInjecteeImpl, Object> addToMe, InjectionResolver<?> resolver, SystemInjecteeImpl injectee, ServiceHandle<?> root, Collector errorCollection) { if (injectee.isSelf()) { addToMe.put(injectee, selfDescriptor); return; } Object addIn = null; try { addIn = resolver.resolve(injectee, root); } catch (Throwable th) { errorCollection.addThrowable(th); } if (addIn != null) { addToMe.put(injectee, addIn); } }
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { Type type = injectee.getRequiredType(); AssistedResolver resolver = null; if (type instanceof Class) { TypedImpl namedType = new TypedImpl((Class) type); resolver = assistedResolvers.qualifiedWith(namedType).get(); } if (resolver == null) { return systemResolver.resolve(injectee, root); } return resolver.resolve(injectee, root) .orElseGet(() -> systemResolver.resolve(injectee, root)); }
args[lcv] = resolver.resolve(injectee, root);