private String registerBeansForReflection()

in knights/openwebbeans-knight/src/main/java/org/apache/geronimo/arthur/knight/openwebbeans/OpenWebBeansExtension.java [356:382]


    private String registerBeansForReflection(final Context context, final Set<Bean<?>> beans, final Predicate<String> classFilter,
                                              final Collection<javax.enterprise.inject.spi.Interceptor<?>> interceptors) {
        final boolean includeClassResources = Boolean.parseBoolean(context.getProperty("extension.openwebbeans.classes.includeAsResources"));
        return Stream.concat(
                        beans.stream().filter(ManagedBean.class::isInstance).map(Bean::getBeanClass),
                        interceptors.stream().map(Interceptor::getBeanClass))
                .flatMap(this::hierarchy)
                .distinct()
                .map(Class::getName)
                .filter(classFilter)
                .sorted()
                .peek(clazz -> {
                    final ClassReflectionModel model = new ClassReflectionModel();
                    model.setName(clazz);
                    model.setAllDeclaredConstructors(true);
                    model.setAllDeclaredMethods(true);
                    model.setAllDeclaredFields(true);
                    context.register(model);

                    if (includeClassResources) {
                        final ResourceModel resourceModel = new ResourceModel();
                        resourceModel.setPattern(Pattern.quote(clazz.replace('.', '/') + ".class"));
                        context.register(resourceModel);
                    }
                })
                .collect(joining(","));
    }