private Annotation getQualifier(ObserverMethod<?> observerMethod, Class<? extends Annotation> annotationType) { for (Annotation qualifier : observerMethod.getObservedQualifiers()) { if (qualifier.annotationType().equals(annotationType)) { return qualifier; } } return null; }
private Annotation getQualifier(ObserverMethod<?> observerMethod, Class<? extends Annotation> annotationType) { for (Annotation qualifier : observerMethod.getObservedQualifiers()) { if (qualifier.annotationType().equals(annotationType)) { return qualifier; } } return null; }
public FastProcessAnnotatedTypeResolver(Iterable<ObserverMethod<?>> observers) throws UnsupportedObserverMethodException { this.catchAllObservers = new HashSet<>(); this.observers = new LinkedHashMap<ContainerLifecycleEventObserverMethod<?>, Predicate<ClassFileInfo>>(); for (ObserverMethod<?> o : observers) { if (o instanceof ContainerLifecycleEventObserverMethod<?>) { final Set<Annotation> qualifiers = o.getObservedQualifiers(); // only process observer methods with no qualifiers or with @Any if (qualifiers.isEmpty() || (qualifiers.size() == 1 && Any.class.equals(qualifiers.iterator().next().annotationType()))) { process((ContainerLifecycleEventObserverMethod<?>) o, o.getObservedType()); } } } }
public FastProcessAnnotatedTypeResolver(Iterable<ObserverMethod<?>> observers) throws UnsupportedObserverMethodException { this.catchAllObservers = new HashSet<>(); this.observers = new LinkedHashMap<ContainerLifecycleEventObserverMethod<?>, Predicate<ClassFileInfo>>(); for (ObserverMethod<?> o : observers) { if (o instanceof ContainerLifecycleEventObserverMethod<?>) { final Set<Annotation> qualifiers = o.getObservedQualifiers(); // only process observer methods with no qualifiers or with @Any if (qualifiers.isEmpty() || (qualifiers.size() == 1 && Any.class.equals(qualifiers.iterator().next().annotationType()))) { process((ContainerLifecycleEventObserverMethod<?>) o, o.getObservedType()); } } } }
@Override public void registerTransactionSynchronization(final TransactionPhase phase, final ObserverMethod<? super Object> observer, final Object event) throws Exception { Set<Annotation> qualifiers = observer.getObservedQualifiers(); if (qualifiers == null) { qualifiers = Collections.emptySet(); } TransactionalEventNotifier.registerTransactionSynchronization(phase, observer, event, new EventMetadataImpl(observer.getObservedType(), null, qualifiers.toArray(new Annotation[qualifiers.size()]))); }
public <T> void addObserver(ObserverMethod<T> observer) { webBeansContext.getAnnotationManager().checkQualifierConditions(observer.getObservedQualifiers()); Set<ObserverMethod<?>> set = observers.get(observer.getObservedType()); if (set == null) { set = new HashSet<>(); observers.put(observer.getObservedType(), set); } set.add(observer); }
@Test @SpecAssertion(section = PROCESS_OBSERVER_METHOD, id = "dab") public void configuratorInitializedWithOriginalObserverMethod() { ObserverMethod<? super Kiwi> configuredOne = getCurrentManager().resolveObserverMethods(new Kiwi(), Ripe.RipeLiteral.INSTANCE).iterator().next(); ObserverMethod<Kiwi> originalOne = getCurrentManager().getExtension(ProcessObserverMethodObserver.class).getOriginalOM(); assertEquals(configuredOne.getObservedType(), originalOne.getObservedType()); assertEquals(configuredOne.getObservedQualifiers(), originalOne.getObservedQualifiers()); assertEquals(configuredOne.getPriority(), originalOne.getPriority()); }
private <X, T> ObserverMethod<T> createGenericObserverMethod(ObserverMethod<T> originalObserverMethod, GenericIdentifier identifier, AnnotatedMethod<X> method, Bean<?> genericBean, BeanManager beanManager) { Set<Annotation> qualifiers = getQualifiers(beanManager, identifier, originalObserverMethod.getObservedQualifiers()); Set<Annotation> declaringBeanQualifiers = getQualifiers(beanManager, identifier, Collections.<Annotation> emptySet()); return new GenericObserverMethod<T, X>(originalObserverMethod, method, identifier.getConfiguration(), qualifiers, declaringBeanQualifiers, genericBean, beanManager); }
private <X, T> ObserverMethod<T> createGenericObserverMethod(ObserverMethod<T> originalObserverMethod, GenericIdentifier identifier, AnnotatedMethod<X> method, Bean<?> genericBean, BeanManager beanManager) { Set<Annotation> qualifiers = getQualifiers(beanManager, identifier, originalObserverMethod.getObservedQualifiers()); Set<Annotation> declaringBeanQualifiers = getQualifiers(beanManager, identifier, Collections.<Annotation>emptySet()); return new GenericObserverMethod<T, X>(originalObserverMethod, method, identifier.getConfiguration(), qualifiers, declaringBeanQualifiers, genericBean, beanManager); }
@Override public ObserverMethodConfigurator<T> read(ObserverMethod observerMethod) { this.beanClass = observerMethod.getBeanClass(); this.qualifiers.addAll(observerMethod.getObservedQualifiers()); this.observedType = observerMethod.getObservedType(); this.reception = observerMethod.getReception(); this.transactionPhase = observerMethod.getTransactionPhase(); this.priority = observerMethod.getPriority(); this.async = observerMethod.isAsync(); return this; }
@Override boolean test(ObserverMethod<?> observer) { final Bean<?> declaringBean; if (observer instanceof ObserverMethodImpl) { declaringBean = ((ObserverMethodImpl<?, ?>) observer).getDeclaringBean(); } else { declaringBean = null; } return testBda(bda, declaringBean) && testEquals(declaringBeanKind, BeanKind.from(declaringBean)) && testEquals(reception, observer.getReception()) && testEquals(txPhase, observer.getTransactionPhase()) && testContainsIgnoreCase(beanClass, observer.getBeanClass()) && testContainsIgnoreCase(observedType, observer.getObservedType()) && testAnyContains(qualifier, observer.getObservedQualifiers()); }
@Override boolean test(ObserverMethod<?> observer) { final Bean<?> declaringBean; if (observer instanceof ObserverMethodImpl) { declaringBean = ((ObserverMethodImpl<?, ?>) observer).getDeclaringBean(); } else { declaringBean = null; } return testBda(bda, declaringBean) && testEquals(declaringBeanKind, BeanKind.from(declaringBean)) && testEquals(reception, observer.getReception()) && testEquals(txPhase, observer.getTransactionPhase()) && testContainsIgnoreCase(beanClass, observer.getBeanClass()) && testContainsIgnoreCase(observedType, observer.getObservedType()) && testAnyContains(qualifier, observer.getObservedQualifiers()); }
@Override boolean test(ObserverMethod<?> observer) { final Bean<?> declaringBean; if (observer instanceof ObserverMethodImpl) { declaringBean = ((ObserverMethodImpl<?, ?>) observer).getDeclaringBean(); } else { declaringBean = null; } return testBda(bda, declaringBean) && testEquals(declaringBeanKind, BeanKind.from(declaringBean)) && testEquals(reception, observer.getReception()) && testEquals(txPhase, observer.getTransactionPhase()) && testContainsIgnoreCase(beanClass, observer.getBeanClass()) && testContainsIgnoreCase(observedType, observer.getObservedType()) && testAnyContains(qualifier, observer.getObservedQualifiers()); }
@Override boolean test(ObserverMethod<?> observer) { final Bean<?> declaringBean; if (observer instanceof ObserverMethodImpl) { declaringBean = ((ObserverMethodImpl<?, ?>) observer).getDeclaringBean(); } else { declaringBean = null; } return testBda(bda, declaringBean) && testEquals(declaringBeanKind, BeanKind.from(declaringBean)) && testEquals(reception, observer.getReception()) && testEquals(txPhase, observer.getTransactionPhase()) && testContainsIgnoreCase(beanClass, observer.getBeanClass()) && testContainsIgnoreCase(observedType, observer.getObservedType()) && testAnyContains(qualifier, observer.getObservedQualifiers()); }
@Override boolean test(ObserverMethod<?> observer) { final Bean<?> declaringBean; if (observer instanceof ObserverMethodImpl) { declaringBean = ((ObserverMethodImpl<?, ?>) observer).getDeclaringBean(); } else { declaringBean = null; } return testBda(bda, declaringBean) && testEquals(declaringBeanKind, BeanKind.from(declaringBean)) && testEquals(reception, observer.getReception()) && testEquals(txPhase, observer.getTransactionPhase()) && testContainsIgnoreCase(beanClass, observer.getBeanClass()) && testContainsIgnoreCase(observedType, observer.getObservedType()) && testAnyContains(qualifier, observer.getObservedQualifiers()); }
@Override boolean test(ObserverMethod<?> observer) { final Bean<?> declaringBean; if (observer instanceof ObserverMethodImpl) { declaringBean = ((ObserverMethodImpl<?, ?>) observer).getDeclaringBean(); } else { declaringBean = null; } return testBda(bda, declaringBean) && testEquals(declaringBeanKind, BeanKind.from(declaringBean)) && testEquals(reception, observer.getReception()) && testEquals(txPhase, observer.getTransactionPhase()) && testContainsIgnoreCase(beanClass, observer.getBeanClass()) && testContainsIgnoreCase(observedType, observer.getObservedType()) && testAnyContains(qualifier, observer.getObservedQualifiers()); }
@Override public ObserverMethodConfigurator<T> read(final ObserverMethod<T> observerMethod) { checkArgumentNotNull(observerMethod); beanClass(observerMethod.getBeanClass()); observedType(observerMethod.getObservedType()); qualifiers(observerMethod.getObservedQualifiers()); reception(observerMethod.getReception()); transactionPhase(observerMethod.getTransactionPhase()); priority(observerMethod.getPriority()); async(observerMethod.isAsync()); return this; }
@Override public ObserverMethodConfigurator<T> read(final ObserverMethod<T> observerMethod) { checkArgumentNotNull(observerMethod); beanClass(observerMethod.getBeanClass()); observedType(observerMethod.getObservedType()); qualifiers(observerMethod.getObservedQualifiers()); reception(observerMethod.getReception()); transactionPhase(observerMethod.getTransactionPhase()); priority(observerMethod.getPriority()); async(observerMethod.isAsync()); return this; }
@Override public ObserverMethodConfigurator<T> read(final ObserverMethod<T> observerMethod) { checkArgumentNotNull(observerMethod); beanClass(observerMethod.getBeanClass()); observedType(observerMethod.getObservedType()); qualifiers(observerMethod.getObservedQualifiers()); reception(observerMethod.getReception()); transactionPhase(observerMethod.getTransactionPhase()); priority(observerMethod.getPriority()); async(observerMethod.isAsync()); return this; }
@Override public ObserverMethodConfigurator<T> read(final ObserverMethod<T> observerMethod) { checkArgumentNotNull(observerMethod); beanClass(observerMethod.getBeanClass()); observedType(observerMethod.getObservedType()); qualifiers(observerMethod.getObservedQualifiers()); reception(observerMethod.getReception()); transactionPhase(observerMethod.getTransactionPhase()); priority(observerMethod.getPriority()); async(observerMethod.isAsync()); return this; }