/** * Remove all the annotations. * * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { return remove((a) -> true); }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
void processAnnotatedType(@Observes ProcessAnnotatedType<DefaultHystrixConcurrencyStrategy> event) { event.configureAnnotatedType() .filterFields(field -> "managedThreadFactory".equals(field.getJavaMember().getName())) .forEach(field -> { field.remove(annotation -> Resource.class.equals(annotation.annotationType())); field.add(ResourceLiteral.lookup("java:jboss/ee/concurrency/factory/default")); }); }
public void addAnnotatedType(@Observes BeforeBeanDiscovery event, final BeanManager beanManager) { new AddForwardingAnnotatedTypeAction<Boss>() { @Override public String getBaseId() { return BeforeBeanDiscoveryObserver.class.getName(); } @Override public AnnotatedType<Boss> delegate() { return new AnnotatedTypeWrapper<Boss>(beanManager.createAnnotatedType(Boss.class), true); } }.perform(event); //add Baz annotatedType via AnnotatedTypeConfigurator event.addAnnotatedType(Baz.class, BeforeBeanDiscoveryObserver.class.getName() + ":" + Baz.class.getName()) .add(Pro.ProLiteral.INSTANCE) .add(RequestScoped.Literal.INSTANCE) .filterFields(annotatedField -> annotatedField.getJavaMember().getType().equals(Instance.class)).findFirst().get() .add(InjectLiteral.INSTANCE) .add(Pro.ProLiteral.INSTANCE); }
void observesDogPAT(@Observes ProcessAnnotatedType<Dog> event) { annotatedTypesEqual.set(AnnotatedTypes.compareAnnotatedTypes(event.configureAnnotatedType().getAnnotated(), event.getAnnotatedType())); AnnotatedTypeConfigurator<Dog> annotatedTypeConfigurator = event.configureAnnotatedType(); // add @RequestScoped to Dog and @Inject and @Dogs to its Feed field annotatedTypeConfigurator.add(RequestScoped.Literal.INSTANCE) .filterFields(af -> (af.getJavaMember() .getName().equals("feed"))).findFirst().get().add(InjectLiteral.INSTANCE).add(Dogs.DogsLiteral.INSTANCE); // add @Inject to Dog constructor and @Dogs to its param annotatedTypeConfigurator.constructors().iterator().next().add(InjectLiteral.INSTANCE) .filterParams(ap -> ap.getPosition() == 0).findFirst().get().add(Dogs.DogsLiteral.INSTANCE); }
/** * Remove all the annotations. * * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { return remove((a) -> true); }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
void observesDogDependenciesProducerPAT(@Observes ProcessAnnotatedType<DogDependenciesProducer> event) { AnnotatedTypeConfigurator<DogDependenciesProducer> annotatedTypeConfigurator = event.configureAnnotatedType(); // add @Produces and @Created to DogDependenciesProducer.produceFeed getAMConfiguratorByName(annotatedTypeConfigurator, "produceFeed").add(ProducesLiteral.INSTANCE) .add(Dogs.DogsLiteral.INSTANCE); // add @Produces and @Created to DogDependenciesProducer.dogName annotatedTypeConfigurator.filterFields(af -> af.getJavaMember().getName().equals("dogName")).findFirst().get().add(ProducesLiteral.INSTANCE) .add(Dogs.DogsLiteral.INSTANCE); // add @Disposes to DogDependenciesProducer.disposeFeed getAMConfiguratorByName(annotatedTypeConfigurator, "disposeFeed") .filterParams(ap -> ap.getPosition() == 0).findFirst().get().add(DisposesLiteral.INSTANCE).add(Dogs.DogsLiteral.INSTANCE); }
/** * Remove all the annotations. * * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { return remove((a) -> true); }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
public void observeAfterTypeDiscovery(@Observes AfterTypeDiscovery event, BeanManager beanManager) { event.getAlternatives().add(DeltaAlternative.class); event.getInterceptors().add(DeltaInterceptor.class); event.getDecorators().add(DeltaDecorator.class); interceptors = Collections.unmodifiableList(new ArrayList<Class<?>>(event.getInterceptors())); alternatives = Collections.unmodifiableList(new ArrayList<Class<?>>(event.getAlternatives())); decorators = Collections.unmodifiableList(new ArrayList<Class<?>>(event.getDecorators())); event.addAnnotatedType(beanManager.createAnnotatedType(Boss.class), AfterTypeDiscoveryObserver.class.getName()); // Bravo interceptor removed for (Iterator<Class<?>> iterator = event.getInterceptors().iterator(); iterator.hasNext(); ) { if (BravoInterceptor.class.equals(iterator.next())) { iterator.remove(); } } // The order of decorators reverted Collections.reverse(event.getDecorators()); // Remove first alternative - AlphaAlternative event.getAlternatives().remove(0); // add Baz annotatedType via AnnotatedTypeConfigurator event.addAnnotatedType(Baz.class, AfterTypeDiscoveryObserver.class.getName() + ":" + Baz.class.getName()) .add(Pro.ProLiteral.INSTANCE) .add(RequestScoped.Literal.INSTANCE) .filterFields(annotatedField -> annotatedField.getJavaMember().getType().equals(Instance.class)).findFirst().get() .add(InjectLiteral.INSTANCE) .add(Pro.ProLiteral.INSTANCE); }
/** * removes all Annotations * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { remove((e) -> true); return this; }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
/** * removes all Annotations * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { remove((e) -> true); return this; }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
/** * Remove all the annotations. * * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { return remove((a) -> true); }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
/** * Remove all the annotations. * * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { return remove((a) -> true); }
/** * @param predicate Testing the original {@link AnnotatedField} * @return a sequence of {@link AnnotatedFieldConfigurator}s matching the given predicate * @see AnnotatedFieldConfigurator#getAnnotated() */ default Stream<AnnotatedFieldConfigurator<? super T>> filterFields(Predicate<AnnotatedField<? super T>> predicate) { return fields().stream().filter(f -> predicate.test(f.getAnnotated())); }
/** * Remove all the annotations. * * @return self */ default AnnotatedFieldConfigurator<T> removeAll() { return remove((a) -> true); }