@Override protected boolean matches(Resolvable resolvable, DisposalMethod<?, ?> disposer) { return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && rules.matches(disposer.getGenericType(), resolvable.getTypes()) && Beans.containsAllQualifiers(disposer.getRequiredQualifiers(), resolvable.getQualifiers()); }
@Override protected boolean matches(Resolvable resolvable, DisposalMethod<?, ?> disposer) { return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && rules.matches(disposer.getGenericType(), resolvable.getTypes()) && Beans.containsAllQualifiers(disposer.getRequiredQualifiers(), resolvable.getQualifiers()); }
@Override protected boolean matches(Resolvable resolvable, DisposalMethod<?, ?> disposer) { return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && rules.matches(disposer.getGenericType(), resolvable.getTypes()) && Beans.containsAllQualifiers(disposer.getRequiredQualifiers(), resolvable.getQualifiers()); }
@Override protected boolean matches(Resolvable resolvable, DisposalMethod<?, ?> disposer) { return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && rules.matches(disposer.getGenericType(), resolvable.getTypes()) && Beans.containsAllQualifiers(disposer.getRequiredQualifiers(), resolvable.getQualifiers()); }
@Override protected boolean matches(Resolvable resolvable, DisposalMethod<?, ?> disposer) { return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && rules.matches(disposer.getGenericType(), resolvable.getTypes()) && Beans.containsAllQualifiers(disposer.getRequiredQualifiers(), resolvable.getQualifiers()); }
@Override protected boolean matches(Resolvable resolvable, DisposalMethod<?, ?> disposer) { return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && rules.matches(disposer.getGenericType(), resolvable.getTypes()) && Beans.containsAllQualifiers(disposer.getRequiredQualifiers(), resolvable.getQualifiers()); }
@Override protected boolean matches(Resolvable resolvable, Decorator<?> bean) { return rules.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypes()) && Beans.containsAllQualifiers(QualifierInstance.of(bean.getDelegateQualifiers(), getStore()), resolvable.getQualifiers()) && getBeanManager().getEnabled().isDecoratorEnabled(bean.getBeanClass()); }
@Override protected boolean matches(Resolvable resolvable, Decorator<?> bean) { return rules.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypes()) && Beans.containsAllQualifiers(QualifierInstance.of(bean.getDelegateQualifiers(), getStore()), resolvable.getQualifiers()) && getBeanManager().getEnabled().isDecoratorEnabled(bean.getBeanClass()); }
@Override protected boolean matches(Resolvable resolvable, Decorator<?> bean) { return rules.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypes()) && Beans.containsAllQualifiers(QualifierInstance.of(bean.getDelegateQualifiers(), getStore()), resolvable.getQualifiers()) && getBeanManager().getEnabled().isDecoratorEnabled(bean.getBeanClass()); }
@Override protected boolean matches(Resolvable resolvable, Decorator<?> bean) { return rules.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypes()) && Beans.containsAllQualifiers(QualifierInstance.of(bean.getDelegateQualifiers(), getStore()), resolvable.getQualifiers()) && getBeanManager().getEnabled().isDecoratorEnabled(bean.getBeanClass()); }
@Override protected boolean matches(Resolvable resolvable, Decorator<?> bean) { return rules.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypes()) && Beans.containsAllQualifiers(QualifierInstance.of(bean.getDelegateQualifiers(), getStore()), resolvable.getQualifiers()) && getBeanManager().getEnabled().isDecoratorEnabled(bean.getBeanClass()); }
@Override protected boolean matches(Resolvable resolvable, Decorator<?> bean) { return rules.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypes()) && Beans.containsAllQualifiers(QualifierInstance.of(bean.getDelegateQualifiers(), getStore()), resolvable.getQualifiers()) && getBeanManager().getEnabled().isDecoratorEnabled(bean.getBeanClass()); }
@Override protected boolean matches(Resolvable resolvable, T bean) { AssignabilityRules rules = null; if (resolvable.isDelegate()) { rules = DelegateInjectionPointAssignabilityRules.instance(); } else { rules = BeanTypeAssignabilityRules.instance(); } return rules.matches(resolvable.getTypes(), bean.getTypes()) && Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store)); }
@Override protected boolean matches(Resolvable resolvable, T bean) { AssignabilityRules rules = null; if (resolvable.isDelegate()) { rules = DelegateInjectionPointAssignabilityRules.instance(); } else { rules = BeanTypeAssignabilityRules.instance(); } return rules.matches(resolvable.getTypes(), bean.getTypes()) && Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store)); }
@Override protected boolean matches(Resolvable resolvable, T bean) { AssignabilityRules rules = null; if (resolvable.isDelegate()) { rules = DelegateInjectionPointAssignabilityRules.instance(); } else { rules = BeanTypeAssignabilityRules.instance(); } return rules.matches(resolvable.getTypes(), bean.getTypes()) && Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store)); }
@Override protected boolean matches(Resolvable resolvable, T bean) { AssignabilityRules rules = null; if (resolvable.isDelegate()) { rules = DelegateInjectionPointAssignabilityRules.instance(); } else { rules = BeanTypeAssignabilityRules.instance(); } return rules.matches(resolvable.getTypes(), bean.getTypes()) && Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store)); }
@Override protected boolean matches(Resolvable resolvable, T bean) { AssignabilityRules rules = null; if (resolvable.isDelegate()) { rules = DelegateInjectionPointAssignabilityRules.instance(); } else { rules = BeanTypeAssignabilityRules.instance(); } return rules.matches(resolvable.getTypes(), bean.getTypes()) && Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store)); }
@Override protected boolean matches(Resolvable resolvable, T bean) { AssignabilityRules rules = null; if (resolvable.isDelegate()) { rules = DelegateInjectionPointAssignabilityRules.instance(); } else { rules = BeanTypeAssignabilityRules.instance(); } return rules.matches(resolvable.getTypes(), bean.getTypes()) && Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store)); }
@Override protected boolean matches(Resolvable resolvable, ObserverMethod<?> observer) { if (!rules.matches(observer.getObservedType(), resolvable.getTypes())) { return false; } if (!Beans.containsAllQualifiers(QualifierInstance.of(observer.getObservedQualifiers(), metaAnnotationStore), resolvable.getQualifiers())) { return false; } if (observer instanceof ContainerLifecycleEventObserverMethod) { ContainerLifecycleEventObserverMethod<?> lifecycleObserver = (ContainerLifecycleEventObserverMethod<?>) observer; if (resolvable instanceof ProcessAnnotatedTypeEventResolvable && !lifecycleObserver.getRequiredAnnotations().isEmpty()) { // this is a ProcessAnnotatedType observer method with @WithAnnotations and a resolvable for ProcessAnnotatedType ProcessAnnotatedTypeEventResolvable patResolvable = (ProcessAnnotatedTypeEventResolvable) resolvable; return patResolvable.containsRequiredAnnotations(lifecycleObserver.getRequiredAnnotations()); } } else { return !isContainerLifecycleEvent(resolvable); // container lifecycle events are only delivered to extensions } return true; }
@Override protected boolean matches(Resolvable resolvable, ObserverMethod<?> observer) { if (!rules.matches(observer.getObservedType(), resolvable.getTypes())) { return false; } if (!Beans.containsAllQualifiers(QualifierInstance.of(observer.getObservedQualifiers(), metaAnnotationStore), resolvable.getQualifiers())) { return false; } if (observer instanceof ExtensionObserverMethodImpl<?, ?>) { ExtensionObserverMethodImpl<?, ?> extensionObserver = (ExtensionObserverMethodImpl<?, ?>) observer; if (resolvable instanceof ProcessAnnotatedTypeEventResolvable && !extensionObserver.getRequiredAnnotations().isEmpty()) { // this is a ProcessAnnotatedType observer method with @WithAnnotations and a resolvable for ProcessAnnotatedType ProcessAnnotatedTypeEventResolvable patResolvable = (ProcessAnnotatedTypeEventResolvable) resolvable; return patResolvable.containsRequiredAnnotations(extensionObserver.getRequiredAnnotations()); } } else { return !isContainerLifecycleEvent(resolvable); // container lifecycle events are only delivered to extensions } return true; }