/** * Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed * as a parameter are NOT considered in the resolution process. Therefore, the caller is responsible for filtering of transitive interceptor bindings in * order to comply with interceptor binding inheritance and overriding (See JSR-346 9.5.2). This is a Weld-specific method. * * @param type The interception type to resolve * @param interceptorBindings The binding types to match * @return A list of matching interceptors */ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings) { // We can always cache as this is only ever called by Weld where we avoid non-static inner classes for annotation literals InterceptorResolvable interceptorResolvable = new InterceptorResolvableBuilder(Object.class, this).setInterceptionType(type) .addQualifiers(interceptorBindings).create(); return interceptorResolver.resolve(interceptorResolvable, isCacheable(interceptorBindings)); }
@Override protected void checkQualifier(Annotation qualifier,final QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) { if (!getMetaAnnotationStore().getInterceptorBindingModel(annotationType).isValid()) { throw BeanManagerLogger.LOG.interceptorResolutionWithNonbindingType(qualifier); } if (qualifierInstances.contains(qualifierInstance)) { throw BeanManagerLogger.LOG.duplicateInterceptorBinding(qualifierInstance); } }
@Override protected void checkQualifier(Annotation qualifier, QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) { if (!getMetaAnnotationStore().getInterceptorBindingModel(annotationType).isValid()) { throw BeanManagerLogger.LOG.interceptorResolutionWithNonbindingType(qualifier); } if (annotationTypes.contains(annotationType)) { throw BeanManagerLogger.LOG.duplicateInterceptorBinding(qualifier); } }
/** * Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed * as a parameter are NOT considered in the resolution process. Therefore, the caller is responsible for filtering of transitive interceptor bindings in * order to comply with interceptor binding inheritance and overriding (See JSR-346 9.5.2). This is a Weld-specific method. * * @param type The interception type to resolve * @param interceptorBindings The binding types to match * @return A list of matching interceptors */ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings) { // We can always cache as this is only ever called by Weld where we avoid non-static inner classes for annotation literals InterceptorResolvable interceptorResolvable = new InterceptorResolvableBuilder(Object.class, this).setInterceptionType(type) .addQualifiers(interceptorBindings).create(); return interceptorResolver.resolve(interceptorResolvable, isCacheable(interceptorBindings)); }
@Override protected void checkQualifier(Annotation qualifier,final QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) { if (!getMetaAnnotationStore().getInterceptorBindingModel(annotationType).isValid()) { throw BeanManagerLogger.LOG.interceptorResolutionWithNonbindingType(qualifier); } if (qualifierInstances.contains(qualifierInstance)) { throw BeanManagerLogger.LOG.duplicateInterceptorBinding(qualifierInstance); } }
/** * Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed * as a parameter are NOT considered in the resolution process. Therefore, the caller is responsible for filtering of transitive interceptor bindings in * order to comply with interceptor binding inheritance and overriding (See JSR-346 9.5.2). This is a Weld-specific method. * * @param type The interception type to resolve * @param interceptorBindings The binding types to match * @return A list of matching interceptors */ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings) { // We can always cache as this is only ever called by Weld where we avoid non-static inner classes for annotation literals InterceptorResolvable interceptorResolvable = new InterceptorResolvableBuilder(Object.class, this).setInterceptionType(type) .addQualifiers(interceptorBindings).create(); return interceptorResolver.resolve(interceptorResolvable, isCacheable(interceptorBindings)); }
@Override protected void checkQualifier(Annotation qualifier,final QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) { if (!getMetaAnnotationStore().getInterceptorBindingModel(annotationType).isValid()) { throw BeanManagerLogger.LOG.interceptorResolutionWithNonbindingType(qualifier); } if (qualifierInstances.contains(qualifierInstance)) { throw BeanManagerLogger.LOG.duplicateInterceptorBinding(qualifierInstance); } }
/** * Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed * as a parameter are NOT considered in the resolution process. Therefore, the caller is responsible for filtering of transitive interceptor bindings in * order to comply with interceptor binding inheritance and overriding (See JSR-346 9.5.2). This is a Weld-specific method. * * @param type The interception type to resolve * @param interceptorBindings The binding types to match * @return A list of matching interceptors */ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings) { // We can always cache as this is only ever called by Weld where we avoid non-static inner classes for annotation literals InterceptorResolvable interceptorResolvable = new InterceptorResolvableBuilder(Object.class, this).setInterceptionType(type) .addQualifiers(interceptorBindings).create(); return interceptorResolver.resolve(interceptorResolvable, isCacheable(interceptorBindings)); }
@Override protected void checkQualifier(Annotation qualifier,final QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) { if (!getMetaAnnotationStore().getInterceptorBindingModel(annotationType).isValid()) { throw BeanManagerLogger.LOG.interceptorResolutionWithNonbindingType(qualifier); } if (qualifierInstances.contains(qualifierInstance)) { throw BeanManagerLogger.LOG.duplicateInterceptorBinding(qualifierInstance); } }
/** * Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed * as a parameter are NOT considered in the resolution process. Therefore, the caller is responsible for filtering of transitive interceptor bindings in * order to comply with interceptor binding inheritance and overriding (See JSR-346 9.5.2). This is a Weld-specific method. * * @param type The interception type to resolve * @param interceptorBindings The binding types to match * @return A list of matching interceptors */ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings) { // We can always cache as this is only ever called by Weld where we avoid non-static inner classes for annotation literals InterceptorResolvable interceptorResolvable = new InterceptorResolvableBuilder(Object.class, this).setInterceptionType(type) .addQualifiers(interceptorBindings).create(); return interceptorResolver.resolve(interceptorResolvable, isCacheable(interceptorBindings)); }
@Override protected void checkQualifier(Annotation qualifier,final QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) { if (!getMetaAnnotationStore().getInterceptorBindingModel(annotationType).isValid()) { throw BeanManagerLogger.LOG.interceptorResolutionWithNonbindingType(qualifier); } if (qualifierInstances.contains(qualifierInstance)) { throw BeanManagerLogger.LOG.duplicateInterceptorBinding(qualifierInstance); } }
/** * Resolves a list of interceptors based on interception type and interceptor * bindings. Transitive interceptor bindings of the interceptor bindings passed * as a parameter are NOT considered in the resolution process. Therefore, the caller * is responsible for filtering of transitive interceptor bindings in order to comply * with interceptor binding inheritance and overriding (See JSR-346 9.5.2). * This is a Weld-specific method. * * @param type The interception type to resolve * @param interceptorBindings The binding types to match * @return A list of matching interceptors */ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings) { // We can always cache as this is only ever called by Weld where we avoid non-static inner classes for annotation literals InterceptorResolvable interceptorResolvable = new InterceptorResolvableBuilder(Object.class, this) .setInterceptionType(type) .addQualifiers(interceptorBindings) .create(); return interceptorResolver.resolve(interceptorResolvable, isCacheable(interceptorBindings)); }